tcpdump

Juhend võrguliikluse analüüsi utiliidi TCPDUMP kohta

Juhend võrguliikluse analüüsi utiliidi TCPDUMP kohta

Tcpdump on võrgupakettide nuusutamise käsurea utiliit. Seda kasutatakse kõige sagedamini võrkude tõrkeotsinguks ja turbeprobleemide testimiseks. Vaatamata graafilise kasutajaliidese puudumisele on see kõige populaarsem, võimsam ja mitmekülgsem käsurea utiliit.

See on Linuxi emakeel, nii et enamik Linuxi distributsioonidest installib selle standardse OS-i osana. Tcpdump on liidesega liidesega programm, mis on võrgu datagrammide hõivamise teek.

Selles artiklis demystifitseeritakse tcpdump, näidates, kuidas selles utiliidis hõivatud võrguliiklust hõivata, lugeda ja analüüsida. Hiljem kasutame oma teadmisi andmepakettide kontrollimiseks täiustatud TCP lipufiltritega.

Tcpdumpi installimine

Tcpdumpi vaikeprogramm teie jaotises sõltub installiprotsessi käigus valitud suvanditest. Kohandatud installimise korral on võimalik, et pakett pole saadaval. Tcpdumpi installimist saate kontrollida, kasutades dpkg käsk-s”Valik.

ubuntu $ ubuntu: ~ $ dpkg -s tcpdump

Või kasutage tcpdumpi installimiseks Ubuntu Linuxi käsku "sudo apt-get install tcpdump".

Pakettide hõivamine Tcpdumpis:

Püüdmisprotsessi alustamiseks peame kõigepealt leidma oma tööliidese, kasutadesifconfig”Käsk. Või saame loetleda kõik saadaolevad liidesed, kasutades tcpdump käsk-D”Valik.

ubuntu $ ubuntu: ~ $ tcpdump -D

Püüdmisprotsessi alustamiseks võite kasutada süntaksit;

tcpdump [-options] [avaldis]

Näiteks kasutame allolevas käsus-i”Liikluse hõivamiseksenp0s3”Liides,“-c”Lipp, et piirata hõivatud pakette ja kirjutada“-w”See a-le test_capture.pcap faili.

ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -c 20 -w / tmp / test_capture.pcap

Samamoodi saate liikluse eraldamiseks kasutada erinevaid filtrikombinatsioone vastavalt teie nõudmistele. Üks selline näide hõlmab võrguandmete hõivamist hostist lahkumisel ja saabumisel hostiga peremees käsk konkreetsele sadam. Veelgi enam, olen kasutanud-n”Lipp, et takistada tcpdumpil DNS-otsingute hõivamist. See lipp on võrgu tõrkeotsingu ajal liikluse küllastamiseks väga kasulik.

ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -c 20 host 10.0.2.15 ja dst-port 80 -w / tmp / test_capture1.pcap
tcpdump: kuulamine enp0s3-lingi tüüpi EN10MB (Ethernet), jäädvustamise suurus 262144 baiti
20 pakki kinni püütud
Filtriga saadi 21 paketti
0 paketti on tuuma poolt maha visatud

Kasutameja”Käsk hõivata ainult pakette, mis sisaldab host 10.0.2.15 ja sihtsadam 80. Samamoodi saab tõrkeotsingu hõlbustamiseks rakendada mitmesuguseid muid filtreid.

Kui te ei soovi kasutada-c”Lipu püüdmise liikluse piiramiseks võite kasutada katkestussignaali, st.e., Ctrl + C, isolatsiooniprotsessi peatamiseks.

Tcpdumpi failide lugemine

Tcpdumpi jäädvustatud failide lugemine võib olla tohutult tohutu. Vaikimisi määrab TCP IP-aadressidele ja pordidele nimed. Kasutame-r”Lipp meie juba hõivatud faili lugemiseks test_capture.pcap salvestatud / tmp kausta. Torustame väljundi awk käsk väljastada ainult allika IP-aadressi ja pordid ning sisestada see käsule pea kuvada ainult esimesed 5 kirjet.

ubuntu $ ubuntu: ~ $ sudo tcpdump -r / tmp / test_capture1.pcap | awk -F "" 'print $ 3' | pea -5
lugemine failist / tmp / test_capture.pcap, link-tüüpi EN10MB (Ethernet)
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298

Siiski on võrguprobleemide lahendamiseks soovitatav kasutada IP-aadresse ja porte numbritena. Keelame IP-nime eraldusvõime-n”Lipu ja sadama nimed-nn".

ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -n
tcpdump: sisuline väljund on alla surutud, protokolli täielikuks dekodeerimiseks kasutage -v või -vv
kuulamine enp0s3-lingi tüüpi EN10MB (Ethernet), hõivatud suurus 262144 baiti
20:08:22.146354 IP 10.0.2.15.54080> 172.67.39.148.443: Lipud [P.], seq 1276027591: 1276027630, ack 544039114, win 63900, pikkus 39
20:08:22.146745 IP 10.0.2.15.43456> 54.204.39.132.443: Lipud [P.], seq 3381018839: 3381018885, ack 543136109, win 65535, pikkus 46
20:08:22.147506 IP 172.67.39.148.443> 10.0.2.15.54080: Lipud [.], akk 39, võit 65535, pikkus 0
20:08:22.147510 IP 54.204.39.132.443> 10.0.2.15.43456: Lipud [.], akk 46, võit 65535, pikkus 0
20:08:22.202346 IP 216.58.209.142.443> 10.0.2.15.41050: Lipud [P.], seq 502925703: 502925826, ack 1203118935, win 65535, pikkus 123
20:08:22.202868 IP 10.0.2.15.41050> 216.58.209.142.443: Lipud [P.], järgnev 1:40, akk 123, võit 65535, pikkus 39

