2013-04-30 15 views
10

Czy istnieje możliwość filtrowania tcpdump (na żywo lub po utworzeniu zrzutu) w oparciu o czas połączenia tcp (czas połączenia)?tcpdump - jak filtrować w oparciu o czas połączenia/czas połączenia tcp

Nagrywam ruch http json rpc. Chcę nagrywać tylko połączenia dłuższe niż powiedzmy 1000 ms.

W wireshark jest narzędzie w Menu-> Statystyki-> Rozmowy (karta TCP) i tam mogę sortować według "czasu trwania". Ale chcę nagrać (lub filtrować) długo żywe połączenia przed (nie w wireshark).

w poleceniach pseudo Chcę zrobić coś takiego:

tcpdump -i eth0 port 80 and connectionTime>1000ms -w data.pcap 

lub po nagraniu:

cat data.pcap | SOMETOOL -connectionTime>1000ms > dataLongConnections.pcap 

SOMETOOL musi dokonać wywozu przefiltrowane dane do formatu, który Wireshark zrozumie. Ponieważ po filtrowaniu chcę analizować te dane w Wireshark.

Jak mogę to zrobić?

+0

Czy wypróbowałeś SplitCap zgodnie z sugestią kauppi? Nie można filtrować czasu trwania sesji za pomocą tcpdump, ponieważ nie jest to filtr stanowy, SplitCap na pierwszy rzut oka wydaje się zapewniać to, czego potrzebujesz, aby zacząć. –

+0

Aby dodać do tego, co powiedział Tom Regner: 'tcpdump' nie śledzi czasu trwania sesji. Powód, dla którego 'Wireshark' może ci pokazać informacje, jest taki, że' Wireshark' sam kontroluje czas trwania sesji, a nie tylko parsuje 'tcpdump'. –

Odpowiedz

1

Musisz wziąć pod uwagę swój ruch na poziomie przepływ zamiast pakietu pakiet poziom.

Jeśli pracowałeś z NetFlow, możesz użyć flow-tools i flow-nfilter do filtrowania przepływów według czasu trwania. Więc możesz convert your pcap to NetFlow, a później filtrować.

Wadą jest to, że na wyjściu dostaje się NetFlow, a nie PCAP. Do budowania niektórych statystyk wystarczy, ale sprawdzanie pakietów - na pewno nie.

Można również zbudować własne narzędzie z libpcap w C (twarda droga) lub scapy w python (prostszy sposób). Ta druga opcja nie powinna być zbyt trudna (pod warunkiem, że pracujesz z pytonem).

2

SplitCap może Ci pomóc. To zajmie PCAP jako osobne wejście i wyjście PCAP dla każdej sesji TCP/UDP. Po podziale można było filtrować z PCAPów wyjściowych interesujące zachowania.

Powiązane problemy