我正在尝试使用nmap来ping一个域名列表,我正在使用:
nmap -sP -iL /path/to/file/domains
平的工作正常,但在输出的ping域名成功,我得到这样的域名ip:
Host 66.249.92.104 is up (0.55s latency).
有没有办法让输出为域而不是ips?
添加-oG(“可输出输出”)选项。
假设您没有清理输出(即66.249.92.104实际上是您正在探测的主机之一),问题是DNS中没有IP的PTRlogging。 也就是说,nmap不能在输出中显示来自IP – > FQDN的反向映射。
例如,以下是PTRlogging存在时的情况:
$ nmap -sP www.yahoo.com | grep ^Host Warning: Hostname www.yahoo.com resolves to 2 IPs. Using 72.30.2.43. Host ir1.fp.vip.sk1.yahoo.com (72.30.2.43) appears to be up.
我build议像这样的两个步骤(虽然它不是有效的,因为你为每个探针启动一个新的nmap进程,你确实保持你的信息):
$ cat domains www.yahoo.com www.google.com $ cat nmap-keep-names.sh #!/bin/sh for domain in `cat $1` do echo Probing $domain nmap -sP $domain 2> /dev/null \ | grep ^Host done \ | sed '$!N;s/\n/ /' \ | sed 's/Probing //' \ | sed 's/Host.*(\(.*\)) \(.*\)/(\1) \2/' $ ./nmap-keep-names.sh domains www.yahoo.com (72.30.2.43) appears to be up. www.google.com (66.102.7.104) appears to be up.
在nmap运行之前,您只需打印一份说明,详细说明您要探测的主机名。 然后,您可以格式化输出以使用您提供给nmap的信息。
注#1 – 1e100.net是Google拥有的域名。 所以即使PTRlogging存在也不能保证它是你所期望的。)
注#2 – 我在最后做了sed的东西来清理输出。 没有它,没有必要和输出是完全可用的。
使用-R将打开反向名称parsing。