pyshark无法在Windows 7(python)上捕获数据包

时间:2016-03-14 10:40:40

标签: python windows networking capture pyshark

我想使用pyshark捕获数据包。 但我无法在Windows 7上捕获数据包。

这是我的python代码

import pyshark
def NetCap():
    print 'capturing...'
    livecapture = pyshark.LiveCapture(interface="eth0", output_file='./test.pcapng')
    livecapture.sniff(packet_count=10)
    print 'end of capture.'
    print livecapture

if __name__ == "__main__":
    NetCap()

这是结果

capturing...
end of capture.
<LiveCapture (0 packets)>

Livecapture是0包。 我不知道是怎么回事。 请帮帮我。

2 个答案:

答案 0 :(得分:2)

windows没有名为eth0的接口。他们使用全名作为以太网适配器以太网。请使用str()命令并尝试解决它。​​

答案 1 :(得分:1)

打开cmd并输入:

tshark -D

这将为您提供以下列表:

C:\WINDOWS\system32>tshark -D
1. \Device\NPF_{BF2D596D-AEB8-4AF3-88A2-FF31441BB262} (VMware Network Adapter VMnet8)
2. \Device\NPF_{7AB58B39-455D-4A40-AA3A-678491E70B27} (Local Area Connection* 4)
3. \Device\NPF_{7FEC3EE6-0676-4E81-8B13-FBD5716BF2BF} (Wi-Fi)
4. \Device\NPF_{10D9C98D-BF03-4CE5-A58C-5A726BC6066A} (Ethernet)
5. \Device\NPF_{45AD9B2A-DB01-4EDE-A922-C2DD6D868568} (VMware Network Adapter VMnet1)
6. \\.\USBPcap1 (USBPcap1)

现在您可以根据需要使用任何接口:

import pyshark
livecapture = pyshark.LiveCapture(interface='\\Device\\NPF_{7FEC3EE6-0676-4E81-8B13-FBD5716BF2BF}, output_file='./test.pcapng')