Kaip naudoti „tcpdump“ ir 6 pavyzdžiai

Kaip naudoti „tcpdump“ ir 6 pavyzdžiai

Ar bandote surinkti duomenų paketus, kad analizuotumėte srautą savo tinkle? Galbūt esate serverio administratorius, susidūręs su problema ir norite stebėti perduotus duomenis tinkle. Kad ir kokia būtų situacija, „tcpdump Linux“ programa yra tai, ko jums reikia.





Šiame straipsnyje mes išsamiai aptarsime komandą „tcpdump“ ir kai kuriuos vadovus, kaip įdiegti ir naudoti „tcpdump“ „Linux“ sistemoje.





Kas yra tcpdump komanda?

Tcpdump yra galingas tinklo stebėjimo įrankis, leidžiantis vartotojui efektyviai filtruoti paketus ir srautą tinkle. Galite gauti išsamios informacijos, susijusios su TCP/IP ir jūsų tinkle perduodamais paketais. „Tcpdump“ yra komandų eilutės įrankis, o tai reiškia, kad galite jį paleisti „Linux“ serveriuose be ekrano.





Sistemos administratoriai taip pat gali integruoti „tcpdump“ įrankį į cron siekiant automatizuoti įvairias užduotis, pavyzdžiui, registravimą. Kadangi „tcpdump“ yra daug funkcijų, jis yra gana universalus, jis veikia kaip trikčių šalinimo ir saugumo priemonė.

Kaip įdiegti „tcpdump“ „Linux“

Nors dažniausiai sistemoje rasite „tcpdump“ iš anksto įdiegtą, kai kurie „Linux“ platinimai nėra siunčiami kartu su paketu. Todėl gali tekti rankiniu būdu įdiegti įrankį savo sistemoje.



Galite patikrinti, ar jūsų sistemoje įdiegta „tcpdump“, naudodami kuris komandą.

which tcpdump

Jei išvestyje rodomas katalogo kelias ( /usr/bin/tcpdump ), tada jūsų sistemoje yra įdiegtas paketas. Tačiau jei ne, tai galite lengvai padaryti naudodami numatytąją savo sistemos paketų tvarkyklę.





Norėdami įdiegti „tcpdump“ Debian'o platinimuose, pvz., „Ubuntu“:

sudo apt-get install tcpdump

Taip pat lengva įdiegti „tcpdump“ „CentOS“.





sudo yum install tcpdump

Apie „Arch“ platinimą:

sudo pacman -S tcpdump

Norėdami įdiegti „Fedora“:

sudo dnf install tcpdump

Atminkite, kad „tcpdump“ paketui reikia libcap kaip priklausomybę, todėl įsitikinkite, kad ją įdiegėte ir savo sistemoje.

„Tcpdump“ tinklo paketų fiksavimo „Linux“ pavyzdžiai

Dabar, kai sėkmingai įdiegėte „tcpdump“ savo „Linux“ kompiuteryje, laikas stebėti kai kuriuos paketus. Kadangi daugumai operacijų atlikti „tcpdump“ reikalingi supernaudotojo leidimai, turėsite pridėti sudo pagal tavo įsakymus.

1. Išvardykite visas tinklo sąsajas

Norėdami patikrinti, kurias tinklo sąsajas galima užfiksuoti, naudokite -D vėliava su komanda tcpdump.

tcpdump -D

Pravažiuojant -sąrašo sąsajos vėliava kaip argumentas grąžins tą patį rezultatą.

tcpdump --list-interfaces

Išvestis bus visų jūsų sistemoje esančių tinklo sąsajų sąrašas.

Gavę tinklo sąsajų sąrašą, laikas stebėti savo tinklą fiksuojant paketus jūsų sistemoje. Nors galite nurodyti, kurią sąsają norite naudoti, bet koks argumento komandos „tcpdump“ užfiksuoja tinklo paketus naudodami bet kurią aktyvią sąsają.

tcpdump --interface any

Sistema parodys šią išvestį.

geriausios programos „Android TV box 2018“

Susijęs: Kas yra atvirų sistemų sujungimo modelis?

