情報収集のドメイン名、IP相互調査
目的
pingコマンドを使用してリクエストを送信し、ICMPプロトコルを使用して直接ターゲットと通信します.ターゲットサイトにDNSパブリックネットワーク解析が存在する限り、ドメイン名に対応するIPアドレスを見つけることができます.
hostは、DNSサーバを指定できる単純で単一ターゲットのドメイン名クエリーツールです.デフォルトでは、/etc/resolv.confファイルのDNSサーバを使用して、指定したドメイン名のA、AAAA、MXレコードをクエリーします.
digは柔軟で、使いやすく、機能が強く、DNSサーバの指定と一括クエリーをサポートするドメイン名クエリーツールです.digはDNSサーバにクエリーをコミットし、クエリー結果を整理して表示します.digデフォルトでは、/etc/resolv.confファイルを使用して、指定したドメイン名のA、NSレコードをクエリーします.
豊富なドメイン名検索ツールです.ダイレクトインタラクティブモード、非インタラクティブモード、デフォルトクエリーAレコード.
ping
host
dig
nslookup
スピード
遅い
一般
速い
最速
せいど
正確、単一
正確、豊富
正確、単一
必ずしも正確で豊かではない
pythonコード
ツールにドメイン名対応のIPアドレスを出力するためには、コマンド実行結果の文字列を分析し、適切な正規モードを見つけ、完全なIPアドレスに一致する必要があります.
Linux shell IP 、 IP 。
, python 。
環境linux +
ツール1. ping
2. host
3. dig
4. nslookup
工具一:PING---簡単乱暴pingコマンドを使用してリクエストを送信し、ICMPプロトコルを使用して直接ターゲットと通信します.ターゲットサイトにDNSパブリックネットワーク解析が存在する限り、ドメイン名に対応するIPアドレスを見つけることができます.
Ping -c 1
# 1:ping
root@kali:~# ping -c 1 baidu.com
PING baidu.com (111.13.101.208) 56(84) bytes of data.
64 bytes from baidu.com (111.13.101.208): icmp_seq=1 ttl=128 time=13.0 ms
--- baidu.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 13.053/13.053/13.053/0.000 ms
# :ping ICMP
root@kali:~# ping imooc.com
PING imooc.com (117.121.101.40) 56(84) bytes of data.
--- imooc.com ping statistics ---
432 packets transmitted, 0 received, 100% packet loss, time 441337ms
# :ping
root@kali:~# ping ajsdlfjasldfj.com
ping: ajsdlfjasldfj.com: Name or service not known
ツール2:hosthostは、DNSサーバを指定できる単純で単一ターゲットのドメイン名クエリーツールです.デフォルトでは、/etc/resolv.confファイルのDNSサーバを使用して、指定したドメイン名のA、AAAA、MXレコードをクエリーします.
Usage: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time] [-R number]
[-m flag] hostname [server]
# :
-a (A、AAAA、MX、SOA )
-t
-W
-s SERVFAIL ,
# ( , 6 )
root@kali:~# host ziroom.com
ziroom.com has address 119.254.76.107
ziroom.com has address 119.254.76.108
ziroom.com has address 119.254.76.106
ziroom.com has address 119.254.83.229
ziroom.com has address 119.254.83.228
Host ziroom.com not found: 2(SERVFAIL)
;; connection timed out; no servers could be reached
# ( SERVFAIL )
root@kali:~# host -s ziroom.com
ziroom.com has address 119.254.76.107
Host ziroom.com not found: 2(SERVFAIL)
;; connection timed out; no servers could be reached
# ( , 3 )
root@kali:~# host -W 1 ziroom.com
ziroom.com has address 119.254.76.107
Host ziroom.com not found: 2(SERVFAIL)
;; connection timed out; no servers could be reached
# , python , host -W 1
ツール3:digdigは柔軟で、使いやすく、機能が強く、DNSサーバの指定と一括クエリーをサポートするドメイン名クエリーツールです.digはDNSサーバにクエリーをコミットし、クエリー結果を整理して表示します.digデフォルトでは、/etc/resolv.confファイルを使用して、指定したドメイン名のA、NSレコードをクエリーします.
#
dig ziroom.com +noadditional +noadflag +nocomments
#
# ziroom.com
# +noadditional
# +noadflag
# +nocomments
#
root@kali:~# dig ziroom.com +noadditional +noadflag +nocomments
; <<>> DiG 9.11.2-5-Debian <<>> ziroom.com +noadditional +noadflag +nocomments
;; global options: +cmd
;ziroom.com. IN A
ziroom.com. 5 IN A 119.254.76.107
ziroom.com. 5 IN A 119.254.83.228
ziroom.com. 5 IN A 119.254.76.106
ziroom.com. 5 IN A 119.254.83.229
ziroom.com. 5 IN A 119.254.76.108
ziroom.com. 5 IN NS dns10.hichina.com.
ziroom.com. 5 IN NS dns9.hichina.com.
;; Query time: 26 msec
;; SERVER: 192.168.158.2#53(192.168.158.2)
;; WHEN: Mon Apr 16 06:06:26 EDT 2018
;; MSG SIZE rcvd: 422
ツール4:nslookup豊富なドメイン名検索ツールです.ダイレクトインタラクティブモード、非インタラクティブモード、デフォルトクエリーAレコード.
#
nslookup -qt A ziroom.com
#
root@kali:~# nslookup -qt ziroom.com
*** Invalid option: qt
Server: 192.168.158.2
Address: 192.168.158.2#53
Non-authoritative answer:
Name: ziroom.com
Address: 119.254.76.107
** server can't find ziroom.com: SERVFAIL
ツールの比較ping
host
dig
nslookup
スピード
遅い
一般
速い
最速
せいど
正確、単一
正確、豊富
正確、単一
必ずしも正確で豊かではない
pythonコード
class WebSite(object):
def GetIpBySite(self, site):
cmd_dig = "dig {0} +noadditional +noadflag +nocomments +nodnssec".format(site)
cmd_host = "host -W 1 -s {0}".format(site)
try:
ans = self.RunCmdByOs(cmd_dig)
if ans:
ans = ans.split('
')[4]
ip = ans.split('\t')
return (ip[5])
except:
pass
def RunCmdByOs(self, cmd):
try:
f = os.popen(cmd)
ans = f.read()
f.close()
return ans
except:
pass
ws = WebSite()
ip = ws.GetIpBySite("ziroom.com")
print(“ziroom.com IP :”ip)
# ziroom.com IP :119.254.76.107
締め括りをつけるツールにドメイン名対応のIPアドレスを出力するためには、コマンド実行結果の文字列を分析し、適切な正規モードを見つけ、完全なIPアドレスに一致する必要があります.