Tcpdump na wielu interfejsach

17

Muszę przechwycić ruch na serwerze CentOS 5, który działa jako serwer proxy sieci Web z 2 interfejsami wan i 1 siecią LAN. W celu rozwiązania dziwnego problemu z serwerem proxy chciałbym uchwycić pełną rozmowę. Ponieważ połączenia zewnętrzne są zrównoważone między dwoma interfejsami WAN, zastanawiam się, czy możliwe jest jednoczesne przechwytywanie na wszystkich interfejsach.

Użyłem wcześniej tcpdump, ale dopuszcza on tylko jeden interfejs na raz. Mogę uruchomić 3 równoległe procesy, aby przechwycić na wszystkich interfejsach, ale potem mam 3 różne pliki przechwytywania.

Jak to zrobić w odpowiedni sposób?

Islam Nahidul
źródło
Adam Rushad ma rację. Ty też możesz użyć wireshark.
Ryan Babchishin,

Odpowiedzi:

25

Według strony man tcpdump:

W systemach Linux z jądrem 2.2 lub nowszym do przechwycenia pakietów ze wszystkich interfejsów można użyć argumentu interfejsu „dowolny”. Pamiętaj, że przechwytywanie na dowolnym urządzeniu nie będzie wykonywane w trybie rozwiązanym.

Powinieneś być w stanie uruchomić: tcpdump -i anyaby przechwycić dane na wszystkich interfejsach jednocześnie w jednym pliku przechwytywania.

Adam Rushad
źródło
2
to nie działa, jeśli chcę uchwycić niektóre, ale nie wszystkie interfejsy
Thayne,
9

Sposób, w jaki do tego podejdę, to zrzucenie każdego interfejsu do osobnego pliku, a następnie scalenie ich. Dowolny interfejs obejmuje również ruch lo, który może skazić przechwytywanie.

Pozwala to również na analizę strumieni pakietów na interfejs bez złożonego filtrowania.

Przechwytuję w 3 terminalach lub w tle polecenia &

Flagi -nn wyłączają rozdzielczość dns dla szybkości, -s 0 zapisuje pełny pakiet i -w zapisuje do pliku.

tcpdump -i wan0 -nn -s 0 -w wan0.dump
tcpdump -i wan1 -nn -s 0 -w wan1.dump
tcpdump -i lan0 -nn -s 0 -w lan0.dump

Następnie scaliłbym pliki za pomocą polecenia scalecap z wireshark:

mergecap -w merged.dump wan0.dump wan1.dump lan0.dump
Tim Fletcher
źródło
2

Aby przechwycić tcpdump na wszystkich interfejsach, użyj

tcpdump -i any
Vijay SB
źródło
2
To było już udzielone jako odpowiedź 2 lata temu w odpowiedzi Adama Rushada.
Patrick Mevzek,