Šioje pamokoje mes pamatysime kaip dirbti su tcpdump. Tai yra atviro kodo įrankis komandinei eilutei, jis yra naudojamas stebėti tinklą, tai galime suprasti kaip paketų, einančių per tinklą, kuriame vykdote programą, analizatorių. Jis naudojamas „Unix“ aplinkoje, nors yra „Windows“ variantas, vadinamas „WinDump“. Jums gali būti įdomi „EtherApe“ pamoka, kuri yra įrankis grafiškai pamatyti mūsų tinklo būseną.
Pamokoje dirbsime iš „Linux“, konkrečiai „Ubuntu 16.04“, kad įrankis veiktų, turime jį paleisti su didelėmis privilegijomis, išskyrus tam tikras parinktis, kurios bus būtinos.
Mes galime naudoti tcpdump įvairioms užduotims atlikti, pvz., derinti mūsų tinklo programas, skaityti duomenis, kurie siunčiami tarp vartotojų per tinklą, kuriame esame, ir kt. Žemiau pateiksime jo sintaksę:
tcpdump [-aAbdDefhHIJKlLnNOpqRStuUvxX #] [-B dydis] [-c skaičius] [-C failo dydis] [-E kažkas: slapta] [-F failas] [-G sekundės] [-i sąsaja] [-j tstamptype] [- M paslaptis] [--number] [-Q in | out | inout] [-r failas] [-s slenksnis] [-laiko žymos tikslumo tikslumas] [-tiesioginis režimas] [-T tipas] [ --versija] [-V failas] [-w failas] [-W failų skaičius] [-y duomenų nuorodos tipas] [-z komanda] [-Z vartotojas] [išraiška]Šis įrankis turi daugybę parametrų, kuriuos galime naudoti, čia pamatysime kai kuriuos.
Kai kurie „tcpdump“ parametrai
- -TO: Išspausdinkite paketus ASCII kodu.
- -x: Išspausdinkite paketus šešioliktainiais skaičiais.
- -D: Rodo galimas sąsajas.
- -c numeris: programa bus uždaryta, kai bus užfiksuotas nurodytas paketų skaičius.
- -i sąsaja: programa klausosi nurodytos sąsajos.
- -Aš: Perjungia sąsają į monitoriaus režimą.
- -p: Sąsaja neįjungiama į nerūpestingą režimą.
- -f failą: Išvestis saugoma faile, kurį nurodome.
- -h: Rodo naudojimosi pagalbą.
Jei norime pamatyti visus galimus parametrus, „Linux“ naudojame:
vyras tcpdumpŠios komandos naudojimas yra išsamesnis nei parametro siūloma pagalba -h arba -padėti, kuris mums parodytų tik šiuos dalykus:
Mes pamatysime 10 pavyzdžių, kaip pradėti naudoti šį galingą įrankį.
PastabaBeveik visuose pavyzdžiuose pamatysite, kad sudo naudojamas prieš tcpdump, kaip minėta anksčiau, būtina jį paleisti su didelėmis privilegijomis, jei naudojate terminalą kaip root, nieko nereikia dėti prieš tcpdump. Jei norite sustabdyti fotografavimą, galite derinti klavišus:
CTRL + C
1 pavyzdys
Paprasčiausias pavyzdys naudojant parametrą -TO. Tam mes vykdome:
tcpdump -A
Pažvelkime į pavyzdį, kuriame yra daugiau turinio.
2 pavyzdys
Dabar mes filtruosime pagal pagrindinį kompiuterį ir pridėsime daugiakalbį režimą su parametru -v:
sudo tcpdump priegloba 192.168.66.130 -vŽemiau yra vaizdas naudojant aukščiau pateiktą komandą:
Paveikslui aš sukūriau pingą iš kitos mašinos, kad galėtume matyti ICMP. Pereikime prie trečiojo pavyzdžio.
3 pavyzdys
Šiame pavyzdyje mes pažvelgsime į to paties prieglobos paketus, tik šį kartą paketus, susijusius su 80 prievadu:
sudo tcpdump priegloba 192.168.66.130 ir prievadas 80 -vJei pažvelgsime į užfiksavimą, pamatysime kažką panašaus į šį:
Galite pamatyti, kaip lengva valdyti šį įrankį, eikime toliau.
4 pavyzdys
Mes naudosime 3 pavyzdį ir jį pakeisime, norime filtruoti paketus, kurių kilmė yra 192.168.66.130 ir kurie eina į 80 prievadą:
sudo tcpdump src priegloba 192.168.66.130 ir dst prievadas 80 -vMatome, kad panaudojome sąlygą ir, kad abi sąlygos būtų įvykdytos, taip pat galime naudoti arba, jei norime, kad būtų įvykdyta tik viena iš jų. Jei pažvelgsime į ekrano kopijas, pamatysime POST užklausą.
Mes pereiname prie penktojo pavyzdžio.
5 pavyzdys
Mes užfiksuosime paketus, nurodančius sąsają:
sudo tcpdump -i ens33PastabaJūsų sąsaja tikriausiai yra eth0, ją galite pamatyti naudodami komandą ifconfig, bet ir su tcpdump parametru -D ji mums veiks, pamatysime tolesniame pavyzdyje.
Žemiau galite pamatyti užfiksuotą vaizdą.
Eikime į kitą.
6 pavyzdys
Šiame pavyzdyje vienintelis dalykas, kurį ketiname padaryti, yra parodyti turimas sąsajas, todėl mes vykdome:
tcpdump -DŠiuo atveju nebūtina būti root.
Tęskime.
7 pavyzdys
Norime užfiksuoti 3 paketus, skirtus 1987 m. Prievadui, ir kai tai atsitiks, sustabdykite programą:
sudo tcpdump -c 3 dst prievadas 1987 mŠiame paveikslėlyje matome, kad užfiksuoti tik 3 paketai:
Pažiūrėkime dar keletą pavyzdžių.
8 pavyzdys
Kai norime gauti visus „tcp“ srauto paketus, kurie nepatenka į tam tikrą prievadą, pavyzdžiui, 80 prievadą, vykdysime šiuos veiksmus:
sudo tcpdump ne 80 prievadas ir tcpIšvestis yra panaši, todėl šiame pavyzdyje fiksavimas nenustatytas. Paimkime priešpaskutinį pavyzdį.
9 pavyzdys
Mes užfiksuosime 2 konkrečios sąsajos paketus ir parodysime juos šešioliktainiu formatu, tam turime atlikti:
sudo tcpdump -i ens33 -x -c 2Žemiau galite pamatyti išvestį:
Na, pereikime prie paskutinio pamokos pavyzdžio.
10 pavyzdys
Šiame pavyzdyje įrašysime įrašą į failą, kad galėtumėte jį peržiūrėti vėliau. Užfiksuoti galima tik 3 paketus ir nurodyti sąsają, todėl vykdysime:
sudo tcpdump -w test.pcap -i ens33 -c 3Pažiūrėkime ekrano kopiją:
Jei norime tą failą perskaityti dabar, turime vykdyti:
tcpdump -r test.pcapTai galime pamatyti šiame paveikslėlyje:
„Tcpdump“ pamoka atėjo taip toli, ji turi daug galimybių ir daug galimybių, todėl norint išmokti gerai valdyti šį įrankį, geriausia po truputį praktikuoti ir atrasti visas jo savybes. Jums taip pat gali būti įdomu ką nors perskaityti apie „netcat“ įrankį, todėl čia yra nuoroda į pamoką su pavyzdžiais:
Kaip naudotis netcat
Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką