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?
wireshark
.Odpowiedzi:
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 any
aby przechwycić dane na wszystkich interfejsach jednocześnie w jednym pliku przechwytywania.źródło
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.
Następnie scaliłbym pliki za pomocą polecenia scalecap z wireshark:
źródło
Aby przechwycić tcpdump na wszystkich interfejsach, użyj
źródło