我们可以使用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和更多的过滤器)
发布于 2014-05-02 18:33:37
为此,您可以在远程计算机上运行rpcapd服务(在Windows上,请注意,您必须使用带有标志-n的空身份验证),然后使用远程服务的完整URL运行pyshark:
pyshark.LiveCapture(interface='rpcapd://[1.2.3.4]:2002/eth2')过滤器可以始终与pyshark.LiveCapture(bpf_filter='tcp')一起提供
编辑:我添加了一个pyshark.RemoteCapture类,这只是上述操作的一个快捷方式。您可以在GitHub repo中看到它
https://stackoverflow.com/questions/23357499
复制相似问题