Python內網掃描之-Scapy庫
Scapy庫
Tips:這個庫不能夠再windows平臺使用
pip3 install scapy
主要使用了ARP,srp,Ether方法
Scapy是數據包製作,處理和分析套件。
僞裝成領域特定語言的Python解釋器。
#!/usr/bin/python3
#coding:utf-8
from scapy.all import srp, Ether, ARP
from time import *
def _otherScan():
IpScan = '192.168.20.1/24'
try:
ans, unans = srp(Ether(dst="FF:FF:FF:FF:FF:FF")/ARP(pdst=IpScan),timeout=2)
except Exception as e:
print(e)
else:
for send, rcv in ans:
ListMACAddr = rcv.sprintf("%Ether.src%---%ARP.psrc%")
print(ListMACAddr)
sleep(10)
_otherScan()
結構思想:
1. 導入Scapy庫中的三個方法(ARP,Ether,srp);
2. 通過函數封裝進行調用;
3. srp是二層傳輸,ARP則是三層傳輸;
4. try中的結構則是進行發送廣播包查找內網IP地址及對應的mac地址;
5. except 判斷是否有錯誤有的話就通過e輸出錯誤
6. 通過else進行循環出內網中的在線主機和mac地址進行