2. „tcpdump“ išvesties formatas

Pradedant nuo trečios eilutės, kiekviena išvesties eilutė žymi konkretų paketą, užfiksuotą tcpdump. Štai kaip atrodo vieno paketo išvestis.

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

Atminkite, kad ne visi paketai yra užfiksuoti tokiu būdu, tačiau tai yra bendras formatas, kurio seka dauguma jų.

Išvestyje yra ši informacija.

  1. Gauto paketo laiko žyma
  2. Sąsajos pavadinimas
  3. Paketų srautas
  4. Tinklo protokolo pavadinimas
  5. IP adresas ir prievado informacija
  6. TCP vėliavos
  7. Pakete esančių duomenų eilės numeris
  8. Ack duomenys
  9. Lango dydis
  10. Paketo ilgis

Pirmasis laukas ( 17: 00: 25.369138 ) rodo laiko žymą, kai jūsų sistema išsiuntė ar gavo paketą. Įrašytas laikas išgaunamas iš jūsų sistemos vietos laiko.

kaip rasti administratoriaus slaptažodį

Antrasis ir trečiasis laukai žymi naudojamą sąsają ir paketo srautą. Aukščiau esančiame fragmente wlp0s20f3 yra belaidės sąsajos pavadinimas ir Išeiti yra paketų srautas.

Ketvirtame lauke yra informacija, susijusi su tinklo protokolo pavadinimu. Paprastai rasite du protokolus- IP ir IP6 , kur IP reiškia IPV4, o IP6 skirtas IPV6.

Kitame lauke yra IP adresai arba šaltinio ir paskirties sistemos pavadinimas. Po IP adresų nurodomas prievado numeris.

Šeštąjį išvesties lauką sudaro TCP vėliavos. „Tcpdump“ išvestyje naudojamos įvairios vėliavos.

Vėliavos pavadinimasVertėapibūdinimas
ŽIŪRĖTISRyšys prasidėjo
GALASFRyšys baigtas
PUSHPDuomenys stumiami
RSTRRyšys atstatomas
ALAS.Pripažinimas

Išvestyje taip pat gali būti kelių TCP vėliavų derinys. Pavyzdžiui, FLAG [f.] reiškia FIN-ACK paketą.

Toliau judant išvesties fragmente, kitame lauke yra eilės numeris ( seka 196: 568 ) paketo duomenų. Pirmasis paketas visada turi teigiamą sveikųjų skaičių reikšmę, o kiti paketai naudoja santykinį eilės numerį, kad pagerintų duomenų srautą.

Kitame lauke yra patvirtinimo numeris ( ack 1 ), arba paprastas Ack numeris. Siuntėjo aparate užfiksuotas paketas turi 1 patvirtinimo numerį. Imtuvo gale Ack skaičius yra kito paketo vertė.

Devintasis laukas išvestyje atitinka lango dydį ( 309. laimėti ), tai yra baitų, esančių priimančiame buferyje, skaičius. Yra keletas kitų laukų, atitinkančių lango dydį, įskaitant maksimalų segmento dydį (MSS).

Paskutinis laukas ( ilgis 33 ) yra viso paketo, užfiksuoto „tcpdump“, ilgis.

3. Apribokite pagautų paketų skaičių

Pirmą kartą paleisdami komandą „tcpdump“ galite pastebėti, kad sistema ir toliau fiksuoja tinklo paketus, kol perduosite pertraukimo signalą. Galite nepaisyti šio numatytojo elgesio, nurodydami paketų, kuriuos norite užfiksuoti iš anksto, skaičių naudodami -c vėliava.

tcpdump --interface any -c 10

Pirmiau minėta komanda užfiksuos dešimt paketų iš bet kurios aktyvios tinklo sąsajos.

4. Filtruokite paketus pagal laukus

Kai šalinate problemą, gavę didelį teksto išvesties bloką į terminalą, tai nepalengvina. Čia atsiranda „tcpdump“ filtravimo funkcija. Galite filtruoti paketus pagal įvairius laukus, įskaitant pagrindinį kompiuterį, protokolą, prievado numerį ir kt.

