scapy - srp 没有将我的数据包发送到正确的网络接口
scapy - srp doesnt send my packet to the correct network interface
我在 windows 10 机器上工作,我正在为我正在做的一些项目使用 scapy。
当我使用嗅探功能从我的以太网接口嗅探数据包时,它按预期工作,但是当我使用 srp1 从同一接口发送数据包时,它通过我的 vEthernet 接口发送我的数据包,而不是通过我的物理以太网接口(因此数据包永远不会到达目的地)。
这是我的 sniff 与 srp1 对比代码:
a = sniff(count = 1, iface = "Ethernet")
p = srp1(pkt, iface = "Ethernet")
正如您在两个调用中看到的那样,我使用了 "Ethernet" 接口名称。
谁能告诉我该怎么做才能通过以太网而不是 vEthernet 发送我的数据包?
如果您打开 Scapy shell 并键入 IFACES
(Windows 仅限 ATM),您将看到确切的接口列表。
然后您可以使用界面对象,而不是名称。 (请参阅 help(IFACES)
了解各种实用函数,例如 IFACES.dev_from_id()
... 以获取它)。
示例:
from scapy.arch.windows import IFACES
a = IFACES.dev_from_id(5)
sr1(IP(dst="www.google.com")/ICMP(), iface=a)
另见
我在 windows 10 机器上工作,我正在为我正在做的一些项目使用 scapy。
当我使用嗅探功能从我的以太网接口嗅探数据包时,它按预期工作,但是当我使用 srp1 从同一接口发送数据包时,它通过我的 vEthernet 接口发送我的数据包,而不是通过我的物理以太网接口(因此数据包永远不会到达目的地)。
这是我的 sniff 与 srp1 对比代码:
a = sniff(count = 1, iface = "Ethernet")
p = srp1(pkt, iface = "Ethernet")
正如您在两个调用中看到的那样,我使用了 "Ethernet" 接口名称。
谁能告诉我该怎么做才能通过以太网而不是 vEthernet 发送我的数据包?
如果您打开 Scapy shell 并键入 IFACES
(Windows 仅限 ATM),您将看到确切的接口列表。
然后您可以使用界面对象,而不是名称。 (请参阅 help(IFACES)
了解各种实用函数,例如 IFACES.dev_from_id()
... 以获取它)。
示例:
from scapy.arch.windows import IFACES
a = IFACES.dev_from_id(5)
sr1(IP(dst="www.google.com")/ICMP(), iface=a)
另见