Linux on varustatud paljude võrguutiliitidega, mille vahel valida. tcpdump on üks selline võimas võrgutööriist, mis suudab võrguliiklust jäädvustada ja analüüsida, kui teil on vaja Linuxi võrguvigade tõrkeotsingut.

Tutvume käsuga tcpdump ja uurime, kuidas seda võrguliikluse hõivamiseks kasutada.

Tcpdump installimine Linuxi

tcpdump on tavaliselt eelinstallitud kõik peavoolu Linuxi distributsioonid ja turvalisusel põhinevad alternatiivid. Nii et peaksite saama seda kohe kasutada, sisestades selle tcpdump koos sudo eesliide.

Juhul kui te ei saa käsku tcpdump käivitada ja jääte vahele "tcpdump: käsku ei leitud" tõrge, õpime, kuidas installida tcpdump teie Linuxi masinasse.

Tcpdumpi installimiseks käivitage terminal ja käivitage praegu kasutatavale Linuxi distributsioonile vastav käsk:

Debiani/Ubuntu derivaatide puhul käivitage:

sudo apt-saada installige tcpdump

Peal Arch-põhised süsteemid, jookse:

sudo pacman -S tcpdump

Utiliidi tcpdump installimiseks Fedorasse, CentOS-i ja RHEL-i andke järgmine käsk:

instagram viewer
sudo dnf installida tcpdump

Pange tähele, et kui teil palutakse installida libcap, Trüki sisse Jah või Y kuna see on põhisõltuvus, ilma milleta tcpdump keeldub käivitumast. See peaks installima utiliidi tcpdump ja lahendama vea "käsku ei leitud".

Nüüd, kui tcpdump on teie süsteemi installitud, uurime selle pakutavaid erinevaid valikuid ja funktsioone.

Võrguliikluse hõivamine tcpdumpi abil

tcpdump pakub selle täitmise muutmiseks palju lippe, kuid seda saab käivitada ka eraldiseisva käsuna. Kuid tcpdumpi käivitamine ilma lippude või argumentideta jätaks selle kogu potentsiaali tähelepanuta. Alati on parem kasutada mõningaid lippe, et vajadusel täitmist ja väljundit kohandada.

Sisestage see käsk, et jälgida võrguedastust tcpdump abil:

sudo tcpdump

Nüüd hakkab tcpdump võrgupakette automaatselt püüdma kuni katkestussignaal saadetakse koos Ctrl + Z protsessi käsitsi katkestamiseks. Jäädvustatud pakettide koguarvu piiramiseks kasutage nuppu -c liputage ja tippige selle kõrvale soovitud pakettide limiit:

sudo tcpdump -c 5

Kui te ei saa praegu väljundist aru, peate seda tegema tutvuge tcpdump väljundvorminguga esiteks.

Kontrollige saadaolevaid võrguliideseid rakendusega tcpdump

Vaikimisi hõivab tcpdump liikluse mis tahes saadaolevatest võrguliidestest. Kui teil on kasutusel mitu aktiivset võrguliidest, võiksite määrata võrguliidese, millelt tcpdump pakette püüdma peaks. Et käivitada tcpdump konkreetsel liidesel, peate esmalt tutvuma liidese nimega.

Siin on, kuidas loetleda kõik saadaolevad võrguliidesed tcpdumpiga:

sudo tcpdump -D

Või võite lisada --list-liidesed lipp käsule:

sudo tcpdump --nimekirja-liidesed

Tagastatud väljund sisaldab kõigi aktiivsete võrguliideste loendit, mida tcpdump saab kuulata. Et konfigureerida tcpdump konkreetselt võrguliideselt ülekandeid püüdma, tippige see käsk:

sudo tcpdump -i liidese_id

Või võite lisada --liides lipp käsule:

sudo tcpdump --liidesliidese_id

Nüüd, kui oleme tabanud paar paketti, uurime neid tähelepanelikult ja õpime, kuidas saate väljundit loetavamaks muuta.

Tcpdump filtrite uurimine

tcpdump suudab ühe jooksuga hõivata tohutul hulgal liiklust. Selline teabe üleküllus võib teid konkreetse hosti või võrguprotokolliga seotud probleemide uurimisel või tõrkeotsingul teelt välja viia.

Siin tulevad mängu tcpdump filtrid. Saate lisada käsu tcpdump teatud lipukestega, et filtreerida võrguliiklust ja hõivata konkreetseid pakette. Seejärel saate need paketid salvestada ja neid hiljem analüüsida, et jõuda võrguga seotud probleemide juurteni. Õpime tcpdumpis filtreid kasutama.

Filtreerige paketid kasutatava võrguprotokolli alusel

