python scapy ARP 数据包的属性是什么意思?例如,
psrc
pdst
hwsrc
hwdst
我正在尝试了解 ARP 欺骗。我认为:
pdst
是 ARP 数据包应该去的地方(目标),psrc
是要在目标的 arp 表中更新的 IP,hwsrc
是psrc
对应的MAC,在目标的arp表中更新hwdst
对我来说是个谜。
我想要做的是告诉网关 192.168.1.254 我的 MAC (aa:aa:aa:aa:aa:aa
) 属于受害者 192.168.1.100。反之亦然,告诉受害者我的 Mac 属于网关。
因此,为了毒害网关,我会这样做:
srp(ARP(pdst=192.168.1.254, psrc=192.168.1.100, hwsrc=aa:aa:aa:aa:aa:aa))
是这样吗?因为它不适合我(python3.6,最新的scapy,kali)。也就是说,我看到网关的 arp 表没有变化。
最佳答案
hwdst
是目标硬件地址。如果您要发送 ARP“who-has”请求,则应将其保留为 0(Scapy 默认情况下会这样做)。该字段用于“is-at”响应。
您的命令 (srp(ARP(pdst=192.168.1.254, psrc=192.168.1.100, hwsrc="aa:aa:aa:aa:aa:aa"))
) 似乎正确并且应该做你想做的事。您是否使用 Wireshark 或 Tcpdump 检查过您发送的数据包是什么样子?
如果您查看ARP page on Wikipedia ,hwsrc
是“发送者硬件地址(SHA)”,psrc
是发送者协议(protocol)地址(SPA),hwdst
是“目标硬件地址(THA)” )”,pdst
是“目标协议(protocol)地址 (TPA)”。
关于python - scapy ARP 属性的含义是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50703738/