1

我们可以使用 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 和更多过滤器)

4

1 回答 1

1

您可以通过在远程计算机上运行 rpcapd 服务(在 Windows 上包含在 WinPcap 中,注意您必须使用带有标志 -n 的空身份验证)然后使用远程服务的完整 URL 运行 pyshark 来做到这一点:

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

过滤器总是可以提供pyshark.LiveCapture(bpf_filter='tcp')

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

于 2014-05-02T10:33:37.283 回答