Ali poskušate zajeti podatkovne pakete, da bi analizirali promet v vašem 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 obravnavali ukaz tcpdump in nekaj navodil za namestitev in uporabo tcpdump v vašem sistemu Linux.

Kaj je ukaz tcpdump?

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

Sistemski skrbniki lahko z orodjem tcpdump tudi integrirajo cron za avtomatizacijo različnih nalog, kot je zapisovanje dnevnika. Ker so zaradi številnih funkcij dokaj vsestranski, tcpdump deluje kot orodje za odpravljanje težav in tudi kot varnostno orodje.

Kako namestiti tcpdump v Linux

Medtem ko je tcpdump večino časa vnaprej nameščen v vašem sistemu, nekatere distribucije Linuxa niso priložene paketu. Zato boste morda morali ročno namestiti pripomoček v sistem.

instagram viewer

Če v vašem sistemu namestite tcpdump, lahko preverite s pomočjo ki ukaz.

kateri tcpdump

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

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

sudo apt-get namestite tcpdump

Tudi namestitev tcpdump na CentOS je enostavna.

sudo yum namestite tcpdump

O distribucijah na osnovi Arch:

sudo pacman -S tcpdump

Za namestitev v Fedoro:

sudo dnf namestite tcpdump

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

Primeri Tcpdump za zajemanje omrežnih paketov v Linuxu

Zdaj, ko ste uspešno namestili tcpdump na vaš računalnik Linux, je čas za spremljanje nekaterih paketov. Ker tcpdump za izvajanje večine operacij zahteva dovoljenja super uporabnika, boste morali dodati sudo na vaše ukaze.

1. Seznam vseh omrežnih vmesnikov

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

tcpdump -D

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

tcpdump --list-vmesniki

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

Ko dobite seznam omrežnih vmesnikov, je čas, da svoje omrežje nadzirate tako, da zajamete pakete v vašem sistemu. Čeprav lahko določite, kateri vmesnik želite uporabljati, kaj argument ukazi tcpdump za zajem omrežnih paketov s katerim koli aktivnim vmesnikom.

tcpdump --interface kateri koli

Sistem bo prikazal naslednji izhod.

Sorodno: Kaj je model medomrežne povezave odprtih sistemov?

2. Izhodni format tcpdump

Začenši s tretjo vrstico, vsaka vrstica izhoda označuje določen paket, ki ga zajame tcpdump. Evo, kako izgleda izhod posameznega paketa.

17: 00: 25.369138 wlp0s20f3 Out domači sistem IP.40310> kul01s10-in-f46.1e100.net.https: Zastave [P.], seq 196: 568, ack 1, win 309, možnosti [nop, nop, TS val 117964079 ecr 816509256], dolžina 33

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

Rezultat vsebuje naslednje informacije.

  1. Časovni žig prejetega paketa
  2. Ime vmesnika
  3. Pretok paketov
  4. Ime omrežnega protokola
  5. Podrobnosti o naslovu IP in vratih
  6. Zastave TCP
  7. Zaporedna številka podatkov v paketu
  8. Preverjanje podatkov
  9. Velikost okna
  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.

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

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

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

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

Ime zastave Vrednost Opis
SYN S Povezava se je začela
FIN F Povezava končana
POTISNI P Podatki so potisnjeni
RST R Povezava je ponastavljena
ACK . Zahvala

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

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

Naslednje polje vsebuje številko potrditve (ack 1) ali preprosto številko Ack. Paket, zajet v pošiljateljevi napravi, ima kot potrditveno številko 1. Na koncu sprejemnika je številka Ack vrednost naslednjega paketa.

Deveto polje na izhodu ustreza velikosti okna (zmaga 309), kar je število bajtov, ki so na voljo v sprejemnem medpomnilniku. Obstaja več drugih polj, ki sledijo velikosti okna, 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 nadaljuje z zajemanjem omrežnih paketov, dokler ne prenesete prekinitvenega signala. To privzeto vedenje lahko preglasite tako, da prej določite število paketov, ki jih želite zajeti, z uporabo -c zastavo.

tcpdump --interface poljubno -c 10

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

4. Filtriraj pakete na podlagi polj

Ko odpravite težavo, vam velik terminal za izpis besedila na terminalu ne olajša. Tu nastopi funkcija filtriranja v tcpdump. Pakete lahko filtrirate glede na različna polja, vključno z gostiteljem, protokolom, številko vrat in še več.

Če želite zajeti samo pakete TCP, vnesite:

tcpdump --interface poljubno -c 5 tcp

Če želite izhod filtrirati s številko vrat:

tcpdump --interface poljubna vrata -c 5 50

Zgoraj omenjeni ukaz bo pridobil samo pakete, poslane prek določenih vrat.

Če želite dobiti podrobnosti o paketu za določen gostitelj:

tcpdump --interface kateri koli gostitelj -c 5 112.123.13.145

Če želite filtrirati pakete, ki jih je poslal ali prejel določen gostitelj, uporabite src ali dst argument z ukazom.

tcpdump --interface poljubno -c 5 src 112.123.13.145
tcpdump --vmesnik poljubno -c 5 dst 112.123.13.145

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

tcpdump --interface poljubno -c 10 src 112.123.13.145 in vrata 80

Kompleksne izraze lahko združimo skupaj z uporabo oklepaji kot sledi:

tcpdump --interface kateri koli -c 10 "(src 112.123.13.145 ali src 234.231.23.234) in (vrata 45 ali vrata 80)"

5. Oglejte si vsebino paketa

Lahko uporabite -A in -x zastavice z ukazom tcpdump za analizo vsebine omrežnega paketa. The -A zastava pomeni ASCII format in -x označuje šestnajstiški format.

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

tcpdump --interface kateri koli -c 1 -A
tcpdump --interface kateri koli -c 1 -x

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

6. Shranite podatke za zajem v datoteko

Če želite podatke za zajemanje shraniti za referenčne namene, vam je na voljo tcpdump. Samo podaj -w zastavico s privzetim ukazom za zapis izhoda v datoteko, namesto da bi bil prikazan na zaslonu.

tcpdump --interface kateri koli -c 10 -w data.pcap

The .pcap končnica datoteke pomeni zajem paketov podatkov. Zgoraj omenjeni ukaz lahko izdate tudi v podrobnem načinu s pomočjo -v zastavo.

tcpdump --interface kateri koli -c 10 -w data.pcap -v

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

tcpdump -r data.pcap

Omrežne pakete lahko tudi filtrirate iz paketnih podatkov, shranjenih v datoteki.

tcpdump -r data.pcap vrata 80

Spremljanje omrežnega prometa v Linuxu

Če ste prejeli nalogo upravljanja strežnika Linux, je ukaz tcpdump odlično orodje za vključitev v vaš arzenal. Težave, povezane z omrežjem, lahko enostavno odpravite tako, da sproti zajemate pakete, ki se prenašajo v vašem omrežju.

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

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 (37 objavljenih člankov)

Deepesh je mlajši urednik za Linux pri MUO. Na internetu že več kot 3 leta piše informativne vsebine. V prostem času uživa v pisanju, poslušanju glasbe in igranju kitare.

Več od Deepesh Sharme

Naročite se na naše novice

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

Še en korak…!

Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.

.