【问题标题】:pyshark to capture and parse packets in remote serverpyshark 在远程服务器中捕获和解析数据包
【发布时间】:2014-04-29 06:51:31
【问题描述】:

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

【问题讨论】:

    标签: python pyshark


    【解决方案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 repo看到它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2011-04-02
      • 1970-01-01
      相关资源
      最近更新 更多