tcpdump

Tīkla trafika analīzes utilītas TCPDUMP ceļvedis

Tīkla trafika analīzes utilītas TCPDUMP ceļvedis

Tcpdump ir tīkla pakešu sniffing komandrindas lietderība. To visbiežāk izmanto tīklu problēmu novēršanai un drošības problēmu pārbaudei. Neskatoties uz grafiskā lietotāja interfeisa neesamību, tā ir vispopulārākā, jaudīgākā un daudzpusīgākā komandrindas lietderība.

Tā ir Linux dzimtene tā, ka lielākā daļa Linux izplatīšanas to instalē kā daļu no standarta OS. Tcpdump ir libpcap saskarnes programma, kas ir tīkla datagrammas uztveršanas bibliotēka.

Šis raksts demistificēs tcpdump, parādot, kā šajā utilītā tvert, lasīt un analizēt tverto tīkla trafiku. Vēlāk mēs izmantosim savu izpratni, lai pārbaudītu datu paketes ar uzlabotajiem TCP karodziņu filtriem.

Tcpdump instalēšana

Tcpdump noklusējuma instalēšana jūsu distro ir atkarīga no instalēšanas procesā izvēlētajām opcijām. Pielāgotas instalēšanas gadījumā iespējams, ka pakotne nav pieejama. Jūs varat pārbaudīt tcpdump instalāciju, izmantojot dpkg komandu ar “-s”Opciju.

ubuntu $ ubuntu: ~ $ dpkg -s tcpdump

Vai arī izmantojiet komandu “sudo apt-get install tcpdump”, lai instalētu tcpdump Ubuntu Linux.

Pakešu tveršana Tcpdump:

Lai sāktu uzņemšanas procesu, mums vispirms jāatrod mūsu darba saskarne, izmantojot “ifconfig”Komandu. Vai arī mēs varam uzskaitīt visas pieejamās saskarnes, izmantojot tcpdump komandu ar “-D”Opciju.

ubuntu $ ubuntu: ~ $ tcpdump -D

Lai sāktu tveršanas procesu, varat izmantot sintaksi;

tcpdump [-options] [izteiksme]

Piemēram, zemāk esošajā komandā mēs izmantojam-i”Iespēja uztvert trafiku“enp0s3”Saskarne ar“-c”Karodziņš, lai ierobežotu uzņemtās paketes un ierakstītu“-w”To uz a test_capture.pcap failu.

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

Tāpat varat izmantot dažādas filtru kombinācijas, lai izolētu datplūsmu atbilstoši jūsu prasībām. Viens šāds piemērs ietver tīkla datu tveršanu, atstājot un nonākot resursdatorā, izmantojot saimnieks komandu konkrētam osta. Turklāt esmu izmantojis “-n”Karodziņu, lai tcpdump neuzņemtu DNS uzmeklējumus. Šis karodziņš ir ļoti noderīgs, lai piesātinātu trafiku tīkla traucējummeklēšanas laikā.

ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -c 20 resursdators 10.0.2.15 un dst ports 80 -w / tmp / test_capture1.pcap
tcpdump: klausīšanās enp0s3, saites tipa EN10MB (Ethernet), uztveršanas izmērs 262144 baiti
Tvertas 20 paciņas
Filtrā saņemta 21 paciņa
0 paketes, kuras izmetis kodols

Mēs izmantojamun”Komandu, lai tvertu tikai paketes, kurās ir 10. resursdators.0.2.15 un galamērķa osta 80. Līdzīgi var izmantot dažādus citus filtrus, lai atvieglotu problēmu novēršanu.

Ja nevēlaties izmantot “-c”Karodziņu, lai ierobežotu uztveršanas trafiku, varat izmantot pārtraukuma signālu, t.e., Ctrl + C, lai apturētu izolācijas procesu.

Tcpdump failu lasīšana

Tcpdump uzņemto failu lasīšana var būt daudz pārliecinoša. Pēc noklusējuma TCP piešķir nosaukumus IP adresēm un portiem. Mēs izmantosim-r”Karodziņu, lai lasītu mūsu jau notverto failu test_capture.pcap saglabāts mapē / tmp mapi. Mēs izvadīsim izvadi uz awk komandu izvadīt tikai avota IP adresi un porti un nosūtīt to komandai galva lai parādītu tikai pirmos 5 ierakstus.

ubuntu $ ubuntu: ~ $ sudo tcpdump -r / tmp / test_capture1.pcap | awk -F “” 'print $ 3' | galva -5
lasīšana no faila / tmp / test_capture.pcap, saites tipa EN10MB (Ethernet)
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298

Tomēr tīkla problēmu risināšanai ieteicams izmantot numurus ar IP adresēm un portiem. Mēs atspējosim IP nosaukuma izšķirtspēju ar “-n”Karoga un ostas nosaukumi ar“-nn“.

ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -n
tcpdump: izvērsta izvade ir nomākta, pilna protokola atšifrēšanai izmantojiet -v vai -vv
klausīšanās enp0s3, saites tipa EN10MB (Ethernet), uztveršanas izmērs 262144 baiti
20:08:22.146354 IP 10.0.2.15.54080> 172.67.39.148. lpp.443: Karogi [P.], seq 1276027591: 1276027630, ack 544039114, win 63900, garums 39
20:08:22.146745 IP 10.0.2.15.43456> 54.204.39.132.443: Karogi [P.], seq 3381018839: 3381018885, ack 543136109, win 65535, garums 46
20:08:22.147506 IP 172.67.39.148. lpp.443> 10.0.2.15.54080: Karogi.], ack 39, win 65535, garums 0
20:08:22.147510 IP 54.204.39.132.443> 10.0.2.15.43456: Karogi.], ack 46, win 65535, garums 0
20:08:22.202346 IP 216.58.209. lpp.142.443> 10.0.2.15.41050: Karogi [P.], seq 502925703: 502925826, ack 1203118935, win 65535, garums 123
20:08:22.202868 IP 10.0.2.15.41050> 216.58.209. lpp.142.443: Karogi [P.], turpinājums 1:40, ack 123, win 65535, garums 39

