我有一个简单的方法,我在四个子网上使用,以确定哪些注册的IP实际上是活跃的,哪些可以被删除。
最初,我用这个命令遍历域名列表:
sudo nmap -sS -O -v oN $filename $name
$filename是我的IP输出文件, $name是读入的域名。
从这个命令来看,对于所有报告“host down”的IP,我运行这个命令:
sudo nmap -Pn -sS -O -v -oN $filename $name
请注意,这里唯一的区别是我现在假设主机已经启动,只是为了查看返回的内容。
但是,到目前为止我所见过的所有情况下,所有扫描的端口都被过滤,而且由于主机已经启动,所以在第二次扫描之后,我无法validation它是否已经启动运行。
任何其他的想法?
1) 希望你不需要被动地收集这些信息。
你可以用tcpdump,Wireshark,防火墙日志logging等等来监听stream量,随着系统传输数据或者做其他事情,随着时间的推移收集信息。
2) 开关
如果你有整齐的开关,他们可能会告诉你一堆。
3) ARP
防火墙系统可能仍然响应ARP请求,所以你可以让他们自己展示。 你真的只需要知道IP正在使用的权利? 不,如果它会回应任何事情。
也许这会工作…
# arping -I enp0s31f6 192.168.1.1 ARPING 192.168.1.1 from 192.168.1.122 enp0s31f6 Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E] 2.143ms Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E] 2.011ms Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E] 2.006ms Unicast reply from 192.168.1.1 [14:CC:20:D4:F7:8E] 2.090ms ^CSent 4 probes (1 broadcast(s)) Received 4 response(s)
或者更多的组合通过使用nmap或其他东西来尝试连接,然后与wireshark,同时loggingARP答复等…
最后,nmap有Arp模式。 我从来没有尝试过。
https://nmap.org/book/nping-man-arp-mode.html
4) DHCP
如果任何地址是DHCP地址,那么DHCP租约将在上次更新时显示。
如果Nmap报告“host down”,那么您可以很有可能假设没有主机使用该IP地址。 select用于默认主机发现的探测器将获得来自大多数联网系统的响应,并且由于使用作为IP的先决条件的ARP探测器,对于直接连接(相同的networking链路)系统而言甚至更好通过以太网样式的链路进行通信 也就是说,如果不响应ARP请求,则不能有IP地址。
你说:“因为主持人已经开始工作了,所以我没有办法确定这个主持人是否已经到了,”但事实是,这可能还没到。 事实上,如果所有的港口都被过滤掉了,那么这个港口几乎就会被淘汰。 对于所有的意图和目的, 没有任何事情愿意使用IP地址进行通信 ,这是“下”的意思。
最后,如果允许Nmap通过在命令行上提供多个目标规范或通过-iLinput文件选项而不是使用shell循环来单独扫描每个主机,则扫描将会更快。 即使你正在使用背景( & )来启动并行nmap进程,你也无法超越Nmap自适应并行的速度。