Kako uporabljati tcpdump in 6 primerov

Kako uporabljati tcpdump in 6 primerov

Ali poskušate zajeti podatkovne pakete za analizo prometa v svojem omrežju? Morda ste skrbnik strežnika, ki je naletel na težavo in želi spremljati prenesene podatke v omrežju. Ne glede na situacijo potrebujete pripomoček tcpdump Linux.





V tem članku bomo podrobno razpravljali o ukazu tcpdump skupaj z nekaterimi vodniki o tem, kako namestiti in uporabljati tcpdump v sistemu Linux.





Kaj je ukaz tcpdump?

Tcpdump je močno orodje za spremljanje omrežja, ki uporabniku omogoča učinkovito filtriranje paketov in prometa v omrežju. Dobite lahko podrobne informacije o TCP/IP in paketih, ki se prenašajo v vašem omrežju. Tcpdump je pripomoček ukazne vrstice, kar pomeni, da ga lahko zaženete na strežnikih Linux brez zaslona.





Sistemski skrbniki lahko pripomoček tcpdump vključijo tudi v cron za avtomatizacijo različnih nalog, kot je beleženje. Ker je zaradi številnih funkcij precej vsestranski, tcpdump deluje kot odpravljanje težav in tudi kot varnostno orodje.

Kako namestiti tcpdump v Linux

Medtem ko boste večinoma našli tcpdump vnaprej nameščen v vašem sistemu, nekatere distribucije Linuxa niso dobavljene s paketom. Zato boste morda morali ročno namestiti pripomoček v sistem.



Ali je v vašem sistemu nameščen tcpdump, lahko preverite s pomočjo ki ukaz.

which tcpdump

Če izhod prikazuje pot imenika ( /usr/bin/tcpdump ), potem je v vašem sistemu nameščen paket. Če pa ne, lahko to preprosto storite z uporabo privzetega upravitelja paketov v vašem sistemu.





Če želite namestiti tcpdump na distribucije, ki temeljijo na Debianu, kot je Ubuntu:

sudo apt-get install tcpdump

Namestitev tcpdump na CentOS je tudi enostavna.





sudo yum install tcpdump

O distribucijah, ki temeljijo na Archu:

sudo pacman -S tcpdump

Če želite namestiti v Fedora:

sudo dnf install tcpdump

Upoštevajte, da paket tcpdump zahteva libcap kot odvisnost, zato jo namestite tudi v sistem.

Tcpdump Primeri za zajem omrežnih paketov v Linuxu

Zdaj, ko ste tcpdump uspešno namestili na vaš računalnik s sistemom Linux, je čas za spremljanje nekaterih paketov. Ker tcpdump za izvedbo večine operacij potrebuje dovoljenja superkorisnika, boste morali dodati sudo na vaše ukaze.

1. Navedite vse omrežne vmesnike

Če želite preveriti, kateri omrežni vmesniki so na voljo za zajem, uporabite -D zastavo z ukazom tcpdump.

tcpdump -D

Mimo --list-vmesniki zastavica kot argument vrne isti izhod.

tcpdump --list-interfaces

Rezultat bo seznam vseh omrežnih vmesnikov, ki so prisotni v vašem sistemu.

Ko dobite seznam omrežnih vmesnikov, je čas za spremljanje vašega omrežja z zajemanjem paketov v vašem sistemu. Čeprav lahko določite, kateri vmesnik želite uporabiti, kaj argument ukaže tcpdump za zajem omrežnih paketov z uporabo katerega koli aktivnega vmesnika.

tcpdump --interface any

Sistem bo prikazal naslednji izhod.

kako prikazati zaslon telefona v računalniku

Povezano: Kaj je model povezovanja odprtih sistemov?

2. Izhodni format tcpdump

Od tretje vrstice vsaka vrstica izhoda označuje določen paket, ki ga je ujel tcpdump. Evo, kako izgleda izhod enega paketa.

