Įvadas į Tcpdump

Įvadas į Tcpdump

Jei paleisite serverį, neabejotinai pateksite į tašką, kuriame turėsite išspręsti kai kurias su tinklu susijusias problemas. Žinoma, būtų lengva tiesiog išsiųsti laišką pagalbos skyriui, bet kartais reikia susitepti rankas. Šiuo atveju tcpdumptai yra įrankis tam darbui. Tcpdump yra tinklo paketų analizatorius, veikiantis komandinėje eilutėje.

Šis straipsnis bus padalintas į tris dalis:

  • Pagrindinės savybės.
  • Filtravimas pagal tam tikras eismo charakteristikas.
  • Trumpas sudėtingesnių funkcijų fragmentas (pvz., loginės išraiškos, filtravimas pagal TCP vėliavėles).

Kadangi tcpdump nėra įtrauktas į daugumą bazinių sistemų, turėsite jį įdiegti. Tačiau beveik visų Linux platinimų pagrindinėse saugyklose yra tcpdump. „Debian“ pagrindu sukurtų platinimų komanda įdiegti „tcpdump“ yra tokia:

apt-get install tcpdump

„CentOS“ / „RedHat“ atveju naudokite šią komandą:

yum install tcpdump

FreeBSD siūlo iš anksto sukurtą paketą, kurį galima įdiegti išduodant:

pkg install tcpdump

Taip pat yra prievadas, net/tcpdumpkurį galima įdiegti per:

cd /usr/ports/net/tcpdump
make install clean

Jei bėgsite tcpdumpbe jokių argumentų, būsite sumuštas dėl rezultatų. Paleidus jį naujai sukurtame egzemplioriuje čia, „Vultr“ mažiau nei penkias sekundes, gaunami tokie rezultatai:

2661 packets captured
2663 packets received by filter
0 packets dropped by kernel

Prieš pradėdami daugiau informacijos apie tai, kaip filtruoti įvestį, turėtumėte pažvelgti į kai kuriuos parametrus, kuriuos galima perduoti tcpdump:

  • -i- Nurodo sąsają, kurioje norite klausytis, pavyzdžiui: tcpdump -i eth0.
  • -n- Nebandykite atlikti atvirkštinės IP adresų paieškos, pvz.: tcpdump -n(jei pridėsite kitą, ntcpdump parodys prievadų numerius, o ne pavadinimus).
  • -X- Parodykite surinktų paketų turinį: tcpdump -X.
  • -c- Tik fiksuoja xpaketus, xnes tai yra savavališkas skaičius, pavyzdžiui, tcpdump -c 10užfiksuoja tiksliai 10 paketų.
  • -v- Padidinkite jums rodomos paketinės informacijos kiekį, daugiau vs pridėkite daugiau išsamumo.

Kiekvienas iš čia paminėtų parametrų gali būti derinamas kartu. Jei norite užfiksuoti 100 paketų, bet tik savo VPN sąsajoje tun0, tada komanda tcpdump atrodytų taip:

tcpdump -i tun0 -c 100 -X

Be tų kelių variantų yra dešimtys (jei ne šimtai), tačiau jie yra labiausiai paplitę. Nedvejodami perskaitykite tcpdump vadovo puslapį savo sistemoje.

Dabar, kai jau turite pagrindinį supratimą apie tcpdump, atėjo laikas pažvelgti į vieną iš nuostabiausių tcpdump funkcijų: išraiškas. Išraiškos labai palengvins jūsų gyvenimą. Jie taip pat žinomi kaip BPF arba Berkeley paketų filtrai. Naudojant išraiškas galima pasirinktinai rodyti (arba ignoruoti) paketus pagal tam tikras charakteristikas – tokias kaip kilmė, paskirties vieta, dydis ar net TCP eilės numeris.

Iki šiol jums pavyko apriboti paiešką iki tam tikro paketų kiekio tam tikroje sąsajoje, bet būkime sąžiningi: tai vis tiek palieka per daug foninio triukšmo, kad būtų galima efektyviai dirbti su surinktais duomenimis. Štai čia atsiranda posakių. Sąvoka yra gana paprasta, todėl čia nepateiksime sausos teorijos ir pateiksime supratimą keletu praktinių pavyzdžių.

Posakiai, kuriuos tikriausiai naudosite dažniausiai:

  • host – Ieškokite srauto pagal pagrindinio kompiuterio pavadinimus arba IP adresus.
  • srcarba dst– Ieškokite srauto iš arba į konkretų prieglobą.
  • proto- Ieškokite tam tikro protokolo srauto. Veikia tcp, udp, icmp ir kt. protoTaip pat galima praleisti raktinį žodį.
  • net - Ieškokite srauto į / iš tam tikro IP adresų diapazono.
  • port - Ieškokite srauto į / iš tam tikro uosto.
  • greaterarba less– Ieškokite srauto, didesnio arba mažesnio nei tam tikras baitų kiekis.

Nors vadovo puslapyje tcpdumpyra tik keli pavyzdžiai, vadovo pcap-filterpuslapyje yra labai išsamūs paaiškinimai apie tai, kaip kiekvienas filtras veikia ir gali būti taikomas.

