Kaip užfiksuoti ir analizuoti paketus pagal pavyzdį naudojant Tcpdump

Kaip Uzfiksuoti Ir Analizuoti Paketus Pagal Pavyzdi Naudojant Tcpdump



Tcpdump yra galingas tinklo analizės įrankis, naudojamas tinklo srauto analizei Linux sistemose ir macOS. Tinklo administratoriai naudoja tcpdump tinklo uostymui, fiksavimui ir TCP/IP paketų analizei. Ji naudoja „libpcap“ biblioteką, kuri padeda efektyviai užfiksuoti tinklo srautą. Be to, tcpdump padeda atlikti tinklo trikčių diagnostiką ir periodiškai stebėti tinklo veiklą. Šis įrankis saugo užfiksuotus duomenis „pcap“ faile. Šie failai toliau analizuojami naudojant TCP/IP paketų analizatoriaus įrankį, pvz., „Wireshark“, arba naudojant kitą komandinės eilutės įrankį.

Šiame vadove parodysime, kaip įdiegti tcpdump Linux sistemoje ir kaip užfiksuoti bei analizuoti TCP/IP paketus naudojant tcpdump.

Kaip įdiegti Tcpdump

Tcpdump yra iš anksto įdiegtas daugelyje Linux platinimų. Bet jei jis dar neįdiegtas jūsų sistemoje, galite įdiegti tcpdump savo Linux sistemoje. Norėdami įdiegti tcpdump Ubuntu 22.04 sistemoje, naudokite šią komandą:







$ sudo apt install tcpdump

Norėdami įdiegti tcpdump Fedora / CentOS, naudokite šią komandą:



$ sudo dnf įdiegti tcpdump

Kaip užfiksuoti paketus naudojant Tcpdump komandą

Norėdami užfiksuoti paketus naudodami tcpdump, paleiskite terminalą su sudo privilegijomis naudodami „Ctrl+Alt+t“. Šiame įrankyje yra įvairių parinkčių ir filtrų, skirtų TCP/IP paketams užfiksuoti. Jei norite užfiksuoti visus dabartinės arba numatytosios tinklo sąsajos tekančius paketus, naudokite komandą „tcpdump“ be jokios parinkties.



$ sudo tcpdump

Pateikta komanda užfiksuoja jūsų sistemos numatytosios tinklo sąsajos paketus.





Šios komandos vykdymo pabaigoje terminale rodomi visi užfiksuoti ir išfiltruoti paketų skaičiai.



Supraskime išvestį.

Tcpdump leidžia analizuoti TCP/IP paketų antraštes. Kiekvienam paketui rodoma viena eilutė, o komanda tęsiama tol, kol paspausite „Ctrl+C“, kad ją sustabdytumėte.

Kiekvienoje tcpdump pateiktoje eilutėje yra ši informacija:

  • Unix laiko žyma (pvz., 02:28:57.839523)
  • Protokolas (IP)
  • Šaltinio prieglobos pavadinimas arba IP ir prievado numeris
  • Paskirties pagrindinio kompiuterio pavadinimas arba IP ir prievado numeris
  • TCP vėliavėlės (pvz., vėliavėlės [F.]), nurodančios ryšio būseną su tokiomis reikšmėmis kaip S (SYN), F (FIN),. (ACK), P (PUSH), R (RST)
  • Duomenų pakete eilės numeris (pvz., seka 5829:6820)
  • Patvirtinimo numeris (pvz., ack 1016)
  • Lango dydis (pvz., win 65535), nurodantis galimus baitus priėmimo buferyje ir TCP parinktis
  • Naudingo duomenų kiekio ilgis (pvz., 991 ilgis)

Norėdami išvardyti visas sistemos tinklo sąsajas, naudokite komandą „tcpdump“ su parinktimi „-D“.

$ sudo tcpdump -D

arba

$ tcpdump --list-interfaces

Ši komanda išvardija visas tinklo sąsajas, kurios yra prijungtos arba veikia jūsų Linux sistemoje.

