我们可以使用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和更多的过滤器)
答案 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
中查看