无法在windows中使用scapy捕获本地主机流量

问题描述 投票:0回答:1

我正在尝试在 Windows 计算机上使用 scapy 来嗅探本地主机流量。 到目前为止,我已经尝试过以下方法:

  1. 将过滤器设置为 127.0.0.1 (sniff(count=5, filter=="ip host 127.0.0.1")
  • 没有任何回报
  1. 将 iface 变量设置为环回接口,如 get_windows_if_list() 中所述

似乎没有什么效果。知道我做错了什么或者是否可以从 scapy 做到这一点? Wireshark捕获本地主机似乎没有问题。

    from scapy.all import *
    from scapy.arch.windows import get_windows_if_list
    def process_packet(packet):
        print(packet.summary())

    # interfaces = get_windows_if_list()
    # for interface in interfaces:
    #      print(interface)

    # 'Loopback Pseudo-Interface 1'
    # capture = sniff(count=5, filter="port 61616", prn=process_packet)
    capture_filter = "ip host 127.0.0.1"

    capture = sniff(ifaces="Loopback Pseudo-Interface 1", count=10, 
                    filter=capture_filter, prn=process_packet)

谢谢

scapy
1个回答
0
投票

对于 Windows 10 或更高版本,您需要安装 npcap。这会将环回接口公开为“\Device\NPF_Loopback”。

还要确保以下配置变量设置为 true:

from scapy.all import *

conf.use_pcap = True
conf.use_npcap = True
© www.soinside.com 2019 - 2024. All rights reserved.