Užfiksuokite nurodytos tinklo sąsajos paketus

Jei norite užfiksuoti TCP/IP paketus, kurie praeina per konkrečią sąsają, naudokite vėliavėlę „-i“ su komanda „tcpdump“ ir nurodykite tinklo sąsajos pavadinimą.

$ sudo tcpdump -i lo

Pateikta komanda užfiksuoja srautą „lo“ sąsajoje. Jei norite rodyti išsamią ar išsamią informaciją apie paketą, naudokite vėliavėlę „-v“. Norėdami spausdinti išsamesnę informaciją, naudokite vėliavėlę „-vv“ su komanda „tcpdump“. Reguliarus naudojimas ir analizė padeda palaikyti tvirtą ir saugią tinklo aplinką.

Panašiai galite užfiksuoti srautą bet kurioje sąsajoje naudodami šią komandą:

$ sudo tcpdump -i bet koks

Užfiksuokite paketus naudodami konkretų prievadą

Galite užfiksuoti ir filtruoti paketus, nurodydami sąsajos pavadinimą ir prievado numerį. Pavyzdžiui, norėdami užfiksuoti tinklo paketus, kurie praeina per „enp0s3“ sąsają naudodami 22 prievadą, naudokite šią komandą:

$ tcpdump -i enp0s3 prievadas 22

Ankstesnė komanda užfiksuoja visus tekančius paketus iš „enp0s3“ sąsajos.

Užfiksuokite ribotus paketus naudodami Tcpdump

Galite naudoti vėliavėlę „-c“ su komanda „tcpdump“, kad užfiksuotumėte nurodytą paketų skaičių. Pavyzdžiui, norėdami užfiksuoti keturis paketus „enp0s3“ sąsajoje, naudokite šią komandą:

$ tcpdump -i enp0s3 -c 4

Pakeiskite sąsajos pavadinimą naudodami savo sistemą.

Naudingos „Tcpdump“ komandos tinklo srautui užfiksuoti

Toliau išvardijome keletą naudingų „tcpdump“ komandų, kurios padės efektyviai užfiksuoti ir filtruoti tinklo srautą arba paketus:

Naudodami komandą „tcpdump“, galite užfiksuoti sąsajos paketus su apibrėžtu paskirties IP arba šaltinio IP.

$ tcpdump -i {interface-name} dst {destination-ip}

Galite užfiksuoti paketus, kurių momentinės nuotraukos dydis yra 65535 baitai, o tai skiriasi nuo numatytojo 262144 baitų dydžio. Senesnėse tcpdump versijose fiksavimo dydis buvo ribojamas iki 68 arba 96 baitų.

$ tcpdump -i enp0s3 -s 65535

Kaip įrašyti užfiksuotus paketus į failą

Jei norite išsaugoti užfiksuotus duomenis į failą tolesnei analizei, galite tai padaryti. Jis fiksuoja srautą nurodytoje sąsajoje ir išsaugo jį „.pcap“ faile. Norėdami išsaugoti užfiksuotus duomenis į failą, naudokite šią komandą:

$ tcpdump -i -s 65535 -w .pcap

Pavyzdžiui, turime „enps03“ sąsają. Išsaugokite šiuos užfiksuotus duomenis į šį failą:

$ sudo tcpdump -i enps03 -w dump.pcap

Ateityje šį užfiksuotą failą galėsite perskaityti naudodami Wireshark ar kitus tinklo analizės įrankius. Taigi, jei norite naudoti „Wireshark“ paketams analizuoti, naudokite „-w“ argumentą ir išsaugokite jį „.pcap“ faile.

Išvada

Šioje pamokoje, naudodami skirtingus pavyzdžius, parodėme, kaip užfiksuoti ir analizuoti paketus naudojant tcpdump. Taip pat sužinojome, kaip įrašyti užfiksuotą srautą į „.pcap“ failą, kurį galite peržiūrėti ir analizuoti naudodami „Wireshark“ ir kitus tinklo analizės įrankius.