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