Norėdami užfiksuoti tik TCP paketus, įveskite:

tcpdump --interface any -c 5 tcp

Panašiai, jei norite filtruoti išvestį naudodami prievado numerį:

tcpdump --interface any -c 5 port 50

Pirmiau minėta komanda nuskaitys tik paketus, perduotus per nurodytą prievadą.

Norėdami gauti išsamią informaciją apie konkretų kompiuterį, atlikite toliau nurodytus veiksmus.

tcpdump --interface any -c 5 host 112.123.13.145

Jei norite filtruoti paketus, siunčiamus ar gautus konkretaus kompiuterio, naudokite src arba ir kt argumentas su komanda.

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

Taip pat galite naudoti loginius operatorius ir ir arba sujungti dvi ar daugiau išraiškų. Pavyzdžiui, norint gauti paketus, priklausančius šaltinio IP 112.123.13.145 ir naudotis uostu 80 :

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

Sudėtingas išraiškas galima sugrupuoti naudojant skliausteliuose taip:

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

5. Peržiūrėkite paketo turinį

Galite naudoti -TO ir -x vėliavos su komanda tcpdump, kad būtų galima išanalizuoti tinklo paketo turinį. The -TO vėliava reiškia ASCII formatas ir -x žymi šešioliktainis formatu.

Norėdami peržiūrėti kito sistemos užfiksuoto tinklo paketo turinį:

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

Susijęs: Kas yra paketų praradimas ir kaip išspręsti jo priežastį?

6. Išsaugokite fiksavimo duomenis faile

Jei norite išsaugoti surinkimo duomenis nuorodoms, tcpdump jums padės. Tiesiog praeiti vėliava su numatytąja komanda, kad išvestis būtų įrašyta į failą, o ne rodoma ekrane.

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

The .pcap failo plėtinys reiškia paketų gaudymas duomenis. Taip pat galite išduoti pirmiau minėtą komandą išsamiu režimu, naudodami -v vėliava.

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

Norėdami perskaityti a .pcap failą naudodami tcpdump, naudokite -r vėliava, po kurios eina failo kelias. The -r reiškia Skaityti .

kodėl mano įkroviklis sako, kad priedas nepalaikomas?
tcpdump -r data.pcap

Taip pat galite filtruoti tinklo paketus iš faile išsaugotų paketinių duomenų.

tcpdump -r data.pcap port 80

Tinklo srauto stebėjimas „Linux“

Jei jums buvo pavesta administruoti „Linux“ serverį, komanda „tcpdump“ yra puikus įrankis, kurį reikia įtraukti į savo arsenalą. Galite lengvai išspręsti su tinklu susijusias problemas, fiksuodami tinkle perduodamus paketus realiuoju laiku.

Tačiau prieš visa tai jūsų įrenginys turi būti prijungtas prie interneto. „Linux“ pradedantiesiems net prisijungimas prie „Wi-Fi“ naudojant komandinę eilutę gali būti šiek tiek sudėtingas. Bet jei naudojate tinkamus įrankius, tai akimirksniu.

Dalintis Dalintis „Tweet“ Paštu Kaip prisijungti prie „Wi-Fi“ per „Linux“ terminalą naudojant „Nmcli“

Norite prisijungti prie „Wi-Fi“ tinklo naudodami „Linux“ komandų eilutę? Štai ką reikia žinoti apie komandą nmcli.

Skaityti toliau
Susijusios temos
  • Linux
  • Saugumas
  • Tinklo kriminalistika
Apie autorių Deepesh Sharma(Paskelbti 79 straipsniai)

„Deepesh“ yra „MUO“ jaunesnysis „Linux“ redaktorius. Jis rašo informacinius vadovus apie „Linux“, siekdamas suteikti palaimingos patirties visiems naujokams. Nesate tikri dėl filmų, bet jei norite kalbėti apie technologijas, jis yra jūsų vaikinas. Laisvalaikiu galite jį skaityti knygas, klausytis skirtingų muzikos žanrų ar groti gitara.

Daugiau iš „Deepesh Sharma“

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia