2024-04-25 22:30:11 发布
网友
我知道nmap能够ping扫描并输出一个只有活动IP的列表,但是我正在搜索网络,以确定如何使用CIDR符号列出一个IP是否处于活动状态。(即1.1.1.1/32,如果地址处于活动或非活动状态,则列出)。我也一直在调查netaddr和scapy,但我不知道该怎么做。我正试图使用python脚本来实现这一点。在
谢谢
在Python中最好使用Scapy。您可以轻松地创建ping(ICMP Echo Request)数据包,将其目标设置为CIDR范围,然后“发送”它,这将按顺序发送到该范围内的每个地址:
>>> p = IP(dst="10.0.0.0/30") / ICMP() >>> sr(p,timeout=5) Begin emission: Finished to send 4 packets. **.................. Received 20 packets, got 2 answers, remaining 2 packets (<Results: TCP:0 UDP:0 ICMP:2 Other:0>, <Unanswered: TCP:0 UDP:0 ICMP:2 Other:0>)
获取sr函数的输出(或您选择用于发送数据包的任何方法)由您自己决定。获取地址的另一种方法是使用^{}库,它有一个可以在CIDR网络上迭代的IPv4Network对象。在
sr
IPv4Network
最后,我必须指出Nmap可以接受CIDR格式的目标规范(例如192.168.1.0/24,example.com/26,10.0.0.0/8,等等)
192.168.1.0/24
example.com/26
10.0.0.0/8
看起来有一个名为python-iptools的开源库,它能够从CIDR符号转换成IP范围。在
在Python中最好使用Scapy。您可以轻松地创建ping(ICMP Echo Request)数据包,将其目标设置为CIDR范围,然后“发送”它,这将按顺序发送到该范围内的每个地址:
获取} 库,它有一个可以在CIDR网络上迭代的
sr
函数的输出(或您选择用于发送数据包的任何方法)由您自己决定。获取地址的另一种方法是使用^{IPv4Network
对象。在最后,我必须指出Nmap可以接受CIDR格式的目标规范(例如
192.168.1.0/24
,example.com/26
,10.0.0.0/8
,等等)看起来有一个名为python-iptools的开源库,它能够从CIDR符号转换成IP范围。在
相关问题 更多 >
编程相关推荐