Nie jestem pewien dokładnej składni tcpdump... w rzeczywistości zaznaczyłem to pytanie jako ulubione, ponieważ chciałbym wiedzieć! Ale jako alternatywne rozwiązanie możesz spróbować użyć tcpflowzamiast tego. Działa zasadniczo w ten sam sposób, ale drukuje dane wyjściowe ASCII znacznie lepiej; wykluczył nagłówki i drukuje pakiety sekwencyjnie jako przepływ, dzięki czemu łatwiej jest je czytać i śledzić czasami niż tcpdump.
Czasami nie masz innych narzędzi i wystarczy rzucić okiem na ładowność. Oczywiście nie jest dobrze, jeśli potrzebujesz dokładnego ładunku do wstrzyknięcia lub dokładnej analizy.
Odpowiedzi:
Jak sugeruje Josh, tcpflow może wydrukować tylko dane pakietu TCP do pliku lub STDOUT. Możesz potokować tcpdump do tcpflow w następujący sposób:
Aby wyświetlić tylko jedną stronę konwersacji, możesz użyć filtrów dla tcpdump, np
dst port 23
.źródło
tcpflow
jako root?Nie jestem pewien dokładnej składni
tcpdump
... w rzeczywistości zaznaczyłem to pytanie jako ulubione, ponieważ chciałbym wiedzieć! Ale jako alternatywne rozwiązanie możesz spróbować użyćtcpflow
zamiast tego. Działa zasadniczo w ten sam sposób, ale drukuje dane wyjściowe ASCII znacznie lepiej; wykluczył nagłówki i drukuje pakiety sekwencyjnie jako przepływ, dzięki czemu łatwiej jest je czytać i śledzić czasami niżtcpdump
.źródło
Wydaje mi się, że najbardziej eleganckim rozwiązaniem jest porzucenie tcpdump. Żadnych rur jakiegokolwiek rodzaju:
I to wszystko.
źródło
Szybkim i brudnym sposobem na to jest filtrowanie danych wyjściowych przez ciągi:
Czasami nie masz innych narzędzi i wystarczy rzucić okiem na ładowność. Oczywiście nie jest dobrze, jeśli potrzebujesz dokładnego ładunku do wstrzyknięcia lub dokładnej analizy.
źródło
Jeśli potrzebujesz tylko części ASCII, możesz użyć:
tcpdump -s 1500 -A -l -i eth0 '(port 6667) and (length > 74)'|sed 's/\.//g'
lub z ngrep:ngrep -d eth0 -lq . '(port 6667) and (length > 74)' |sed -rn '/^ /s/\.//gp'
źródło
W zeszłym tygodniu miałem ten sam problem - zamiast tego użyłem GUI Wireshark i zrobiłem „ascii do odczytu” dla interesujących pakietów.
Próbowałem (z powodzeniem) zidentyfikować problem z żądaniem HTTP do usługi internetowej i jej odpowiedzią XML.
źródło