tcpdump

Útmutató a hálózati forgalomelemző segédprogram TCPDUMP-hoz

Útmutató a hálózati forgalomelemző segédprogram TCPDUMP-hoz

Tcpdump egy hálózati csomagszippantó parancssori segédprogram. Leggyakrabban a hálózatok hibaelhárításához és a biztonsági problémák teszteléséhez használják. Annak ellenére, hogy nincs grafikus felhasználói felület, ez a legnépszerűbb, legerősebb és legsokoldalúbb parancssori segédprogram.

A Linux-ban őshonos, így a legtöbb Linux-disztribúció a szokásos operációs rendszer részeként telepíti. A Tcpdump egy libpcap interfészes program, amely egy könyvtár a hálózati datagram rögzítéséhez.

Ez a cikk demisztifikálja a tcpdump-ot, bemutatva, hogyan rögzítse, olvassa el és elemezze a rögzített hálózati forgalmat ebben a segédprogramban. Később megértésünket felhasználjuk az adatcsomagok ellenőrzésére a fejlett TCP jelzőszűrőkkel.

Tcpdump telepítés

Az alapértelmezett Tcpdump telepítés a telepítési folyamat során kiválasztott opcióktól függ. Egyedi telepítés esetén lehetséges, hogy a csomag nem érhető el. A tcpdump telepítését a dpkg parancsot a-s" választási lehetőség.

ubuntu $ ubuntu: ~ $ dpkg -s tcpdump

Vagy használja a „sudo apt-get install tcpdump” parancsot a tcpdump telepítéséhez az Ubuntu Linux rendszerben.

Csomagok rögzítése a Tcpdump szolgáltatásban:

A rögzítési folyamat megkezdéséhez először meg kell találnunk működő felületünket a “ifconfig”Parancsot. Vagy felsorolhatjuk az összes elérhető interfészt a tcpdump parancsot a-D" választási lehetőség.

ubuntu $ ubuntu: ~ $ tcpdump -D

A rögzítési folyamat megkezdéséhez használhatja a szintaxist;

tcpdump [-options] [kifejezés]

Például az alábbi parancsban a „-én”Opcióval rögzítheti a forgalmat a„enp0s3”Interfész,„-c”Jelző a rögzített csomagok korlátozásához és a„-w”Azt a teszt_fogás.pcap fájl.

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

Ehhez hasonlóan különféle szűrőkombinációkat is használhat a forgalom elkülönítésére az Ön igényei szerint. Az egyik ilyen példa a hálózati adatok elkapása és a gazdagéphez érkezése a házigazda parancs egy adott kikötő. Sőt, a „-n”Jelzéssel megakadályozhatja, hogy a tcpdump rögzítse a DNS-kereséseket. Ez a jelző nagyon hasznos a forgalom telítésében a hálózat hibaelhárítása közben.

ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -c 20 hoszt 10.0.2.15 és dst 80 -w-t /mp / test_capture1.pcap
tcpdump: hallgatás enp0s3-on, link típusú EN10MB (Ethernet), rögzítési méret 262144 bájt
20 csomag elfogva
21 csomag érkezett szűrővel
0 csomagot dobott le a kernel

A „és”Parancs csak a 10. hosztot tartalmazó csomagok elfogására.0.2.15 és a célkikötő 80. Hasonlóképpen számos más szűrő is alkalmazható a hibaelhárítási feladatok megkönnyítésére.

Ha nem akarja használni a-c”Jelzővel a rögzítési forgalom korlátozásához megszakítási jelet használhat, azaz.e., Ctrl + C, az izolációs folyamat leállításához.

Tcpdump fájlok olvasása

A tcpdump rögzített fájlok olvasása nagyon elsöprő lehet. Alapértelmezés szerint a tcp neveket rendel az IP-címekhez és a portokhoz. A „-r”Jelző a már elfogott fájlunk elolvasásához teszt_fogás.pcap mentve a / tmp mappába. Csőbe vezetjük a kimenetet awk parancs csak a forrás IP-cím és portok kiadására és csatolására a parancshoz fej hogy csak az első 5 bejegyzés jelenjen meg.

ubuntu $ ubuntu: ~ $ sudo tcpdump -r / tmp / test_capture1.pcap | awk -F „” 'print $ 3' | fej -5
olvasás a / tmp / test_capture fájlból.pcap, link típusú EN10MB (Ethernet)
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298

A hálózati problémák megoldásához azonban ajánlott számokban használni az IP-címeket és a portokat. Letiltjuk az IP névfeloldást a “-n”Zászló és port nevek a következővel:-nn„.

ubuntu $ ubuntu: ~ $ sudo tcpdump -i enp0s3 -n
tcpdump: a bõvített kimenet elnyomva, a -v vagy -vv használatával teljes protokoll dekódoláshoz
hallgatás enp0s3-on, link típusú EN10MB (Ethernet), rögzítési méret 262144 bájt
20:08:22.146354 IP 10.0.2.15.54080> 172.67.39.148.443: Zászlók [P.], seq 1276027591: 1276027630, ack 544039114, win 63900, hossza 39
20:08:22.146745 IP 10.0.2.15.43456> 54.204.39.132.443: Zászlók [P.], seq 3381018839: 3381018885, ack 543136109, win 65535, hossza 46
20:08:22.147506 IP 172.67.39.148.443> 10.0.2.15.54080: Zászlók [.], ack 39, win 65535, hossza 0
20:08:22.147510 IP 54.204.39.132.443> 10.0.2.15.43456: Zászlók [.], ack 46, win 65535, hossza 0
20:08:22.202346 IP 216.58.209.142.443> 10.0.2.15.41050: Zászlók [P.], seq 502925703: 502925826, ack 1203118935, win 65535, hossz 123
20:08:22.202868 IP 10.0.2.15.41050> 216.58.209.142.443: Zászlók [P.], szekvencia 1:40, ack 123, win 65535, hossza 39