17:00:25.369138 wlp0s20f3 Out IP localsystem.40310 > kul01s10-in-f46.1e100.net.https: Flags [P.], seq 196:568, ack 1, win 309, options [nop,nop,TS val 117964079 ecr 816509256], length 33

Upoštevajte, da niso vsi paketi zajeti na ta način, vendar je to splošna oblika, ki ji sledi večina.

Izhod vsebuje naslednje podatke.

  1. Časovni žig prejetega paketa
  2. Ime vmesnika
  3. Paketni tok
  4. Ime omrežnega protokola
  5. Podrobnosti o naslovu IP in vratih
  6. Zastavice TCP
  7. Zaporedna številka podatkov v paketu
  8. Potrdi podatke
  9. Velikost oken
  10. Dolžina paketa

Prvo polje ( 17: 00: 25.369138 ) prikazuje časovni žig, ko je vaš sistem poslal ali prejel paket. Zabeleženi čas je izvlečen iz lokalnega časa vašega sistema.

kako ponastaviti safari na mac

Drugo in tretje polje označujeta uporabljeni vmesnik in tok paketa. V zgornjem delčku, wlp0s20f3 je ime brezžičnega vmesnika in Zunaj je tok paketov.

Četrto polje vsebuje informacije v zvezi z imenom omrežnega protokola. Na splošno boste našli dva protokola- IP in IP6 , kjer IP označuje IPV4, IP6 pa za IPV6.

Naslednje polje vsebuje naslove IP ali ime izvornega in ciljnega sistema. Naslov IP sledi številka vrat.

Šesto polje v izhodu je sestavljeno iz zastavic TCP. V izhodu tcpdump se uporabljajo različne zastavice.

Ime zastaviceVrednostOpis
POGLEDSPovezava se je začela
KONECF.Povezava končana
PUSHPPodatki so potisnjeni
RSTRPovezava je ponastavljena
ALAS.Priznanje

Izhod lahko vsebuje tudi kombinacijo več zastavic TCP. Na primer, ZASTAVA [f.] pomeni paket FIN-ACK.

Če se premaknemo naprej v izhodnem delčku, naslednje polje vsebuje zaporedno številko ( sek 196: 568 ) podatkov v paketu. Prvi paket ima vedno pozitivno celo število, naslednji paketi pa uporabljajo relativno zaporedno številko za izboljšanje pretoka podatkov.

V naslednjem polju je številka potrditve ( ack 1 ) ali preprosto številko Ack. Paket, zajet v pošiljateljevem stroju, ima za potrditveno številko 1. Na koncu sprejemnika je številka Ack vrednost naslednjega paketa.

Deveto polje v izhodu ustreza velikosti okna ( zmaga 309 ), ki je število bajtov, ki so na voljo v sprejemnem medpomnilniku. Velikosti okna sledi več drugih polj, vključno z največjo velikostjo segmenta (MSS).

Zadnje polje ( dolžina 33 ) vsebuje dolžino celotnega paketa, ki ga zajame tcpdump.

3. Omejite število zajetih paketov

Med prvim zagonom ukaza tcpdump boste morda opazili, da sistem še naprej zajema omrežne pakete, dokler ne posredujete signala prekinitve. To privzeto vedenje lahko preglasite tako, da vnaprej določite število paketov, ki jih želite zajeti -c zastavo.

tcpdump --interface any -c 10

Zgoraj omenjeni ukaz bo zajel deset paketov iz katerega koli aktivnega omrežnega vmesnika.

4. Filtrirajte pakete na podlagi polj

Ko odpravljate težave, pridobivanje velikega bloka besedila na terminalu ne olajša. Tu nastopi funkcija filtriranja v tcpdumpu. Pakete lahko filtrirate glede na različna polja, vključno z gostiteljem, protokolom, številko vrat itd.

Če želite zajeti samo pakete TCP, vnesite:

tcpdump --interface any -c 5 tcp

Podobno, če želite izhod filtrirati s številko vrat:

tcpdump --interface any -c 5 port 50

