Š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 -Darba
$ 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 22Ankstesnė 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 -iPavyzdžiui, turime „enps03“ sąsają. Išsaugokite šiuos užfiksuotus duomenis į šį failą:
$ sudo tcpdump -i enps03 -w dump.pcapAteityje šį 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.