A rögzített kimenet megértése

A Tcpdump sok protokollt rögzít, beleértve az UDP-t, TCP-t, ICMP-t stb. Nem könnyű itt mindegyiket lefedni. Fontos azonban megérteni, hogy az információ hogyan jelenik meg és milyen paramétereket tartalmaz.

A Tcpdump minden csomagot egy sorban jelenít meg, időbélyeggel és a protokollra vonatkozó információkkal. Általában a TCP protokoll formátuma a következő:

. > .: , , , , ,

Magyarázzuk el az egyik elfogott csomagmezőt mezőnként:

20:08:22.146354 IP 10.0.2.15.54080> 172.67.39.148.443: Zászlók [P.], seq 1276027591: 1276027630, ack 544039114, win 63900, hossza 39
  • 20:08:22.146354: A rögzített csomag időbélyegzője
  • IP: Hálózati réteg protokoll.
  • 10.0.2.15.54080: Ez a mező tartalmazza a forrás IP-címét és a forrásportot.
  • 172.67.39.148.443: Ez a mező a cél IP-címet és a portszámot jelöli.
  • Zászlók [P.] /: A zászlók a kapcsolódási állapotot képviselik. Ebben az esetben [P.] a PUSH nyugtázási csomagot jelöli. A zászló mező néhány egyéb értéket is tartalmaz, például:
    1. S: SYN
    2. P: PUSH
    3. [.]: ACK
    4. F: FIN
    5. [S.]: SYN_ACK
    6. R: RST
  • seq 1276027591: 1276027630: Az első sorszám: az utolsó formátum a csomagban lévő adatok számát jelöli. Az első csomagot kizárva, ahol a számok abszolút értékek vannak, a következő csomagoknak relatív száma van. Ebben az esetben a számok itt azt jelentik, hogy a csomag 1276027591 és 1276027630 közötti bájtokat tartalmaz.
  • ack 544039114: A nyugtázási szám a következő várható adatsorszámot ábrázolja.
  • win 63900: Az ablak mérete a rendelkezésre álló bájtok számát mutatja a fogadott pufferben.
  • hossza 39: Hasznos adatok hossza bájtokban.

Haladó szűrők

Most néhány speciális fejlécszűrő opciót használhatunk csak adatcsomagok megjelenítésére és elemzésére. Bármely TCP csomagban a TCP jelzők a 14. bájttól kezdődnek, úgy, hogy a PSH-t és az ACK-t 4. és 5. bit képviseli.

Ezeket az adatokat a bitek bekapcsolásával használhatjuk fel 00011000 vagy 24 csak PSH és ACK jelzővel ellátott adatcsomagok megjelenítésére. Ezt a számot átadjuk a tcpdump-nak a szűrőveltcp [13] = 24“, Vegye figyelembe, hogy a TCP tömbindexe nullától kezdődik.

Kiszűrjük ezt a csomagot a csomagunkból text_capture.pcap fájlt, és használja a -A opció a csomag összes adatának megjelenítéséhez.

Hasonlóképpen kiszűrhet néhány más zászlócsomagot is „Tcp [13] = 8” és „tcp [13] = 2” csak a PSH és a SYN zászlókra stb.

ubuntu $ ubuntu: ~ $ sudo tcpdump -A 'tcp [13] = 24' -r / tmp / test_capture.pcap
olvasás a / tmp / test_capture fájlból.pcap, link típusú EN10MB (Ethernet)
19:26:17.827902 IP ubuntu.53298> 32.121.122.34.időszámításunk előtt.googleusercontent.com.http: Zászlók [P.], seq 4286571276: 4286571363, ack 252096002, win 64240, hossz 87: HTTP: GET / HTTP / 1.1
E…:?@[email protected].
… "Zy .2.P… P… GET / HTTP / 1.1
Host: kapcsolat-ellenőrzés.ubuntu.com
Elfogad: */*
Csatlakozás: zár

Következtetés

Ebben a cikkben bemutattuk a tcpdump néhány legfontosabb témáját. A Tcpdump a CLI erejével együtt nagy segítség lehet a hálózati hibaelhárításban, az automatizálásban és a biztonsági menedzsmentben. Miután áttanulmányozta és kombinálta, szűrői és parancssori opciói nagyban hozzájárulhatnak a napi hibaelhárítási és automatizálási feladatokhoz, valamint a hálózat átfogó megértéséhez.

Shadow of the Tomb Raider for Linux Tutorial
A Shadow of the Tomb Raider a Tomb Raider sorozat tizenkettedik kiegészítője - az Eidos Montreal által létrehozott akció-kaland játék franchise. A ját...
Az FPS növelése Linux alatt?
Az FPS jelentése Képkocka másodpercenként. Az FPS feladata a videolejátszások vagy játékteljesítmények képkockasebességének mérése. Egyszerű szavakkal...
A legnépszerűbb Oculus App Lab játékok
Ha Oculus fülhallgató-tulajdonos, akkor tisztában kell lennie az oldalsó töltéssel. Az oldaltöltés a nem áruházi tartalom fejhallgatóra történő telepí...