“Tcpdump” ir pakešu analizators, ko izmanto tīkla problēmu diagnosticēšanai un analizēšanai. Tas uztver tīkla trafiku, kas iet caur jūsu ierīci, un pārskata to. Rīks “tcpdump” ir spēcīgs rīks tīkla problēmu novēršanai. Tam ir daudz iespēju, kas padara to par universālu komandrindas utilītu tīkla problēmu novēršanai.
Šis ziņojums ir detalizēts ceļvedis par “tcpdump” utilītu, kas ietver tās instalēšanu, kopīgās funkcijas un lietošanu ar dažādām opcijām. Sāksim ar instalēšanu:
Kā instalēt “tcpdump”:
Daudzos izplatījumos “tcpdump” iznāk no kastes, un, lai to pārbaudītu, izmantojiet:
$ kas tcpdump
Ja tas nav atrodams jūsu izplatīšanā, instalējiet to, izmantojot:
$ sudo apt instalējiet tcpdumpIepriekš minētā komanda tiks izmantota Debian balstītiem izplatījumiem, piemēram, Ubuntu un LinuxMint. Redhat un CentOS lietojiet:
$ sudo dnf instalējiet tcpdumpKā tvert paketes ar tcpdump:
Pakešu uztveršanai var izmantot dažādas saskarnes. Lai iegūtu saskarņu sarakstu, izmantojiet:
$ sudo tcpdump -D
Vai vienkārši izmantojiet “any” ar komandu “tcpdump”, lai iegūtu paketes no aktīvā interfeisa. Lai sāktu pakešu tveršanas lietošanu:
$ sudo tcpdump - saskarne jebkura
Iepriekš minētā komanda izseko paketes no visām aktīvajām saskarnēm. Paketes tiks nepārtraukti sagrābtas, līdz lietotājs to pārtrauc (ctrl-c).
Mēs varam arī ierobežot tveramo pakešu skaitu, izmantojot “-c” karodziņu, kas apzīmē “count.”Lai tvertu 3 paketes, izmantojiet:
$ sudo tcpdump -i jebkurš -c3
Iepriekš minētā komanda ir noderīga, lai filtrētu noteiktu paketi. Turklāt, lai novērstu savienojamības problēmas, ir jāaptver tikai dažas sākotnējās paketes.
“tcpdump”Komanda pēc noklusējuma uztver paketes ar IP un portu nosaukumiem, taču, lai attīrītu putru un padarītu izvadi vieglāk saprotamu; vārdus var atspējot, izmantojot “-n" un "-nnOstas opcijai:
$ sudo tcpdump -i jebkurš -c3 -nn
Kā parādīts iepriekš minētajā izvadā, IP un portu nosaukumi ir izņemti.
Kā saprast informāciju par uzņemto pakešu:
Lai uzzinātu vairāk par sagūstītās paketes dažādajiem laukiem, ņemsim TCP paketes piemēru:
Paketei var būt dažādi lauki, bet vispārējie ir parādīti iepriekš. Pirmais lauks “09:48:18.960683,”Apzīmē laiku, kad tiek saņemta pakete. Tālāk nāk IP adreses; pirmais IP [216.58.209. lpp.130] ir avota IP un otrais IP [10.0.2.15.55812] ir galamērķa IP. Tad jūs iegūsiet karogu [P.]; Tālāk ir sniegts tipisko karodziņu saraksts:
Karogs | Tips | Apraksts |
“.” | ACK | Nozīmē apstiprinājumu |
S | SYN | Karodziņš savienojuma sākšanai |
F | FIN | Karogs slēgtam savienojumam |
P | PUSH | Norāda datu sūtīšanu no sūtītāja |
R | RST | Savienojuma atiestatīšana |
Tālāk seko kārtas numurs “185: 255”. Gan klients, gan serveris datu uzturēšanai un uzraudzībai izmanto 32 bitu kārtas numuru.
“ack”Ir karogs; ja tas ir 1, tas nozīmē, ka apstiprinājuma numurs ir derīgs, un uztvērējs sagaida nākamo baitu.
Loga numurs norāda bufera lielumu. “laimēt 65535”Nozīmē datu apjomu, ko var buferēt.
Un beigās nāk garums [70] paketes baitos, kas ir “185: 255”.
Filtrējot paketes, lai novērstu tīkla problēmas:
“Tcpdump” rīks uztver simtiem pakešu, un lielākajai daļai no tām ir mazāka nozīme, tāpēc ir ļoti sarežģīti iegūt vēlamo informāciju traucējummeklēšanai. Šajā gadījumā filtrēšanai būs sava loma. Piemēram, traucējummeklēšanas laikā, ja jūs neinteresē noteikts datplūsmas veids, varat to filtrēt, izmantojot “tcpdump”, kas tiek komplektēts ar pakešu filtrēšanu atbilstoši IP adresēm, portiem un protokoliem.
Kā tvert pakešu, izmantojot resursdatora nosaukumu ar komandu tcpdump:
Lai paketi saņemtu tikai no noteikta resursdatora, izmantojiet:
$ sudo tcpdump -i jebkurš -c4 resursdators 10.0.2.15
Ja vēlaties iegūt tikai vienvirziena datplūsmu, izmantojiet “src" un "dst”Opcijas vietā“saimnieks.”
Kā tvert paketi, izmantojot porta numuru ar komandu tcpdump:
Lai filtrētu paketes ar porta numuru, izmantojiet:
$ sudo tcpdump -i jebkurš -c3 -nn ports 443
“443” ir HTTPS porta numurs.
Kā tvert pakešu, izmantojot protokolu ar komandu tcpdump:
Izmantojot komandu “tcpdump”, jūs varat filtrēt paketes atbilstoši jebkuram protokolam, piemēram, udp, icmp, arp utt. Vienkārši ierakstiet protokola nosaukumu:
$ sudo tcpdump -i jebkurš -c6 udp
Iepriekš minētās komandas uztvers tikai paketes, kas pieder “udp” protokolam.
Kā apvienot filtrēšanas opcijas, izmantojot loģiskos operatorus:
Dažādas filtrēšanas opcijas var apvienot, izmantojot loģiskos operatorus, piemēram, “un / vai”:
$ sudo tcpdump -i jebkurš -c6 -nn resursdators 10.0.2.15 un 443. osta
Kā saglabāt sagūstītos datus:
Paņemtos datus var saglabāt failā, lai tos vēlāk uzraudzītu, un tam tiks izmantota opcija “-w”, un “w” apzīmē “rakstīt”:
$ sudo tcpdump -i jebkurš -c5 -w packetData.pcap
Faila paplašinājums būtu “.pcap ”, kas nozīmē“ pakešu tveršana.Kad tveršana ir pabeigta, fails tiks saglabāts jūsu vietējā diskā. Šo failu nevar atvērt vai lasīt, izmantojot jebkuru teksta redaktora programmu. Lai to izlasītu, izmantojiet-r”Karogs ar“ tcpdump ”:
$ tcpdump -r packetData.pcap
Secinājums:
“Tcpdump” ir vērtīgs un elastīgs rīks tīkla trafika uztveršanai un analīzei, lai novērstu tīkla problēmas. Šīs rokasgrāmatas uzmanības centrā ir iemācīties komandrindas utilītas “tcpdump” pamata un papildu lietošanu. Bet, ja jums tas ir grūti, ir mazāk sarežģīta uz GUI balstīta programma ar nosaukumu “Wireshark”, kas veic gandrīz to pašu darbu, bet ar dažādām papildu funkcijām.