Konkreetse protokolli kaudu edastatud pakettide filtreerimiseks tippige protokolli nimi käsuga tcpdump ja see püüab kinni ainult määratletud võrguprotokolli kaudu liikuvad paketid.

Näiteks ICMP-põhiste pakettide hõivamiseks peate lihtsalt lisama icmp tcpdump käsu lõpus. Protsess on sama, kui soovite jäädvustada ainult UDP- või TCP-pakette.

sudo tcpdump -c 5 icmp

See käsk tagastab väljundi ainult siis, kui ICMP-protokolli kaudu toimub andmevahetus.

Filtreerige paketid hosti alusel

Saate konfigureerida tcpdump ühe hostiga seotud pakette jäädvustama kasutades peremees parameeter. See on eriti kasulik, kui kõik teie võrgu süsteemid peale ühe töötavad. See filter võimaldab teil teostada sihipärast uurimist ja kiirendab üldist tõrkeotsingu töövoogu, kuna teid ei sega mittevajalikud andmed.

Konkreetse hostiga seotud pakettide hõivamiseks määrake hosti võrguaadress nupuga peremees parameeter:

sudotcpdump-c 5 peremees 192.168.2.1

Sarnaselt võrguprotokolli filtriga tagastab see käsk väljundi ainult siis, kui mõni käimasolev edastus on seotud määratletud hostiga.

Filtreerige paketid aktiivse pordi alusel

tcpdump on varustatud parameetriga, mis võimaldab filtreerida võrguliiklust ja jäädvustada ainult pakette, mis edastatakse kindlasse porti või konkreetsest pordist.

Konkreetsest pordist tulevate pakettide hõivamiseks lisage sadamasse liputage käsule tcpdump ja määrake selle kõrval pordi number. Näiteks mis tahes sissetuleva või väljamineva HTTP-liikluse hõivamiseks määrake port 80:

sudo tcpdump -c 5 port 80

tcpdump kuulab pordi 80 kaudu, oodates HTTP-edastust. Kui see tuvastab võrgus HTTP-paketid, hõivab see need.

Kombineerige filtreid täpsemaks sortimiseks

Eelmistes jaotistes arutati, kuidas saate liiklust pordi, protokolli või hosti alusel filtreerida, aga mis siis, kui tahtsite hõivata liiklust konkreetse hosti ühest pordist, kasutades konkreetset võrku protokoll? Noh, teil on õnne, sest see on võimalik, omistades võimalusele kasutada loogilisi operaatoreid käsuga tcpdump.

Pakettide hõivamiseks üksikult hostilt pordi 443 abil kasutage seda käsku:

sudotcpdump-c 5 peremees 192.168.2.1jasadamasse 443

Kontrollige hõivatud pakettide sisu

Vaikimisi kuvab tcpdump väljundis paketi päised. Kuigi enamikul juhtudel on see enam kui piisav, võite mõnikord soovida või peate jäädvustatud andmetesse sügavamalt uurima. Püütud paketi sisu kontrollimiseks saate edastada teatud parameetrid käsuga tcpdump.

Pakettide sisu saate vaadata järgmiselt.

sudo tcpdump -c 5 -x

See käsk tagastab hõivatud paketi sisu kuueteistkümnendversiooni. Kui soovite vaadata andmeid ASCII-vormingus, saate edastada -A parameeter koos:

sudo tcpdump -A

Salvestage tcpdump väljund faili

Nagu peaaegu iga teine ​​Linuxi käsurea tööriist, saate tcpdumpi loodud väljundi salvestada faili, millele hiljem viidata.

Seda saab teha, lisades -w lipp käsule. Pärast käivitamist salvestab tcpdump jäädvustatud andmed a .pcap faili, mida saab hiljem analüüsida tcpdumpi või muude võrgujälgimise tööriistadega, nagu Wireshark.

Tippige see käsk, et salvestada tcpdump käsu väljund faili:

sudotcpdump-wpüüda.pcap

Et lugeda a .pcap faili, saate kasutada tcpdump koos -r parameeter:

sudotcpdump-rpüüda.pcap

Linuxi tarnimisel on palju võrgutööriistu, mis suudavad lahendada kõik võrguprobleemid, kui see on seotud asjade tarkvaraga. Teadmine, kuidas Linuxis mõnda parimat võrgutööriista kasutada, tuleb kindlasti kasuks, olenemata sellest, kas olete elamiseks võrke haldav süsteemiadministraator või lihtsalt igapäevane Linuxi kasutaja.

Kuna saadaolevate võrgukäskude loendist võib liiga palju aru saada, on siin nimekiri kõige olulisematest Linuxi võrgutööriistadest, mida peaksite teadma.