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 ответ

Вы можете сделать это, запустив службу rpcapd на удаленном компьютере (входит в WinPcap в Windows, обратите внимание, что вы должны использовать нулевую аутентификацию с флагом -n), а затем запустите pyshark с полным URL-адресом удаленной службы:

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

Фильтры всегда можно поставить с pyshark.LiveCapture(bpf_filter='tcp')

РЕДАКТИРОВАТЬ: я добавил класс pyshark.RemoteCapture, который просто ярлык для выше. Вы можете увидеть это в репозитории GitHub

Другие вопросы по тегам