Pildistatud väljundi mõistmine

Tcpdump hõivab paljusid protokolle, sealhulgas UDP, TCP, ICMP jne. Kõiki neid pole siin lihtne kajastada. Siiski on oluline mõista, kuidas teavet kuvatakse ja milliseid parameetreid see sisaldab.

Tcpdump kuvab iga paketi reana koos ajatempli ja protokolliga seotud teabega. Üldiselt on TCP-protokolli formaat järgmine:

. > .: , , , , ,

Selgitame ühte hõivatud pakettiväljadest väljade järgi:

20:08:22.146354 IP 10.0.2.15.54080> 172.67.39.148.443: Lipud [P.], järgnev 1276027591: 1276027630, ack 544039114, win 63900, pikkus 39
  • 20:08:22.146354: hõivatud paketi ajatempel
  • IP: võrgukihi protokoll.
  • 10.0.2.15.54080: see väli sisaldab allika IP-aadressi ja lähteporti.
  • 172.67.39.148.443: see väli tähistab sihtkoha IP-aadressi ja pordinumbrit.
  • Lipud [P.] /: Lipud tähistavad ühenduse olekut. Sel juhul on [P.] tähistab PUSH-i kinnituspaketti. Lipu väli sisaldab ka mõningaid muid väärtusi, näiteks:
    1. S: SYN
    2. P: LÜKIGE
    3. [.]: ACK
    4. F: FIN
    5. [S.]: SYN_ACK
    6. R: RST
  • seq 1276027591: 1276027630: järjekorranumber esimeses: viimane vorming tähistab paketis olevate andmete arvu. Välja arvatud esimene pakett, kus numbrid on absoluutsed, on järgmistel pakettidel suhtelised numbrid. Sel juhul tähendavad siinsed numbrid seda, et pakett sisaldab andmebaidid vahemikus 1276027591 kuni 1276027630.
  • ack 544039114: kinnitusnumber tähistab järgmist eeldatavat andmete järjekorranumbrit.
  • win 63900: akna suurus näitab saadaolevate baitide arvu vastuvõetud puhvris.
  • pikkus 39: kasuliku koormuse andmete pikkus baitides.

Täpsemad filtrid

Nüüd saame ainult andmepakettide kuvamiseks ja analüüsimiseks kasutada mõningaid täpsemaid pealkirjafiltri valikuid. Mis tahes TCP-paketis algavad TCP-lipud alates 14. baidist nii, et PSH ja ACK on esindatud 4. ja 5. bitiga.

Saame seda teavet kasutada, kui need bitid sisse lülitada 00011000 või 24 ainult PSH- ja ACK-lippudega andmepakettide kuvamiseks. Selle numbri edastame filtriga tcpdumptcp [13] = 24“, Pange tähele, et TCP massiiviindeks algab nullist.

Filtreerime selle paketi enda hulgast välja text_capture.pcap fail ja kasutage -A pakettandmete kuvamiseks teie jaoks.

Samamoodi saate filtreerida mõned muud lipupaketid „Tcp [13] = 8” ja „tcp [13] = 2” ainult PSH ja SYN lippude jaoks jne.

ubuntu $ ubuntu: ~ $ sudo tcpdump -A 'tcp [13] = 24' -r / tmp / test_capture.pcap
lugemine failist / tmp / test_capture.pcap, link-tüüpi EN10MB (Ethernet)
19:26:17.827902 IP ubuntu.53298> 32.121.122.34.bc.googleusercontent.com.http: Lipud [P.], seq 4286571276: 4286571363, ack 252096002, win 64240, pikkus 87: HTTP: GET / HTTP / 1.1
E…:?@[email protected].
... "zy .2.P… P… GET / HTTP / 1.1
Host: ühenduvuse kontroll.ubuntu.com
Nõus: * / *
Ühendus: sulgege

Järeldus

Selles artiklis oleme tutvustanud teile mõnda olulisemat teemat tcpdump. Tcpdump koos CLI jõuga võib olla suureks abiks võrgu tõrkeotsingus, automatiseerimises ja turbehalduses. Kui need on uuritud ja kombineeritud, võivad selle filtrid ja käsurea suvandid palju aidata teie igapäevases tõrkeotsingus ja automatiseerimises ning võrgu üldises mõistmises.

Parimad mängud, mida saab mängida käte jälgimisega
Oculus Quest tutvustas hiljuti suurepärast ideed käsitsi jälgimisest ilma kontrolleriteta. Üha suurema hulga mängude ja tegevustega, mis toetavad kas ...
Kuidas kuvada OSD ülekatet täisekraanil Linuxi rakendustes ja mängudes
Täisekraaniga mängude mängimine või rakenduste kasutamine häireteta täisekraanirežiimis võib teid paneelil või tegumiribal kuvatavast asjakohasest süs...
Viis parimat mängu püüdmise kaarti
Me kõik oleme YouTube'is voogesituse mänge näinud ja armastanud. PewDiePie, Jakesepticye ja Markiplier on vaid mõned tipptasemel mängijatest, kes on t...