tcpdump

Sprievodca nástrojom na analýzu sieťového prenosu TCPDUMP

Sprievodca nástrojom na analýzu sieťového prenosu TCPDUMP

Tcpdump je nástroj príkazového riadku sniffujúci sieťové pakety. Najčastejšie sa používa na riešenie problémov so sieťami a testovanie bezpečnostných problémov. Napriek absencii grafického používateľského rozhrania je to najpopulárnejší, najsilnejší a najuniverzálnejší nástroj príkazového riadku.

Je natívny pre Linux, takže väčšina distribúcií Linuxu ho inštaluje ako súčasť štandardného OS. Tcpdump je program prepojený s libpcap, čo je knižnica na zaznamenávanie sieťových datagramov.

Tento článok demystifikuje tcpdump tým, že ukazuje, ako v tejto pomôcke zachytiť, prečítať a analyzovať zachytenú sieťovú prevádzku. Naše porozumenie neskôr použijeme na kontrolu dátových paketov s pokročilými filtrami príznakov TCP.

Inštalácia Tcpdump

Predvolená inštalácia Tcpdump vo vašej distribúcii závisí od možností vybraných počas procesu inštalácie. V prípade vlastnej inštalácie je možné, že balík nie je k dispozícii. Inštaláciu tcpdump môžete skontrolovať pomocou dpkg príkaz s „-s”Možnosť.

ubuntu $ ubuntu: ~ $ dpkg -s tcpdump

Alebo použite príkaz „sudo apt-get install tcpdump“ na inštaláciu tcpdump v systéme Ubuntu Linux.

Zachytávanie paketov v Tcpdump:

Na začatie procesu snímania musíme najskôr nájsť naše pracovné rozhranie pomocou „ifconfig”Príkaz. Alebo môžeme uviesť všetky dostupné rozhrania pomocou tcpdump príkaz s „-D”Možnosť.

ubuntu $ ubuntu: ~ $ tcpdump -D

Na začatie procesu snímania môžete použiť syntax;

tcpdump [-opcie] [výraz]

Napríklad v príkaze nižšie použijeme „-iMožnosť zachytiť premávku naenp0s3“Rozhranie s„-c"Príznak na obmedzenie zachytených paketov a zápis"-w”To a test_capture.pcap spis.

ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -c 20 -w / tmp / test_capture.pcap

Podobne môžete použiť rôzne kombinácie filtrov na izoláciu prenosu podľa vašich požiadaviek. Jedným z takýchto príkladov je zachytenie sieťových údajov opúšťajúcich a prichádzajúcich k hostiteľovi pomocou servera hostiteľ príkaz pre konkrétny prístav. Ďalej som použil „-n"Príznak, ktorý zabráni tcpdump v zachytávaní vyhľadávaní DNS. Tento príznak je veľmi užitočný na nasýtenie prenosu pri riešení problémov so sieťou.

ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -c 20 hostiteľ 10.0.2.15 a dst port 80 -w / tmp / test_capture1.pcap
tcpdump: počúvanie na enp0s3, linkový typ EN10MB (Ethernet), veľkosť záznamu 262144 bajtov
Zachytených 20 paketov
21 paketov prijatých filtrom
0 paketov vyhodených jadrom

Používame „a”Príkaz na zachytenie iba paketov obsahujúcich hostiteľa 10.0.2.15 a cieľový port 80. Podobne možno na uľahčenie úloh pri riešení problémov použiť rôzne ďalšie filtre.

Ak nechcete použiť „-c”Na obmedzenie prenosu signálu, môžete použiť signál prerušenia, t.j.e., Ctrl + C, zastaviť proces izolácie.

Čítanie súborov Tcpdump

Čítanie zachytených súborov tcpdump môže byť veľmi náročné. Tcp štandardne priraďuje názvy IP adresám a portom. Použijeme „-r”, Ak si chcete prečítať náš už zachytený súbor test_capture.pcap uložené v / tmp priečinok. Výstup potrubíme awk príkaz iba na výstup zdrojovej adresy IP a portov a na pripojenie k príkazu hlava zobraziť iba prvých 5 záznamov.

ubuntu $ ubuntu: ~ $ sudo tcpdump -r / tmp / test_capture1.pcap | awk -F „“ 'tlačiť $ 3' | hlava -5
čítanie zo súboru / tmp / test_capture.pcap, linkový typ EN10MB (Ethernet)
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298

Na vyriešenie problémov so sieťou sa však odporúča používať čísla a adresy IP a porty. Rozlíšenie názvu IP zakážeme „-n”Vlajka a názvy portov s“-nn„.

ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -n
tcpdump: podrobný výstup potlačený, na úplné dekódovanie protokolu použite -v alebo -vv
počúvanie na enp0s3, linkový typ EN10MB (Ethernet), veľkosť záznamu 262144 bajtov
20:08:22.146354 IP 10.0.2.15.54080> 172.67.39.148.443: Vlajky [s.], seq 1276027591: 1276027630, potvrdenie 544039114, výhra 63900, dĺžka 39
20:08:22.146745 IP 10.0.2.15.43456> 54.204.39.132.443: Vlajky [s.], seq 3381018839: 3381018885, potvrdenie 543136109, výhra 65535, dĺžka 46
20:08:22.147506 IP 172.67.39.148.443> 10.0.2.15.54080: Vlajky [.], platidlo 39, výhra 65535, dĺžka 0
20:08:22.147510 IP 54.204.39.132.443> 10.0.2.15.43456: Vlajky [.], platba 46, výhra 65535, dĺžka 0
20:08:22.202346 IP 216.58.209.142.443> 10.0.2.15.41050: Vlajky [str.], násl. 502925703: 502925826, žreb 1203118935, výhra 65535, dĺžka 123
20:08:22.202868 IP 10.0.2.15.41050> 216.58.209.142.443: Vlajky [s.], nasl. 1:40, potvrdenie 123, výhra 65535, dĺžka 39

