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.
- Časovni žig prejetega paketa
- Ime vmesnika
- Paketni tok
- Ime omrežnega protokola
- Podrobnosti o naslovu IP in vratih
- Zastavice TCP
- Zaporedna številka podatkov v paketu
- Potrdi podatke
- Velikost oken
- 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 zastavice | Vrednost | Opis |
---|---|---|
POGLED | S | Povezava se je začela |
KONEC | F. | Povezava končana |
PUSH | P | Podatki so potisnjeni |
RST | R | Povezava 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 NmcliSe ž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
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 SharmaNaroč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