python - scapy ARP 属性的含义是什么

标签 python scapy

python scapy ARP 数据包的属性是什么意思?例如,

  • psrc
  • pdst
  • hwsrc
  • hwdst

我正在尝试了解 ARP 欺骗。我认为:

  • pdst 是 ARP 数据包应该去的地方(目标),
  • psrc 是要在目标的 arp 表中更新的 IP,
  • hwsrcpsrc对应的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 Wikipediahwsrc 是“发送者硬件地址(SHA)”,psrc 是发送者协议(protocol)地址(SPA),hwdst 是“目标硬件地址(THA)” )”,pdst 是“目标协议(protocol)地址 (TPA)”。

关于python - scapy ARP 属性的含义是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50703738/

相关文章:

python - 使用 HDF5 和 MPI 使用 1 个进程从 Python 写入/读取大文件

python - 如何检查 scapy 数据包中是否存在层?

python - 为什么我的 Ubuntu 在启动 python 脚本后卡住?

python - 跳过条形图中的零值——Matplotlib

python - 使用 Flask 发送电子邮件

python - 将json dict转换为pandas df中的行

python - 如何使用 Python 在 Gurobi 中进行向量相乘?

python - OSX 连接共享和 Scapy

python - Scapy:如何获取完整的 IP 数据包 header ?

python - 带有自定义选项的 scapy dhcp 请求