2017-01-19 18 views
-1

Хотя это звучит просто, я не могу найти ответ вокруг ..сетевого пакета трафика перечислению с tshark

мне просто нужно перечислить определенные пакеты в определенном PCAP файл (с tshark). например: Сколько пакетов ipv6.ack? Сколько пакетов udp?

и tshark должен напечатать только номер ...

ответ

0

Вы можете использовать -z io,stat,0 вариант, например:

tshark -r capture.pcap -q -z io,stat,0,"udp" 

... однако это будет производить IO статистики таблицы, а не единый номер.

Если у вас есть такие инструменты, как wc, grep и cut доступны для вас, вы можете попробовать один или несколько из следующих решений:

tshark -r capture.pcap -q -z io,stat,0,"udp" | grep "<>" | cut -d ' ' -f 8 
tshark -r capture.pcap -Y "udp" | wc -l 

Если вы на Windows, и вы не имеете какой-либо из эти инструменты, вы можете попробовать обернуть это в пакетный файл, например:

@ECHO OFF 
SETLOCAL 
SETLOCAL ENABLEEXTENSIONS 
SETLOCAL ENABLEDELAYEDEXPANSION 

IF "%1" == "" GOTO :USAGE 
IF "%2" == "" (
    SET TSHARK_CMD=tshark.exe -r %1 -z io,stat,0 
) ELSE (
    SET TSHARK_CMD=tshark.exe -r %1 -z io,stat,0,"%2" 
) 

FOR /F "TOKENS=6 DELIMS= " %%A in ('!TSHARK_CMD! ^| FINDSTR "^<^>"') DO (
    ECHO %%A 
) 
GOTO :END 

:USAGE 
ECHO usage: printframes ^<file^> ^[filter^] 

ENDLOCAL 
:END