python掃描內網存活主機(scapy與nmap模塊)


題記

        記錄一下,我沒有偷懶,這些天挖中科院漏洞挖的身心俱疲,補天給我sql注入漏洞3分中危,真是氣死人,哎,可能是我描述的太簡單,導致他認為就是小網站,虧啊,我可是爆出來40多個褲子。真是聞者傷心,見者流淚。沒事,我就不信它不給我個高危,他這個平台也太黑了,難通過還給分低。

        這里屬於采用arp掃描,當arp掃描的時候,主機存活返回ack,不存活返回rst,無響應是該主機防火牆屏蔽了這個端口。Arp的缺點是只能掃描本地的主機,但是快速高效。

Python 使用Scapy模塊編寫ARP主機存活掃描

環境:kali,自帶scapy軟件,python2。

#引入sys模塊

import sys

#使用sys模塊用來輸入數據

if len(sys.argv) !=2:

print "Usage:arpPing <IP>\n eg:arpPing 192.168.0.1"

sys.exit(1)

#使用srp()函數掃描輸入ip,如果掃描到返回的包,則會被遍歷,打印出目標MAC地址和IP地址。

from scapy.all import srp,Ether,ARP

ans,unans=srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=sys.argv[1]),timeout=2)

for snd,rcv in ans:

print("Target is alive")

print rcv.sprintf("%Ether.src% - %ARP.psrc%")

        軟件中設置參數:

        掃描結果(也可設為192.168.0.0/24掃描網段):

        無指定掃描ip會顯示下面。

        如果在命令行使用py腳本。

        命令為:python .\掃描內網存活主機(scapy).py 192.168.0.0/24

Python 使用nmap模塊編寫ARP主機存活掃描

import sys

if len(sys.argv) !=2:

print "Usage:arpPing <IP>\n eg:arpPing 192.168.0.1"

sys.exit(1)

#使用nmap模塊掃描,這個庫的核心類為PortScanner,-PR表示使用了ARP,-sn表示測試主機狀態。

import nmap

nm = nmap.PortScanner()

nm.scan(sys.argv[1], arguments='-sn -PR')

for host in nm.all_hosts():

print('---------------------------')

print('Host:%s(%s)'%(host,nm[host].hostname()))

print('State:%s'% nm[host].state())

        如果在命令行使用py腳本。

        命令為:python .\掃描內網存活主機(nmap).py 192.168.0.0/24


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM