Jak używać tcpdump do przechwytywania pakietów?

How To Use Tcpdump For Packet Capture Featured Image

Przechwytywanie pakietów to bardzo przydatny sposób analizowania wewnętrznego działania sieci. Dostępnych jest wiele różnych narzędzi opracowanych w tym celu. Jednym z nich jest tcpdump. Oto, jak najlepiej wykorzystać to wspaniałe narzędzie zarówno dla inżynierów sieci, jak i testerów penetracyjnych.

Co to jest tcpdump?

tcpdump to narzędzie do analizy pakietów sieciowych, które zostało opracowane i wydane w 1988 roku przez zespół informatyków pracujących w Lawrence Berkeley Laboratory i należącej do niego grupie Network Research Group. Służy do wyświetlania zawartości pakietów wysyłanych i odbieranych przez komputer. Narzędzie zawiera wiele opcji, dzięki którym przechwytywanie pakietów jest bardziej szczegółowe i skoncentrowane. Niektóre z tych opcji obejmują różne protokoły sieciowe i interfejsy sieciowe.

Instalacja

Wiele dystrybucji Linuksa jest dostarczanych z narzędziem zainstalowanym po wyjęciu z pudełka. Jeśli jednak Twoja preferowana dystrybucja nie, instalacja jest na szczęście szybka i prosta.

Jeśli używasz na przykład Ubuntu lub Debiana, możesz zainstalować go za pomocą apt:

W CentOS to samo robi się za pomocą yum:

A w Arch Linux przy użyciu pacman:

Podstawy

Po zainstalowaniu tcpdump możesz zapoznać się z instrukcją za pomocą -h flaga:

To pokazuje listę flag, których możesz użyć podczas korzystania z narzędzia.

Polecenie pomocnicze Tcpdump

Jeśli chcesz zobaczyć bardziej kompletny i szczegółowy podręcznik, możesz wyświetlić stronę podręcznika (stronę podręcznika) za pomocą man Komenda:

Strona podręcznika Tcpdump

Możesz uruchomić podstawowe przechwytywanie pakietów, wpisując:

Korzystając z samego polecenia i bez określania interfejsu sieciowego, narzędzie wybierze jeden z dostępnych interfejsów w twoim systemie.

Jeśli nie chcesz, aby tcpdump rozwiązywał nazwy hostów, a zamiast tego generował tylko adresy IP, możesz użyć -n flaga:

Jeśli chcesz określić liczbę pakietów, które chcesz przechwycić, użyj -c flaga:

Określanie interfejsu sieciowego

Możesz określić swój wybór interfejsu sieciowego za pomocą -i flaga:

Czytać  Jak zintegrować Kalendarz Google z Gnome Shell

Dwie z najpopularniejszych nazw interfejsów sieciowych w większości systemów to eth0 i wlan0:

Jeśli chcesz przechwytywać dane na wszystkich interfejsach, możesz użyć any opcja:

Tcpdump Dowolne przechwytywanie interfejsów

Określanie portu/zakresu portów

Jeśli chcesz przechwytywać tylko dane korzystające z określonego numeru portu, użyj polecenia:

Załóżmy, że chcesz przechwytywać ruch na eth0 interfejs i dla portu 443 (HTTPS). Wpisz następujące polecenie:

Dodatkowo tcpdump pozwala określić zakres portów:

Określanie hosta lub podsieci

Zdarza się, że będziesz chciał ograniczyć przechwycone pakiety tylko do tych, które zostały wysłane/odebrane z określonego hosta lub podsieci. Na szczęście tcpdump pozwala to zrobić.

Hosta można określić w następującym formacie:

Jako przykład przechwyć ruch na interfejsie eth0 i określ hosta jako 127.0.0.1 (własny adres IP pętli zwrotnej):

Przechwytywanie ruchu hosta Tcpdump

Jeśli chcesz określić podsieć sieciową za pomocą notacji CIDR, możesz użyć następującego formatu:

Na przykład:

Możesz również bezpośrednio określić hosta źródłowego:

I host docelowy:

Specyfikacja szczegółowości

tcpdump pozwala określić szczegółowość przechwytywania pakietów. Jest to bardzo przydatne, gdy nie chcesz być przytłoczony ilością informacji podczas przechwytywania.

Istnieją trzy przyrostowe opcje oznajmiania, flagi -v, -vv oraz -vvv:

Tcpdump Określ szczegółowość

Pierwsza opcja określa najmniejszą szczegółowość, a trzecia najbardziej.

Zapisz zrzut w pliku

Często przydatne jest zapisanie przechwyconych danych do pliku, aby można je było dalej analizować i interpretować.

Odbywa się to za pomocą -w flaga:

Jako przykład możesz zapisać przechwycone dane w pliku o nazwie „capture.txt”:

Częste pytania

1. Pojawił się błąd „Operacja niedozwolona”. Jak to rozwiązać?

Poniżej znajduje się typowy błąd, który użytkownicy mogą otrzymać podczas próby użycia tcpdump:

Operacja Tcpdump niedozwolona błąd

tcpdump wyświetla ten błąd, gdy nie masz niezbędnych uprawnień do przechwytywania pakietów. W większości scenariuszy możesz to rozwiązać za pomocą sudo. Na przykład:

Czytać  Porady i wskazówki dotyczące Bash, aby sprytniej pracować w terminalu

2. Skąd mam wiedzieć, jakie interfejsy sieciowe są dostępne?

tcpdump ma wbudowaną funkcjonalność, która pozwala sprawdzić dostępne interfejsy sieciowe w systemie.

Aby sprawdzić interfejsy, użyj -D flaga:

Czy ten artykuł jest przydatny?