You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10下Scapy发送ICMP包报错:无法设置混杂模式如何解决?

解决Windows10下Scapy发送ICMP数据包的NPF驱动混杂模式错误

问题重现

执行以下Scapy代码发送ICMP请求时出现错误:

request_packet = IP(dst="www.google.com")/ICMP(type="echo-request")
send(request_packet)

错误信息:

OSError: \Device\NPF_{5E5248B6-F793-4AAF-BA07-269A904D1D3A}: failed to set hardware filter to promiscuous mode: A device attached to the system is not functioning.

解决方案(Windows10有线网络环境)

  • 以管理员权限运行脚本
    Scapy操作网络接口需要系统管理员权限,右键点击终端/IDE,选择「以管理员身份运行」,再执行你的Python脚本。

  • 重启NPF服务
    打开管理员权限的命令提示符,依次执行以下命令:

    net stop npf
    net start npf
    

    这会重置WinPcap的网络数据包过滤服务,解决临时的驱动异常。

  • 重置有线网卡
    打开「设备管理器」,找到「网络适配器」下的有线网卡,右键选择「禁用」,等待3-5秒后再右键选择「启用」,重置网卡的硬件状态。

  • 修改Scapy代码,指定网卡并关闭混杂模式
    强制指定你的有线网卡,同时关闭混杂模式(不需要监听所有数据包时可以关闭),示例代码:

    from scapy.all import IP, ICMP, send, get_if_list
    
    # 先查看所有可用网卡名称
    print(get_if_list())
    # 替换成你的有线网卡名称,比如"以太网"
    target_iface = "以太网"
    
    request_packet = IP(dst="www.google.com")/ICMP(type="echo-request")
    send(request_packet, iface=target_iface, promisc=False)
    
  • 更新网卡驱动
    打开「设备管理器」,检查有线网卡是否有黄色感叹号,若有则右键选择「更新驱动程序」,选择自动搜索更新,安装适配Windows10的最新网卡驱动。

内容的提问来源于stack exchange,提问作者Serket

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 09:12:54