pyshark用于捕获和解析远程服务器中的数据包

时间:2014-04-29 06:51:31

标签: python pyshark

我们可以使用pyshark模块捕获/解析远程服务器中的数据包吗? 发现它在本地界面中工作:

>>> import pyshark
>>> capture = pyshark.LiveCapture(interface='eth2')
>>> capture.sniff(timeout=50)
>>> capture
<LiveCapture (4 packets)>
>>>
>>> capture[3]
<CDP Packet>
>>>
>>> print capture[3]
Packet (Length: 272)
Layer ETH:
        Destination: CDP/VTP/DTP/PAgP/UDLD (01:00:0c:cc:cc:cc)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        Length: 258
        Address: Cisco_36:59:eb (6c:9c:ed:36:59:eb)

远程服务器需要做同样的事情(提供IP和更多的过滤器)

1 个答案:

答案 0 :(得分:1)

您可以通过在远程计算机上运行rpcapd服务(Windows上包含WinPcap,请注意必须使用带有标志-n的空身份验证),然后使用远程服务的完整URL运行pyshark来执行此操作: / p>

pyshark.LiveCapture(interface='rpcapd://[1.2.3.4]:2002/eth2')

始终可以使用pyshark.LiveCapture(bpf_filter='tcp')

提供过滤器

编辑:我添加了一个pyshark.RemoteCapture类,它只是上面的快捷方式。您可以在GitHub repo

中查看