Naudodami Linux komandą „tcpdump“ galite ana­li­zuo­ti jūsų tinkle siun­čia­mus paketus. Šią analizę galima dar labiau op­ti­mi­zuo­ti pa­si­nau­do­jant daugybe parinkčių ir filtrų.

Kas yra „Linux tcpdump“?

Norint ana­li­zuo­ti tinklo srautą „Linux“ sistemoje ir galbūt išspręsti tinklo problemas, „tcpdump“ yra puikus pa­si­rin­ki­mas. Ši ko­man­di­nės eilutės programa yra iš anksto įdiegta beveik visose po­pu­lia­rio­se Linux dist­ri­bu­ci­jo­se, pvz., Debian ar Ubuntu, ir perduoda in­for­ma­ci­ją apie jūsų tinkle siun­čia­mus ar gaunamus duomenų paketus. Nepaisant savo pa­va­di­ni­mo, Linux tcpdump tinka ne tik TCP paketams, bet taip pat gali ana­li­zuo­ti UDP ir ICMP paketus. Tačiau norint naudoti šią komandą, reikia turėti root teisių.

Kaip veikia komanda „tcpdump“?

„Tcpdump“ atliekama analizė daž­niau­siai vadinama „sniffingu“. Naudodami „Linux“ komandą „tcpdump“, galite nurodyti tinklo sąsają, kurią programa turi stebėti. Siekiant pri­tai­ky­ti ir op­ti­mi­zuo­ti šį procesą, „tcpdump“ siūlo platų filtrų pa­si­rin­ki­mą. Komanda vykdoma iš ko­man­di­nės eilutės, o gauti analizės re­zul­ta­tai ati­tin­ka­mai rodomi ekrane.

Kokia yra „tcpdump“ sintaksė?

Linux komandos „tcpdump“ sintaksė yra labai paprasta ir atrodo taip:

$ tcpdump [Options] [Filter]
bash

Nors parametrų nurodymas nėra pri­va­lo­mas, re­ko­men­duo­ja­ma tai padaryti, kad „tcpdump“ naudotų tinkamą tinklo sąsają. Be to, filtrų nau­do­ji­mas nėra pri­va­lo­mas, tačiau labai naudingas. Ne­nau­do­jant filtrų, „tcpdump“ ana­li­zuo­ja visus paketus iš visų kom­piu­te­rių, o tai gali greitai tapti pernelyg sudėtingu ir painiu.

Kokios yra Linux komandos „tcpdump“ parinktys ir filtrai?

„tcpdump“ siūlo daugybę parinkčių ir filtrų. Svar­biau­sios iš jų yra:

  • -A: Rodo paketo turinį ASCII formatu.
  • -c [Kiekis]: tcpdump au­to­ma­tiš­kai uždaromas, kai iš­a­na­li­zuo­ja­mas tam tikras paketų skaičius.
  • -D: Naudojant šią parinktį, iš­var­di­ja­mi visi prieinami sąsajų sąrašai.
  • -i [Sąsaja]: Naudodami šią parinktį, nustatote, kuri sąsaja turi būti įrašoma.
  • -s [Kiekis]: Ši parinktis nustato, kiek baitų turi būti įrašoma viename pakete.

Galite naudoti šiuos „tcpdump“ filtrus:

  • dst: Ana­li­zuo­ja­mi tik tie paketai, kurių pa­skir­ties vieta atitinka nurodytą vertę. Tai gali būti kom­piu­te­rio vardas, tinklas, prievadas arba prievadų dia­pa­zo­nas.
  • host: Filtras užtikrina, kad būtų at­si­žvel­gia­ma tik į tuos paketus, kurių šaltinis arba pa­skir­ties vieta yra konkretus IP adresas arba konkretus kom­piu­te­rio vardas.
  • net: Šis filtras at­si­žvel­gia tik į tuos paketus, kurių šaltinis arba pa­skir­ties vieta yra IP adresas iš nurodyto tinklo diapazono.
  • port: Naudokite šį filtrą, kad nu­ro­dy­tu­mė­te konkretų prievadą nuo 0 iki 65535, kuris bus ana­li­zuo­ja­mas išimtinai.
  • prievadų dia­pa­zo­nas: Šis filtras apima prievadų diapazoną nuo 0 iki 65535.
  • proto: Šis filtras at­si­žvel­gia tik į paketus su konkrečiu tinklo protokolu. Filtras gali turėti šias reikšmes: arp, decnet, ether, fddi, ip, ip6, rarp, tcp, udp arba wlan.
  • src: Paketų analizė pagal konk­re­čius kri­te­ri­jus, pvz., kom­piu­te­rį, tinklą, prievadą ar prievadų intervalą.

Komandos „tcpdump“ naudojimo pa­vyz­džiai

Ga­liau­siai pa­ro­dy­si­me, kaip naudotis „tcpdump“. Pa­vyz­džiuo­se naudojame Linux komandą „sudo“.

$ sudo tcpdump -D
bash

Pa­tik­rin­ki­te, kokios tinklo sąsajos yra pri­ei­na­mos.

$ sudo tcpdump -i wlx14a3c782966b
bash

Ana­li­zuo­ki­te tik sąsają su nurodytu pa­va­di­ni­mu.

$ sudo tcpdump -c 5 -i wlx14a3c782966b
bash

Tai padarius, „tcpdump“ įtrauks tik penkis paketus.

Go to Main Menu