Kaip naudoti Linux komandą „tcpdump“
Naudodami Linux komandą „tcpdump“ galite analizuoti jūsų tinkle siunčiamus paketus. Šią analizę galima dar labiau optimizuoti pasinaudojant daugybe parinkčių ir filtrų.
Kas yra „Linux tcpdump“?
Norint analizuoti tinklo srautą „Linux“ sistemoje ir galbūt išspręsti tinklo problemas, „tcpdump“ yra puikus pasirinkimas. Ši komandinės eilutės programa yra iš anksto įdiegta beveik visose populiariose Linux distribucijose, pvz., Debian ar Ubuntu, ir perduoda informaciją apie jūsų tinkle siunčiamus ar gaunamus duomenų paketus. Nepaisant savo pavadinimo, Linux tcpdump tinka ne tik TCP paketams, bet taip pat gali analizuoti UDP ir ICMP paketus. Tačiau norint naudoti šią komandą, reikia turėti root teisių.
Kaip veikia komanda „tcpdump“?
„Tcpdump“ atliekama analizė dažniausiai vadinama „sniffingu“. Naudodami „Linux“ komandą „tcpdump“, galite nurodyti tinklo sąsają, kurią programa turi stebėti. Siekiant pritaikyti ir optimizuoti šį procesą, „tcpdump“ siūlo platų filtrų pasirinkimą. Komanda vykdoma iš komandinės eilutės, o gauti analizės rezultatai atitinkamai rodomi ekrane.
Kokia yra „tcpdump“ sintaksė?
Linux komandos „tcpdump“ sintaksė yra labai paprasta ir atrodo taip:
$ tcpdump [Options] [Filter]bashNors parametrų nurodymas nėra privalomas, rekomenduojama tai padaryti, kad „tcpdump“ naudotų tinkamą tinklo sąsają. Be to, filtrų naudojimas nėra privalomas, tačiau labai naudingas. Nenaudojant filtrų, „tcpdump“ analizuoja visus paketus iš visų kompiuterių, 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ų. Svarbiausios iš jų yra:
- -A: Rodo paketo turinį ASCII formatu.
- -c [Kiekis]: tcpdump automatiškai uždaromas, kai išanalizuojamas tam tikras paketų skaičius.
- -D: Naudojant šią parinktį, išvardijami 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: Analizuojami tik tie paketai, kurių paskirties vieta atitinka nurodytą vertę. Tai gali būti kompiuterio vardas, tinklas, prievadas arba prievadų diapazonas.
- host: Filtras užtikrina, kad būtų atsižvelgiama tik į tuos paketus, kurių šaltinis arba paskirties vieta yra konkretus IP adresas arba konkretus kompiuterio vardas.
- net: Šis filtras atsižvelgia tik į tuos paketus, kurių šaltinis arba paskirties vieta yra IP adresas iš nurodyto tinklo diapazono.
- port: Naudokite šį filtrą, kad nurodytumėte konkretų prievadą nuo 0 iki 65535, kuris bus analizuojamas išimtinai.
- prievadų diapazonas: Šis filtras apima prievadų diapazoną nuo 0 iki 65535.
- proto: Šis filtras atsižvelgia 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 konkrečius kriterijus, pvz., kompiuterį, tinklą, prievadą ar prievadų intervalą.
Komandos „tcpdump“ naudojimo pavyzdžiai
Galiausiai parodysime, kaip naudotis „tcpdump“. Pavyzdžiuose naudojame Linux komandą „sudo“.
$ sudo tcpdump -DbashPatikrinkite, kokios tinklo sąsajos yra prieinamos.
$ sudo tcpdump -i wlx14a3c782966bbashAnalizuokite tik sąsają su nurodytu pavadinimu.
$ sudo tcpdump -c 5 -i wlx14a3c782966bbashTai padarius, „tcpdump“ įtrauks tik penkis paketus.