【问题标题】:scapy - srp doesnt send my packet to the correct network interfacescapy - srp 没有将我的数据包发送到正确的网络接口
【发布时间】:2019-11-10 15:30:35
【问题描述】:

我在 Windows 10 机器上工作,我正在为我正在做的一些项目使用 scapy。

当我使用 sniff 功能从我的以太网接口嗅探数据包时,它按预期工作,但是当我使用 srp1 从同一接口发送数据包时,它通过我的 vEthernet 接口而不是通过我的物理以太网接口发送我的数据包(所以数据包永远不会到达目的地)。

这是我的 sniff 与 srp1 的代码:

a = sniff(count = 1, iface = "Ethernet")
p = srp1(pkt, iface = "Ethernet")

正如您在两个调用中看到的那样,我使用“以太网”接口名称。

谁能告诉我该怎么做才能让我的数据包通过以太网而不是 vEthernet 发送?

【问题讨论】:

    标签: python scapy python-netifaces


    【解决方案1】:

    如果您打开 Scapy shell 并输入 IFACES(仅限 Windows ATM),您将看到确切的接口列表。

    然后您可以使用接口对象,而不是名称。 (请参阅help(IFACES) 了解各种 util 函数,例如 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)
    

    另见https://stackoverflow.com/a/55093154/5459467

    【讨论】:

      猜你喜欢
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-24
      • 1970-01-01
      • 1970-01-01
      • 2013-12-09
      • 1970-01-01
      相关资源
      最近更新 更多