【问题标题】:Scapy ICMP echo request (Ping) is not replied while a Ping from the command line gets replies当来自命令行的 Ping 得到回复时,Scapy ICMP 回显请求(Ping)没有得到回复
【发布时间】:2020-03-25 03:45:06
【问题描述】:

我正在使用 Windows 10 的命令行 ping 不在我的 LAN 上的设备。我正在使用 VPN 连接与该设备进行通信。设备会响应我从命令行发送的所有 ping 请求。

但是当我使用 scapy 发送 ICMP 回显请求时,我没有得到任何响应。命令行 ping 和 scapy ping 的唯一区别是后者不填充 ICMP 数据包的 Identifier 和 Sequence 字段(这两个字段的默认值可能都是 0)。

这是我的python代码:

from scapy.all import IP, ICMP, sr1

reply = sr1(IP(dst=dst_ip)/ICMP())

我在关闭 Windows 防火墙的情况下尝试了两个 ping 请求。

可能出了什么问题?如何通过 scapy ping 获得响应?

【问题讨论】:

    标签: python python-3.x scapy


    【解决方案1】:

    Scapy 可能选择了错误的接口/路由。

    我要做的是使用iface 参数运行sr1 并提供明确的接口名称。 Scapy 有 get_if_list() 函数来列出您的网络接口,但在 Windows 上可能会有所不同。看到您使用的是 Windows,您可能必须使用“有意义的名称”,即“网络连接 1”。这是一个有用的链接以防万一:Python netifaces and scapy: Getting meaningful Interface-names and full IP-Adresses-/Netmask-Information

    【讨论】:

    • 非常感谢。似乎 scapy 正在使用以下命令 get_windows_if_list() 寻址窗口
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 2023-01-27
    • 2014-03-01
    • 2012-01-27
    相关资源
    最近更新 更多