Pochopenie zachyteného výstupu

Tcpdump zachytáva mnoho protokolov, vrátane UDP, TCP, ICMP atď. Nie je ľahké pokryť ich všetky tu. Je však dôležité pochopiť, ako sa informácie zobrazujú a aké parametre obsahujú.

Tcpdump zobrazuje každý paket v rade s časovou známkou a informáciami vzhľadom na protokol. Formát protokolu TCP je spravidla nasledovný:

. > .: , , , , ,

Poďme si vysvetliť jedno zo zachytených paketových polí podľa polí:

20:08:22.146354 IP 10.0.2.15.54080> 172.67.39.148.443: Vlajky [s.], seq 1276027591: 1276027630, potvrdenie 544039114, výhra 63900, dĺžka 39
  • 20:08:22.146354: Časová pečiatka zachyteného paketu
  • IP: Protokol sieťovej vrstvy.
  • 10.0.2.15.54080: Toto pole obsahuje zdrojovú adresu IP a zdrojový port.
  • 172.67.39.148.443: Toto pole predstavuje cieľovú adresu IP a číslo portu.
  • Vlajky [P.] /: Príznaky predstavujú stav pripojenia. V tomto prípade [P.] označuje potvrdzovací paket PUSH. Pole vlajky obsahuje aj niektoré ďalšie hodnoty, ako napríklad:
    1. S: SYN
    2. P: PUSH
    3. [.]: ACK
    4. F: FIN
    5. [S.]: SYN_ACK
    6. R: RST
  • seq 1276027591: 1276027630: Poradové číslo v prvom: posledný formát označuje počet údajov v pakete. Okrem prvého paketu, kde sú čísla v absolútnych číslach, majú nasledujúce pakety relatívne čísla. V tomto prípade tu uvedené čísla znamenajú, že paket obsahuje dátové bajty od 1276027591 do 1276027630.
  • ack 544039114: Číslo potvrdenia zobrazuje ďalšie očakávané poradové číslo údajov.
  • win 63900: Veľkosť okna zobrazuje počet dostupných bajtov v prijatej vyrovnávacej pamäti.
  • dĺžka 39: Dĺžka údajov o užitočnom zaťažení v bajtoch.

Pokročilé filtre

Teraz môžeme použiť niektoré pokročilé možnosti filtrovania hlavičiek na zobrazenie a analýzu iba dátových paketov. V ktoromkoľvek pakete TCP začínajú príznaky TCP od 14. bajtu, takže PSH a ACK sú reprezentované 4. a 5. bitom.

Tieto informácie môžeme použiť zapnutím týchto bitov 00011000 alebo 24 na zobrazenie dátových paketov iba s príznakmi PSH a ACK. Toto číslo odovzdáme tcpdump s filtrom „tcp [13] = 24“, Všimnite si, že index poľa v TCP začína na nule.

Tento balíček odfiltrujeme z nášho text_capture.pcap súbor a použite súbor -A možnosť zobraziť všetky podrobnosti paketu za vás.

Podobne môžete odfiltrovať niektoré ďalšie príznakové pakety pomocou „Tcp [13] = 8“ a „tcp [13] = 2“ iba pre príznaky PSH a SYN atď.

ubuntu $ ubuntu: ~ $ sudo tcpdump -A 'tcp [13] = 24' -r / tmp / test_capture.pcap
čítanie zo súboru / tmp / test_capture.pcap, linkový typ EN10MB (Ethernet)
19:26:17.827902 IP ubuntu.53298> 32.121.122.34.pred n. l.googleusercontent.com.http: Vlajky [P.], seq 4286571276: 4286571363, potvrdenie 252096002, výhra 64240, dĺžka 87: HTTP: GET / HTTP / 1.1
E…:?@[email protected].
… “Zy .2.P… P… GET / HTTP / 1.1
Hostiteľ: kontrola pripojenia.ubuntu.com
Súhlasiť: */*
Pripojenie: zavrieť

Záver

V tomto článku sme vám predstavili niektoré z najdôležitejších tém tcpdump. Tcpdump v kombinácii s výkonom CLI môže byť veľkou pomocou pri riešení problémov so sieťou, automatizácii a správe zabezpečenia. Po preštudovaní a skombinovaní môžu jej filtre a možnosti príkazového riadku veľa prispieť k vašim každodenným úlohám pri riešení problémov a automatizácii a k ​​celkovému pochopeniu siete.

Ako zmeniť veľkosť, farbu a schému ukazovateľa myši a kurzora v systéme Windows 10
Ukazovateľ myši a kurzor vo Windows 10 sú veľmi dôležité aspekty operačného systému. Dá sa to povedať aj pre iné operačné systémy, takže v skutočnosti...
Hry Zadarmo a open source herné motory pre vývoj hier pre Linux
Zadarmo a open source herné motory pre vývoj hier pre Linux
Tento článok sa bude zaoberať zoznamom bezplatných a otvorených herných nástrojov, ktoré možno použiť na vývoj 2D a 3D hier v systéme Linux. Existuje ...
Hry Výukový program Shadow of the Tomb Raider pre Linux
Výukový program Shadow of the Tomb Raider pre Linux
Shadow of the Tomb Raider je dvanásty prírastok do série Tomb Raider - franšíza akčných adventúr vytvorená Eidosom Montrealom. Túto hru prijali kritic...