Zgoraj omenjeni ukaz bo pridobil samo pakete, ki se prenašajo skozi navedena vrata.

Če želite dobiti podrobnosti o paketu za določenega gostitelja:

tcpdump --interface any -c 5 host 112.123.13.145

Če želite filtrirati pakete, ki jih pošlje ali sprejme določen gostitelj, uporabite datoteko src ali itd argument z ukazom.

tcpdump --interface any -c 5 src 112.123.13.145
tcpdump --interface any -c 5 dst 112.123.13.145

Uporabite lahko tudi logične operaterje in in ali združiti dva ali več izrazov skupaj. Na primer, da dobite pakete, ki pripadajo izvornemu IP 112.123.13.145 in uporabite vrata 80 :

tcpdump --interface any -c 10 src 112.123.13.145 and port 80

Kompleksne izraze lahko združite z uporabo oklepajih kot sledi:

tcpdump --interface any -c 10 '(src 112.123.13.145 or src 234.231.23.234) and (port 45 or port 80)'

5. Oglejte si vsebino paketa

Uporabite lahko -TO in -x zastavice z ukazom tcpdump za analizo vsebine omrežnega paketa. The -TO zastava pomeni ASCII format in -x označuje šestnajstiško format.

Če si želite ogledati vsebino naslednjega omrežnega paketa, ki ga zajame sistem:

tcpdump --interface any -c 1 -A
tcpdump --interface any -c 1 -x

Povezano: Kaj je izguba paketov in kako odpraviti njen vzrok?

6. Shrani podatke o zajemu v datoteko

Če želite shraniti podatke o zajemu za referenčne namene, vam bo v pomoč tcpdump. Samo podaj -v zastavico s privzetim ukazom za zapis izpisa v datoteko, namesto da bi ga prikazali na zaslonu.

tcpdump --interface any -c 10 -w data.pcap

The .pcap razširitev datoteke pomeni zajem paketov podatkov. Zgoraj omenjeni ukaz lahko izdate tudi v podrobnem načinu z uporabo -v zastavo.

tcpdump --interface any -c 10 -w data.pcap -v

Če želite prebrati a .pcap datoteko z uporabo tcpdump, uporabite datoteko -r zastavo, ki ji sledi pot do datoteke. The -r pomeni Preberite .

kako ugotoviti, če je vaš bluetooth vdrl
tcpdump -r data.pcap

Mrežne pakete lahko tudi filtrirate iz podatkovnih paketov, shranjenih v datoteki.

tcpdump -r data.pcap port 80

Spremljanje omrežnega prometa v Linuxu

Če ste dobili nalogo upravljanja strežnika Linux, je ukaz tcpdump odlično orodje za vključitev v vaš arzenal. Težave, povezane z omrežjem, lahko preprosto odpravite tako, da v realnem času zajamete pakete, poslane v vašem omrežju.

Pred vsem tem pa mora biti vaša naprava povezana z internetom. Za začetnike Linuxa je lahko celo povezovanje z Wi-Fi prek ukazne vrstice nekoliko zahtevno. Če pa uporabljate prava orodja, je to preprosto.

Deliti Deliti Cvrkutati E-naslov Kako se povezati z Wi-Fi prek terminala Linux z Nmcli

Se želite povezati z omrežjem Wi-Fi prek ukazne vrstice Linux? Tukaj je tisto, kar morate vedeti o ukazu nmcli.

Preberite Naprej
Sorodne teme
  • Linux
  • Varnost
  • Mrežna forenzika
O avtorju Deepesh Sharma(79 objavljenih člankov)

Deepesh je mlajši urednik za Linux pri MUO. Piše informacijske vodnike o Linuxu, katerih namen je vsem novincem ponuditi blaženo izkušnjo. Glede filmov nisem prepričan, če pa želite govoriti o tehnologiji, je vaš fant. V prostem času ga lahko berete, poslušate različne glasbene zvrsti ali igrate na kitaro.

Več od Deepesh Sharma

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, če se želite naročiti