Izpratne par uzņemto rezultātu

Tcpdump uztver daudzus protokolus, tostarp UDP, TCP, ICMP utt. Šeit nav viegli tos visus aplūkot. Tomēr ir svarīgi saprast, kā informācija tiek parādīta un kādus parametrus tā ietver.

Tcpdump katru paketi parāda rindā ar laika zīmogu un informāciju attiecībā uz protokolu. Parasti TCP protokola formāts ir šāds:

. > .: , , , , ,

Paskaidrosim vienu no uzņemtajiem pakešu laukiem pēc laukiem:

20:08:22.146354 IP 10.0.2.15.54080> 172.67.39.148. lpp.443: Karogi [P.], seq 1276027591: 1276027630, ack 544039114, win 63900, garums 39
  • 20:08:22.146354: Uzņemtās paketes laika zīmogs
  • IP: tīkla slāņa protokols.
  • 10.0.2.15.54080: Šajā laukā ir iekļauta avota IP adrese un avota ports.
  • 172.67.39.148. lpp.443: Šis lauks norāda galamērķa IP adresi un porta numuru.
  • Karogi [P.] /: Karodziņi apzīmē savienojuma stāvokli. Šajā gadījumā [P.] norāda PUSH apstiprināšanas paketi. Karoga laukā ir arī dažas citas vērtības, piemēram:
    1. S: SYN
    2. P: SPIED
    3. [.]: ACK
    4. F: FIN
    5. [S.]: SYN_ACK
    6. R: RST
  • seq 1276027591: 1276027630: kārtas numurs pirmajā: pēdējais formāts apzīmē datu skaitu paketē. Izņemot pirmo pakešu, kur skaitļi ir absolūti, nākamajām paketēm ir relatīvie skaitļi. Šajā gadījumā skaitļi šeit nozīmē, ka paketē ir datu baiti no 1276027591 līdz 1276027630.
  • ack 544039114: apstiprinājuma numurs attēlo nākamo paredzamo datu kārtas numuru.
  • win 63900: loga izmērs attēlo pieejamo baitu skaitu saņemtajā buferī.
  • 39. garums: derīgās kravas datu garums baitos.

Papildu filtri

Tagad mēs varam izmantot dažas uzlabotas virsrakstu filtrēšanas opcijas, lai parādītu un analizētu tikai datu paketes. Jebkurā TCP paketē TCP karodziņi sākas no 14. baita tā, ka PSH un ACK attēlo 4. un 5. bits.

Mēs varam izmantot šo informāciju, ieslēdzot šos bitus 00011000 vai 24 lai parādītu datu paketes tikai ar PSH un ACK karodziņiem. Mēs nododam šo numuru tcpdump ar filtru “tcp [13] = 24“, Ņemiet vērā, ka masīva indekss TCP sākas ar nulli.

Mēs filtrēsim šo paketi no mūsu text_capture.pcap failu un izmantojiet -A iespēja parādīt visu pakešu informāciju jums.

Līdzīgi jūs varat filtrēt dažas citas karodziņu paketes, izmantojot “Tcp [13] = 8” un “tcp [13] = 2” tikai PSH un SYN karodziņiem utt.

ubuntu $ ubuntu: ~ $ sudo tcpdump -A 'tcp [13] = 24' -r / tmp / test_capture.pcap
lasīšana no faila / tmp / test_capture.pcap, saites tipa EN10MB (Ethernet)
19:26:17.827902 IP ubuntu.53298> 32.121.122.34.bc.googleusercontent.com.http: Karogi [P.], seq 4286571276: 4286571363, ack 252096002, win 64240, garums 87: HTTP: GET / HTTP / 1.1
E…:?@[email protected].
… "Zy .2.P… P… GET / HTTP / 1.1
Resursdators: savienojamības pārbaude.ubuntu.com
Pieņemt: * / *
Savienojums: aizveriet

Secinājums

Šajā rakstā mēs esam iepazīstinājuši jūs ar dažām vissvarīgākajām tcpdump tēmām. Tcpdump apvienojumā ar CLI spēku var būt liela palīdzība tīkla problēmu novēršanā, automatizācijā un drošības pārvaldībā. Kad tie ir izpētīti un apvienoti, tā filtri un komandrindas opcijas var daudz palīdzēt ikdienas problēmu novēršanas un automatizācijas uzdevumos un vispārējā tīkla izpratnē.

Bezmaksas un atvērtā koda spēļu dzinēji Linux spēļu izstrādei
Šis raksts aptvers bezmaksas un atvērtā koda spēļu motoru sarakstu, kurus var izmantot, lai izstrādātu 2D un 3D spēles Linux. Šādu spēļu dzinēju ir da...
Tomb Raider for Linux apmācība
Tomb Raider ēna ir divpadsmitais papildinājums Tomb Raider sērijai - darbības piedzīvojumu spēļu franšīzei, kuru izveidoja Eidos Montreal. Spēli gan k...
Kā palielināt FPS Linux?
FPS apzīmē Kadri sekundē. FPS uzdevums ir izmērīt kadru ātrumu video atskaņošanā vai spēļu izrādēs. Vienkāršos vārdos nepārtrauktu pilnekrāna attēlu s...