Jei norite pamatyti, kaip vyksta jūsų ryšys su tam tikru serveriu, galite naudoti host, pavyzdžiui, raktinį žodį (įskaitant kai kuriuos parametrus iš aukščiau):

tcpdump -i eth0 host vultr.com

Kartais tinkle yra kompiuterių, kurie negerbia MTU arba siunčia jums šlamštą dideliais paketais; juos išfiltruoti kartais gali būti sunku. Išraiškos leidžia filtruoti paketus, kurie yra didesni arba mažesni nei tam tikras baitų skaičius:

tcpdump -i eth0 -nn greater 128
or
tcpdump -i eth0 -nn less 32

Galbūt jus domina tik tam tikras uostas. Šiuo atveju naudokite portposakį:

tcpdump -i eth0 -X port 21

Taip pat galite ieškoti prievadų diapazonų:

tcdump -i eth0 -X portrange 22-25

Kadangi NAT šliuzai yra gana dažni, galite ieškoti tik paskirties prievadų:

tcpdump dst port 80

Jei stebite srautą į savo žiniatinklio serverį, galbūt norėsite žiūrėti tik TCP srautą į 80 prievadą:

tcpdump tcp and dst port 80

Tikriausiai klausiate savęs, ką andten veikia raktinis žodis . Geras klausimas. Taip pereiname prie paskutinės šio straipsnio dalies.

tcpdump siūlo pagrindinį loginių posakių palaikymą, konkrečiau:

  • and/ &&- Loginis "ir".
  • or/ ||- Loginis "arba".
  • not/ !- Logiška "ne".

Kartu su galimybe grupuoti išraiškas kartu galite sukurti labai galingas gaunamo ir išeinančio srauto paieškas. Taigi išfiltruokime srautą iš vultr.com per 22 arba 443 prievadą:

tcpdump -i eth0 src host vultr.com and (dst port 22 or 443)

Vykdydami tai komandinėje eilutėje, gausite šią klaidą:

