我知道nmap能夠ping通掃描並輸出只有活動IP列表,但我正在將net請參閱如何使用CIDR表示法列出IP是否處於活動狀態。 (例如,如果地址處於活動狀態或非活動狀態,則爲1.1.1.1/32列表)。我也一直在研究netaddr和scapy,但我不明白我將如何完成這項工作。我正在嘗試使用python腳本來做到這一點。我如何使用nmap列出子網中的地址是否使用Python
感謝
我知道nmap能夠ping通掃描並輸出只有活動IP列表,但我正在將net請參閱如何使用CIDR表示法列出IP是否處於活動狀態。 (例如,如果地址處於活動狀態或非活動狀態,則爲1.1.1.1/32列表)。我也一直在研究netaddr和scapy,但我不明白我將如何完成這項工作。我正在嘗試使用python腳本來做到這一點。我如何使用nmap列出子網中的地址是否使用Python
感謝
它看起來像有一個名爲python-iptools它必須從CIDR標記轉換爲IP範圍的能力的開源庫。
在Python中這樣做的最好方法是使用Scapy。您可以輕鬆創建一個ping(ICMP迴應請求)數據包,設置其目的地爲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
函數(或者您選擇用來發送數據包的任何方法)。獲取地址(讓數據包生成由您決定)的另一種方法是使用ipaddr
庫,該庫有一個可以遍歷CIDR網絡的IPv4Network
對象。
最後,我不得不指出的Nmap可以CIDR格式接受目標規格(例如192.168.1.0/24
,example.com/26
,10.0.0.0/8
等)
這是爲什麼下蟒蛇? – ATOzTOA 2013-03-26 16:03:29
我想使用python編寫腳本。 – user2212323 2013-03-26 17:11:10
您是否試圖確定主機是否還活着,或者它是否在某些端口上偵聽?你想隱身嗎?這只是一個探索性練習嗎?給我一個簡潔的答案有太多的變數。 – dicato 2013-03-26 17:55:52