gpt4 book ai didi

python - 发送没有接口(interface) IP 错误的 scapy IP 数据包

转载 作者:太空宇宙 更新时间:2023-11-03 11:02:06 24 4
gpt4 key购买 nike

我目前正在尝试使用 send(pkt, iface="eth0") 函数将 IP 数据包发送到接口(interface),但出现错误:

WARNING: Mac address to reach destination not found. Using broadcast

我尝试发送的接口(interface)没有 IP 地址,这是我希望的方式。如果它有所作为,接口(interface)就是一个桥梁(用 brctl 创建)

IP 数据包中有主机的 ARP 条目,但似乎 scapy 没有执行从 ARP 表中获取 MAC 所需的查找...

想法?!

最佳答案

我会说这是正常的,因为发出有效的 ARP 请求需要一个 IP 地址(并​​且 Scapy 维护自己的 ARP 表,独立于操作系统)。

您可以自己设置目标地址:srp(Ether(dst="[MAC address]")/[...])。如果您需要先获取 MAC 地址,请以同样的方式创建并发送 ARP 请求。

要查询 Scapy 的 ARP 表,访问元素 conf.netcache.arp_cache,它是 Scapy 特定的 dict 子类(称为 CacheInstance ).

例如,为您的主机添加一个条目(然后使用 sr([...]) 而不是 srp(Ether(dst="[MAC address])/[...])), 使用:

conf.netcache.arp_cache['[IP address]'] = '[MAC address]'

关于python - 发送没有接口(interface) IP 错误的 scapy IP 数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30194872/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com