bash: syntax error near unexpected token `('

Taip yra todėl, kad yra įspėjimas: bashbando įvertinti kiekvieną galimą personažą. Tai apima (ir )simbolius. Kad išvengtumėte šios klaidos, kombinuotą išraišką turėtumėte naudoti pavienes kabutes:

tcpdump -i eth0 'src host vultr.com and (dst port 22 or 443)'

Kitas naudingas pavyzdys: derindami SSH problemas su vienu iš savo vartotojų, galbūt norėsite nepaisyti visko, kas susiję su jūsų SSH sesija:

tcpdump '!(host $youripaddress) && port 22)'

Vėlgi, naudojimo atvejų yra begalė, ir jūs galite labai tiksliai nurodyti, kokio srauto norite matyti. Ši komanda parodys tik TCP rankos paspaudimo SYNACK paketus:

tcpdump -i eth0 'tcp[13]=18'

Tai veikia žiūrint į tryliktąjį TCP antraštės poslinkį ir aštuonioliktą baitą joje.

Jei viską padarėte čia, esate pasiruošę daugeliui naudojimo atvejų. Vos galiu liesti paviršių, nesigilindamas į daug detalių. Labai rekomenduoju šiek tiek toliau eksperimentuoti su įvairiomis parinktimis ir posakiais; ir kaip įprasta: pasiklydę kreipkis į žinyno puslapį.

Paskutinis, bet ne mažiau svarbus dalykas – greitas žvilgsnis atgal. Prisimeni šio straipsnio pradžią? Ar tūkstančiai paketų užfiksuoti per kelias sekundes? Galia tcpdumpgali tai labai sumažinti:

tcpdump -i eth0 tcp port 22

Rezultatas dabar:

81 packets captured
114 packets received by filter
0 packets dropped by kerne

Tai daug protingesnė ir lengviau derinama. Linksmo tinklų kūrimo!


Įdiekite „Plesk“ „CentOS 7“.

Įdiekite „Plesk“ „CentOS 7“.

Naudojate kitą sistemą? Plesk yra patentuotas žiniatinklio prieglobos valdymo skydelis, leidžiantis vartotojams administruoti savo asmenines ir (arba) klientų svetaines, duomenų bazes

Nustatykite „Cacti“ naudodami „Debian Jessie“.

Nustatykite „Cacti“ naudodami „Debian Jessie“.

Įvadas Cacti yra atvirojo kodo stebėjimo ir grafikų sudarymo įrankis, visiškai pagrįstas RRD duomenimis. Naudodami „Cacti“ galite stebėti beveik bet kokio tipo įrenginius

Įdiekite „Lets Encrypt SSL“ „WordPress“ programoje vienu spustelėjimu

Įdiekite „Lets Encrypt SSL“ „WordPress“ programoje vienu spustelėjimu

Įvadas „Lets Encrypt“ yra sertifikatų išdavimo tarnyba, siūlanti nemokamus TLS/SSL sertifikatus. Diegimo procesą supaprastina Certbot,

Kaip nustatyti „Tekkit Classic“ serverį „Ubuntu 16.10“.

Kaip nustatyti „Tekkit Classic“ serverį „Ubuntu 16.10“.

Naudojate kitą sistemą? Kas yra Tekkit Classic? „Tekkit Classic“ yra visų žinomo ir mėgstamo žaidimo modifikacijų paketas; Minecraft. Jame yra keletas ver

„Debian Wheezy“ nustatykite „iRedMail“.

„Debian Wheezy“ nustatykite „iRedMail“.

Naudojate kitą sistemą? Ši pamoka parodys, kaip įdiegti grupinę programinę įrangą iRedMail naujai įdiegus Debian Wheezy. Turėtumėte naudoti tarnavimą

Jekyll tinklaraščio kūrimas Ubuntu 16.04

Jekyll tinklaraščio kūrimas Ubuntu 16.04

Naudojate kitą sistemą? „Jekyll“ yra puiki „WordPress“ alternatyva dienoraščių rašymui ar turinio dalijimuisi. Tam nereikia jokių duomenų bazių ir tai labai paprasta

Kaip įdiegti „Squid“ tarpinį serverį „CentOS“.

Kaip įdiegti „Squid“ tarpinį serverį „CentOS“.

Squid yra populiari nemokama „Linux“ programa, leidžianti sukurti persiuntimo žiniatinklio tarpinį serverį. Šiame vadove pamatysite, kaip įdiegti „Squid“ „CentOS“, kad paverstumėte jus

Kaip įdiegti „Lighttpd“ (LLMP Stack) „CentOS 6“.

Kaip įdiegti „Lighttpd“ (LLMP Stack) „CentOS 6“.

Įvadas Lighttpd yra „Apache“ šakutė, skirta daug mažiau išteklių imti. Jis yra lengvas, todėl jo pavadinimas ir yra gana paprastas naudoti. Įdiegti

Trys nemokami serverio valdymo skydeliai (greitasis diegimas)

Trys nemokami serverio valdymo skydeliai (greitasis diegimas)

1. Virtualmin/Webmin Virtualmin yra galingas ir lankstus interneto prieglobos valdymo skydelis, skirtas Linux ir UNIX sistemoms, pagrįstas gerai žinoma atvirojo kodo žiniatinklio baze

Yii programos nustatymas Ubuntu 14.04

Yii programos nustatymas Ubuntu 14.04

Yii yra PHP sistema, leidžianti greičiau ir lengviau kurti programas. „Yii“ įdiegimas „Ubuntu“ yra nesudėtingas, nes sužinosite tiksliai

Ekrano naudojimas Ubuntu 14.04

Ekrano naudojimas Ubuntu 14.04

Ekranas yra programa, leidžianti kelis kartus naudoti terminalo seansus viename lange. Tai leidžia imituoti kelis terminalo langus, kur tai ma

Logrotate naudojimas žurnalo failams tvarkyti

Logrotate naudojimas žurnalo failams tvarkyti

Įvadas Logrotate yra „Linux“ programa, supaprastinanti žurnalo failų administravimą. Paprastai jis veikia kartą per dieną per cron darbą ir tvarko žurnalų bazę

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

VULTR neseniai atliko pakeitimus, ir dabar viskas turėtų veikti gerai, kai įjungta „NetworkManager“. Jei norite išjungti

„Icinga2“ modifikavimas, kad būtų naudojamas pagrindinis / kliento modelis „CentOS 6“ arba „CentOS 7“.

„Icinga2“ modifikavimas, kad būtų naudojamas pagrindinis / kliento modelis „CentOS 6“ arba „CentOS 7“.

Icinga2 yra galinga stebėjimo sistema, o kai naudojama pagrindinio kliento modelyje, ji gali pakeisti NRPE pagrįstų stebėjimo patikrų poreikį. Meistras-klientas

Kaip įdiegti Apache Cassandra 3.11.x Ubuntu 16.04 LTS

Kaip įdiegti Apache Cassandra 3.11.x Ubuntu 16.04 LTS

Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.

Kaip įdiegti „Apache Cassandra 3.11.x“ „CentOS 7“.

Kaip įdiegti „Apache Cassandra 3.11.x“ „CentOS 7“.

Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.

Kaip įdiegti MODX Revolution Ubuntu 16.04 LAMP VPS

Kaip įdiegti MODX Revolution Ubuntu 16.04 LAMP VPS

Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta i.

Kaip įdiegti „Mattermost 4.1“ „CentOS 7“.

Kaip įdiegti „Mattermost 4.1“ „CentOS 7“.

Naudojate kitą sistemą? Mattermost yra atvirojo kodo, savarankiškai priglobta alternatyva Slack SAAS pranešimų paslaugai. Kitaip tariant, naudodami Mattermost, jūs apytiksliai

Kaip įdiegti MODX Revolution FreeBSD 11 FAMP VPS

Kaip įdiegti MODX Revolution FreeBSD 11 FAMP VPS

Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio atvirojo kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta PHP. Tai i

Leidžia šifruoti Plesk

Leidžia šifruoti Plesk

„Plesk“ valdymo skydelyje yra labai graži „Lets Encrypt“ integracija. „Lets Encrypt“ yra vienas iš vienintelių SSL teikėjų, išduodančių visus sertifikatus

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį