使用scapy做掃描器的一些技巧
有些時候nmap的掃描很嘈雜會觸發主機或者網絡的IPS警報。那么在進行掃描的時候一個可行的選項是使用ARP Ping。下面讓我們來看下在一個C段下使用命令nmap -PR 192.168.0.0/24進行ARP Ping掃描的時的數據包分布情況。
沒有很多ARP的數據包,對吧?當namp進行端口掃描時也是這樣。如果我們想進行靜默掃描,我們可以利用默認網關的一些功能,每時每刻向所有ARP表中所有存活的主機發送ARP請求。下面我們來看個例子:
同樣的,我們可以使用scapy發送相同的數據包,代碼如下:
我們當前網絡上總共有6個存活主機,但是只收到了2個應答,哪里出錯了?原來我們發送的不是一個完整的ARP數據包。為了模仿網關發出的ARP數據包,我們先來回顧下ARP數據包頭部結構:
我們僅僅只設置了目標地址而沒有設置其他所有的字段。那么我們需要設置哪些字段呢?
1.opcode:置為1(請求包)
2.hardware type:置為1(以太網)
3.protocol type:置為0x0800(IP)
下面我們再來重新試下:
這種掃描還是相對比較安靜的,我們來看下數據包分布:
Scapy還是相當強大的,如果你在滲透測試中有些特殊需要的功能,都可以像這里一樣使用相關庫自己動手寫一個小工具。