uy - Dasturiy ta'minot
Tcpdump-ni o'rnatish va ishlatish. Havoni filtrlang! Biz tcpdump yordamida tarmoq trafigini tekshiramiz Tcpdump ma'lum vaqtdan keyin qanday qilib to'xtatiladi

Shuning uchun, men o'zimning cheat varaqimni yaratishga qaror qildim, shunda u shunday bo'ladi... Chunki tcpdumpsiz bir nechta administrator administrator bo'lmaydi.

Kirish

Ko'pincha tarmoqdagi muammolarni topish uchun ular foydalanadilar tarmoq trafigi analizatorlari . tcpdump ushbu sinf dasturlari vakillaridan biri bo'lib, u uzatiladigan tarmoq paketlari, kadrlar va tarmoq trafigini uzatishning boshqa birliklari darajasida tarmoq ishini tinglash (ko'rsatish/saqlash) va tahlil qilish imkonini beradi. Tarmoq konfiguratsiyasiga qarab, tcpdump tinglashi mumkin nafaqat ma'lum MAC manzili uchun mo'ljallangan paketlar, balki translyatsiya paketlari ham. Tarmoq paketlarini ushlash tinglash asosida amalga oshiriladi "fotosh" rejimi tarmoq adapterining ishlashi.

Ethernet tarmog'idagi kompyuterlarni ulash uchun ishlatiladigan tarmoq uskunasiga qarab, quyidagilar mavjud: trafikni tinglash qobiliyati:

  • Onlayn asoslangan boyitish korxonalari markazdan barcha trafik har qanday tarmoq xostiga mavjud.
  • Tarmoqlarga asoslangan kalitlari(o'zgartiradi) tarmoq xosti faqat uning trafigiga, shuningdek ushbu segmentning barcha translyatsiya trafigiga kirish huquqiga ega.
  • Ba'zi boshqariladigan kalitlar ma'lum portning trafigini monitoring portiga ko'chirish funktsiyasiga ega ("ko'zgu", port monitoringi).
  • Bo'shliqqa kiritilgan maxsus vositalardan (kuplajlardan) foydalanilganda tarmoq ulanishi va ulanish trafigini alohida portga jo'natish, mos keladigan portda tinglash mumkin.
  • Hub bilan "hiyla" shundan iboratki, trafigini tinglash kerak bo'lgan kommutator porti hub orqali yoqiladi, shuningdek monitor tugunini markazga ulaydi (bu holda, ko'p hollarda tarmoq ulanishining ishlashi). qisqartirildi).

Shunday qilib, tcpdump yordam dasturi ko'pgina Unix distributivlariga kiritilgan va faylga tarmoq trafigini ushlab turish va ko'rsatish/saqlash imkonini beradi. Yordamchi dastur foydalanadi libpcap kutubxonasi. Windows uchun port ham mavjud. Bu yordamchi dasturning ishlashi uchun talab qilinadi. Masalan, Debian-da u buyruq yordamida o'rnatiladi:

Debian:~# apt-get install tcpdump

Utilitalar ishlash uchun zarur (tarmoq interfeysi sozlamalari o'zgartirilganligi sababli - u "foto" rejimiga o'tkaziladi). Umuman tcpdump buyruq formati quyidagi shaklga ega:

Debian: ~# tcpdump<опции> <фильтр>

tcpdump yordam dasturi imkoniyatlari

-i interfeysi

Trafikni tahlil qilish kerak bo'lgan interfeysni belgilaydi (interfeysni ko'rsatmasdan - "birinchi paydo bo'lgan" tahlili).

IP-ga tarjima qilishni o'chiradi domen nomlari. Agar -nn belgilansa, port raqamlarini protokol nomlariga aylantirish taqiqlanadi.

Tcpdump buyrug'i uchun eng ko'p ishlatiladigan filtr variantlari:

dst xost

IP-paketning maqsad manzili belgilangan qiymatga mos kelishini tekshiradi. 10.0.0.1/24 formatida IP, pastki tarmoq va xost nomini o'rnatish mumkin.

src xost

IP-paketning manba manzili belgilangan qiymatga mos kelishini tekshiradi. 10.0.0.1/24 formatida IP, pastki tarmoq va xost nomini o'rnatish mumkin.

xost egasi

Yuboruvchi yoki qabul qiluvchi manzili belgilangan qiymatga mos kelishini tekshiradi. 10.0.0.1/24 formatida IP, pastki tarmoq va xost nomini o'rnatish mumkin.

tarmoq_nomi

Yuboruvchi/qabul qiluvchi manzili belgilangan tarmoqda ekanligini tekshiradi. Tarmoqni CIDR formatida ko'rsatish mumkin (masalan, 10.0.0.1/22) yoki da ko'rsatilgan tarmoq nomini ko'rsatish mumkin.

ip | arp | rarp | tcp | udp | icmp [xost]

Paket ko'rsatilgan protokollardan biriga tegishli yoki yo'qligini tekshiradi va xost manzilini ko'rsatishda jo'natuvchi/oluvchi manzili ko'rsatilganiga mos kelishini tekshiradi. 10.0.0.1/24 formatida IP, pastki tarmoq va xost nomini o'rnatish mumkin.

dst port port_numeri

Paketning TCP/UDP protokoliga tegishliligi va belgilangan portga teng ekanligi tekshiriladi. Siz port raqamini yoki /etc/services faylida ko'rsatilgan nomni belgilashingiz mumkin.

src port port_raqami

Paketning TCP/UDP protokoliga tegishliligi va manba porti ko'rsatilganiga tengligi tekshiriladi. Siz port raqamini yoki /etc/services faylida ko'rsatilgan nomni belgilashingiz mumkin.

port port_raqami

Paketning TCP/UDP protokoliga tegishliligi va maqsad yoki manba porti ko'rsatilganiga tengmi yoki yo'qmi tekshiriladi. Siz port raqamini yoki /etc/services faylida ko'rsatilgan nomni belgilashingiz mumkin.

ip orqali uzatish

IP-paket translyatsiya paketi yoki yo'qligini tekshiradi.

efir (src | dst | xost) MAC_manzil

Tarmoq paketining manba, maqsad, manba yoki berilgan MAC_manzilga ega bo'lgan manzilga tegishli ekanligini tekshiradi.

efir translyatsiyasi

ARP paketi translyatsiya paketi ekanligini tekshiradi.

tcpdump buyrug'idan foydalanishga misollar

tcpdump yordamida tarmoq darajasida (ARP, ICMP) trafik tahlili

Faraz qilaylik, bizda 2 ta xost bor. eth0 interfeysi va quyidagi parametrlarga ega 1-xost:

Xost1:~# IP manzilini ko'rsatish dev eth0 5: eth0: mtu 1500 qdisc pfifo_fast holati noma'lum qlen 1000 havola/eter 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff inet 192.168.56.1/24 brd 1952.56.1/24 brd 1952.56.065.06.2. :800:27ff:fe00:0/64 ko'lamli havola valid_lft forever preferred_lft forever

Shuningdek, eth1 interfeysi bilan host2

Xost2:~# IP manzilini ko'rsatish dev eth1 3: eth1: mtu 1500 qdisc pfifo_fast state UP qlen 1000 havola/eter 08:00:27:fd:e5:aa brd ff:ff:ff:ff:ff:ff inet 192.168.56.33/24 qamrovi global eth1:77602: :fefd:e5aa/64 doirasi havolasi valid_lft forever preferred_lft forever

Faraz qilaylik, shu paytgacha xostlar o'rtasida tarmoq ma'lumotlari almashinuvi bo'lmagan va agar siz 2-xostda ip neigh show buyrug'ini ishga tushirsangiz, ARP jadvalida hech qanday yozuv yo'qligini ko'rasiz. Keling, bir oz tajriba qilaylik. Keling, host1 virtual interfeyslaridan birida tcpdump yordam dasturini ishga tushiramiz:

Host1:~# tcpdump -ne -i eth0 tcpdump: batafsil chiqish bostirilgan, eth0 da toʻliq protokol dekodlanishini tinglash uchun -v yoki -vv dan foydalaning, havola turi EN10MB (Ethernet), yozib olish hajmi 65535 bayt

Xost1:~# ping -c 1 192.168.56.33 PING 192.168.56.33 (192.168.56.33) 56(84) bayt maʼlumot. 192.168.56.33 dan 64 bayt: icmp_req=1 ttl=64 vaqt=1,06 ms --- 192.168.56.33 ping statistikasi --- 1 ta paket uzatildi, 1 ta qabul qilindi, 0% paket yoʻqolishi, vaqt 0ms maks. rttm/avde = 1,067/1,067/1,067/0,000 ms

Shundan so'ng, host1 tizimining ARP jadvalida host2 IP-manzili haqidagi yozuv paydo bo'ldi:

Host1:~# ip Neigh show dev eth0 192.168.56.33 lladdr 01:00:27:77:e5:00 HOST2

Virtual konsolda tcpdump bizga quyidagi ma'lumotlarni ko'rsatdi:

Host1:~# tcpdump -ne -i eth0 tcpdump: batafsil chiqish bostirilgan, eth0 da toʻliq protokol dekodlanishini tinglash uchun -v yoki -vv dan foydalaning, havola turi EN10MB (Ethernet), yozib olish hajmi 65535 bayt 12:16:29.4657080 :27:00:00:00 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), uzunligi 42: 192.168.56.33 raqamiga ega bo'lgan so'rov 192.168.56.1, uzunligi 28 12:16:29640 :00:27:77:e5:00 > 0a:00:27:00:00:00, ethertype ARP (0x0806), uzunligi 42: 192.168.56.33 javobi 01:00:27:77:e5:00 da , uzunligi 28 12:16:29.466815 0a:00:27:00:00:00 > 01:00:27:77:e5:00, ethertype IPv4 (0x0800), uzunligi 98: 192.168.56.1 > 1832.MP echo so‘rovi, id 5284, 1-seq, uzunlik 64 12:16:29.467934 01:00:27:77:e5:00 > 0a:00:27:00:00:00, ethertype IPv4 (0x0800), uzunligi 98:619 .56.33 > 192.168.56.1: ICMP echo javobi, id 5284, ketma-ket 1, uzunlik 64 ^C 4 paket ushlandi Filtr orqali 4 paket qabul qilindi 0 paket yadro tomonidan tushirildi

Ushbu formatdagi har bir tarmoq paketi yozuvi paket ushlangan vaqtni, manba va maqsad MAC manzillarini, protokol turini, paketning uzunligini va paketning mazmuni haqidagi ma'lumotlarni o'z ichiga oladi. Birinchi yozuv 1 tizim hostining eth0 interfeysining MAC manzilidan ARP eshittirish so‘rovini tavsiflaydi (" Kimda 192.168.56.33 manzili bor, unda 192.168.56.1 yozilgan"). Ikkinchi kirish- host2 ning MAC manzilidan host1 ning MAC manziliga javob (" 192.168.56.33 da MAC manzili 01:00:27:77:e5:00"). Uchinchi va to'rtinchi yozuvlar (ICMP so'rovi Va ICMP javobi) xost1 da ishlaydigan ping buyrug'ining natijasidir. Keyin tcpdump uzildi. O'chirishdan oldin tcpdump operatsiya statistikasini chop etadi: tutib olingan, filtr tomonidan qabul qilingan va yadro tomonidan o'chirilgan paketlar soni

Shunday qilib, host1 tizimi xost2 mashinasiga standart aks-sado so'rovini yuborish uchun avval ARP protokoli yordamida xost2 mashinasining MAC manzillarini oldi va uni IP-manzilga bog'langan holda o'zining ARP jadvaliga kiritdi.

tcpdump yordamida transport qatlamida (TCP, UDP) trafik tahlili

Xost2 tizimida ma'lum bir WEB-server o'rnatilgan deb faraz qilaylik. Lynx konsol brauzeri yordamida host1 mashinasida ushbu veb-serverdan sahifa ochishga harakat qilaylik:

Xost1:~# lynx 192.168.56.33

Boshqa konsolda avval tcpdump ni filtr parametrlari bilan ishga tushiring:

Host1:~# tcpdump -n -i eth0 xost 192.168.56.33 va port 80 tcpdump: batafsil chiqish bostirilgan, eth0 da to‘liq protokol dekodlanishini tinglash uchun -v yoki -vv dan foydalaning, havola turi EN10MB (Ethernet), suratga olish hajmi 6515 bytes :44:37.837393 IP 192.168.56.1.41533 > 192.168.56.33.80: Bayroqlar [S], seq 1209026235, win 5840, imkoniyatlari , uzunligi 0 15:44:318. IP.8.41318. > 1 92.168.56.1.41533 : Flags , seq 370041518, ack 1209026236, win 5792, options , length 0 15:44:37.838157 IP 192.168.56.1.41533 > 192.168.586, win opsiyalari [a] 338.586, Flag. , uzunligi 0 1 5: 44:37.839254 IP 192.168.56.1.41533 > 192.168.56.33.80: Bayroqlar , seq 1:222, ack 1, win 46, variantlar , uzunlik 221 15:44:96 IP > 192 .168.56 .1.41533 : Flags [.], ack 222, win 1716, options , length 0 15:44:37.848118 IP 192.168.56.33.80 > 192.168.56.1.41533: Flag162, se6142, win , variantlar , uzunligi 445 15:44:37.848156 IP 192.168.56.1.41533 > 192.168.56.33.80: Bayroqlar [.], ack 446, g'alaba 54, variantlar , uzunligi 0 15:44:78.38.38. IP. > 192. 168.56.1.41533: Bayroqlar, SEQ 446, ACK 222, Win 1716, Parametrlar, Uzunlik 0 15: 44: 37.850366 IP 192.168.56.1.41533> 192.168.56.1.41533> 192.168.56, SEQ. 7, Win 54, Options, leen GTH 0 15:44:37.851267 IP 192.168.56.33.80 > 192.168.56.1.41533: Bayroqlar [.], ack 223, qozonish 1716, variantlar , uzunlik 0 ...

IN bu misolda mijoz (192.168.56.1) TCP 41533 portidan 80-portda tinglovchi server (192.168.56.33) bilan aloqa o'rnatadi, so'rov yuboradi, kerakli ma'lumotlarni oladi va ulanish tugaydi.

TCP segmenti sarlavhasi, bundan tashqari qabul qiluvchi va jo'natuvchi port raqamlari bir qator parametrlarni o'z ichiga oladi:

  • Tartib raqami(ketma-ket). Tarmoqqa yuborilgan oqimdagi baytlarning tartibini aniqlaydi (ma'lumotlar oqimining boshlanishiga nisbatan segmentdagi birinchi baytning ofseti).
  • Tasdiqlangan raqam(ACK). Qabul qilingan segmentdagi maksimal bayt soni 1 ga oshiriladi. Yuboruvchiga yuborilgan minnatdorchilik bir vaqtning o'zida ma'lumotlarning yangi qismi uchun so'rov sifatida xizmat qiladi.
  • Boshqarish bayroqlari(SYN - S, ACK, FIN -F, RST - R, PSH - P, URG)
  • Oyna(win) - ack maydonida raqami ko'rsatilgan baytdan boshlab ma'lumotlarni jo'natuvchi kutgan ma'lumotlar baytlari soni. Uzatishni optimallashtirish uchun jo'natuvchi har bir yuborilgan segment uchun tasdiqlashni kutmaydi, balki tarmoqqa segmentga guruh yuborishi mumkin (lekin oyna hajmidan katta bo'lmagan baytlarda). Agar kanal sifati yomon bo'lsa (qayta uzatish uchun ko'plab so'rovlar, tasdiqlar yo'qoladi), oyna pasayadi, yaxshi bo'lsa, oyna ortadi.
  • Variantlar. Yordamchi muammolarni hal qilish uchun ishlatiladi. Masalan, MSS (Maksimal segment hajmi) uzatiladi - maksimal segment hajmi.

Ikki tomonlama TCP ulanishini o'rnatish jarayoni dastlabki uchta tcpdump yozuvida aks ettirilgan:

  • Mijoz serverga SYN bayrog'i o'rnatilgan TCP segmentini yuboradi, boshlang'ich "tasodifiy" raqam (1209026235), bu raqamdan u yuboradigan oqimdagi baytlar raqamlanadi, maksimal oyna o'lchami serverga ruxsat berilgan hajmdir. mijozdan tasdiqsiz uzatish (5840): 15: 44:37.837393 IP 192.168.56.1.41533 > 192.168.56.33.80: Bayroqlar [S], seq 1209026235, 584 opsiyani yutib oling
  • Server mijozga SYN va ACK bayroqlari o'rnatilgan TCP segmentini yuboradi, u yuboradigan oqimdagi baytlar raqamlangan boshlang'ich "tasodifiy" raqam (370041518) va mijoz uchun maksimal oyna hajmi (5792). Bu segment mijozdan ulanish soʻrovi qabul qilinganligini ham tasdiqlaydi: 15:44:37.838118 IP 192.168.56.33.80 > 192.168.56.1.41533: Bayroqlar , seq 370041518, ack 57, uzunlik 1292, win 1296
  • Mijoz serverga ACK bayrog'i o'rnatilgan TCP segmentini yuboradi, bu segmentni serverdan olganligini tasdiqlaydi (bundan keyin tcpdump seq va so'rashning nisbiy qiymatlarini ko'rsatadi): 15:44:37.838157 IP 192.168.56.1 .41533 > 192.168.56.33.80: Bayroqlar [. ], ack 1, 46 yutish, variantlar , uzunlik

Bundan keyin aloqa o'rnatilgan deb hisoblanadi.

Keyingi yozuvlar juftligida mijoz segment ma'lumotlari bo'limidagi serverga dastur qatlami protokoli so'rovini (221 bayt) yuboradi va serverdan uning qabul qilinganligi haqidagi tasdiqni oladi:

15:44:37.839254 IP 192.168.56.1.41533 > 192.168.56.33.80: Bayroqlar , seq 1:222, ack 1, win 46, variantlar , uzunlik 221 15:44:96 IP > 192.168.56.1 .41533: Bayroqlar [.], ack 222, g'alaba 1716, variantlar , uzunlik 0

Bunday holda, PSH (P) bayrog'i jo'natuvchi tomonni qabul qiluvchi tomon ma'lumotlarni qabul qilishga tayyorligi haqida xabar berish uchun ishlatiladi. Keyinchalik, server ma'lumotlarni mijozga yuboradi (445 bayt) va undan olinganligi haqidagi tasdiqni oladi:

15:44:37.848118 IP 192.168.56.33.80 > 192.168.56.1.41533: Bayroqlar , ketma-ket 1:446, ack 222, win 1716, variantlar , uzunlik 445:35 15.612.814.14. .4 1533 > 192.168. 56,33 .80: Bayroqlar [.], ack 446, g'alaba 54, variantlar , uzunlik 0

Keyin, serverning tashabbusi bilan ulanish tugatiladi. Server FIN bayrog'i o'rnatilgan paketni yuboradi:

15:44:37.849738 IP 192.168.56.33.80 > 192.168.56.1.41533: bayroqlar , seq 446, ack 222, win 1716, variantlar , uzunlik 0

Mijoz, shuningdek, FIN bayrog'i o'rnatilgan paketni yuborish orqali javob beradi; bu paket shuningdek, serverdan ulanishni to'xtatish uchun so'rovni olganligini tasdiqlaydi:

15:44:37.850366 IP 192.168.56.1.41533 > 192.168.56.33.80: bayroqlar , seq 222, ack 447, yutuq 54, variantlar , uzunlik 0

Server faqat mijozdan FIN segmentini olishni tasdiqlashi mumkin:

15:44:37.851267 IP 192.168.56.33.80 > 192.168.56.1.41533: Bayroqlar [.], ack 223, win 1716, variantlar , uzunlik 0

tcpdump ning yopiq port 23/tcp ga ulanishga bo'lgan munosabati:

21:56:14.381091 IP 192.168.56.1.54040 > 192.168.56.33.23: Flags [S], seq 2956835311, win 5840, imkoniyatlari , uzunligi 0 21:536.818. IP 23 > 192.168.56.1.54040 : Bayroqlar, ketma-ket 0, ack 2956835312, g'alaba 0, uzunlik 0

Ushbu misolda 192.168.56.1 tizimidan 192.168.56.33 tugunida mavjud bo'lmagan TCP xizmatiga ulanishga urinish qilingan. Masofaviy tizim RST (qayta tiklash) bayrog'i o'rnatilgan segmentni yuborish orqali javob beradi.

tcpdump yopiq port 53/udp ga UDP datagrammasini yuborishga javob:

21:55:16.925906 IP 192.168.56.1.41979 > 192.168.56.33.53: 6561+ A? www.tut.by. (28) 21:55:16.926615 IP 192.168.56.33 > 192.168.56.1: ICMP 192.168.56.33 udp port 53 bilan bog‘lanib bo‘lmaydi, uzunligi 64

Ushbu misol UDP datagrammasini masofaviy tizimdagi mavjud bo'lmagan portga yuborishga harakat qiladi. UDP odatda manba xostiga portga kirish imkoni yo'qligi haqida ICMP xabarini yuborish orqali javob beradi.

Tcpdump buyrug'idan foydalanishning boshqa misollari:

# tcpdump -n -i ppp0 efir src 11:20:b3:d8:d8:2c

Manba MAC manzili 11:20:b3:d8:d8:2c bo'lgan kadrlar uchun IP-ni DNS (-n) ga aylantirmasdan ppp0 interfeysidan (-i ppp0) tarmoq statistikasini ko'rsating.

# tcpdump -n -e -i vlan0 efir translyatsiyasi

Vlan0 interfeysidan translyatsiya trafigini chiqarish.

# tcpdump -n -i eth0 src 192.168.66.1

Filtrlangan tarmoq paketlari, sarlavhasida 192.168.66.1 IP manzili manba maydonida ko'rsatilgan.

# tcpdump -n -i eth0 xost 192.168.66.1

Ushbu IP manzil paketning manbasi yoki manzili sifatida ko'rsatilgan paketlar filtrlanadi.

# tcpdump -n -i eth0 src net 10.0.0.0 niqob 255.0.0.0

Manba 10.0.0.0/8 tarmoq tugunlarini ko'rsatadigan paketlar filtrlanadi.

# tcpdump -n -i eth0 icmp

eth0 interfeysidan faqat ICMP paketlarini chiqaradi.

Shu bilan men hozirgi maqolani tugataman deb o'ylayman. Yangi misollar paydo bo'lganda, men maqolani yangilayman. Umid qilamanki, material nafaqat men uchun foydali bo'ladi

Maqolada intuit ma'ruzalaridan misollar va ba'zi materiallar ishlatilgan.

Hurmat bilan, MakSim!

2011 yil 19 dekabr Genri Van Styn tomonidan
QANDAY ISHLAB CHIQISH

Paketlarni yozib olish tarmoq jarayonlarini tahlil qilishning eng kuchli usullaridan biridir. Oqib kelayotgan xom maʼlumotlarni ushlab olish va tekshirish orqali tarmoqda nima sodir boʻlayotgani haqida koʻp maʼlumotga ega boʻlishingiz mumkin. tarmoq ulanishlari. Trafikni tahlil qilishning zamonaviy yordamchi dasturlari ma'lumotlar oqimini inson o'qiy oladigan uslubda yozib olish, sharhlash va tavsiflash imkonini beradi.

tcpdump trafikni tinglash yoki hidlashning muhim vositasi bo'lib, u ko'plab tahlil qilish imkoniyatlarini beradi va hatto sharhlangan paket maydonlarini boshqa dasturlarga eksport qilishi mumkin.

Agar siz Wireshark kabi grafik vositalar paydo bo'lishi bilan tcpdump kabi yordamchi dasturlar o'z qiymatini yo'qotmoqda deb o'ylasangiz, yana bir bor o'ylab ko'ring. Wireshark - bu ajoyib dastur, lekin u mutlaqo barcha holatlar uchun universal vosita emas. Turli xil ilovalar uchun universal engil yechim sifatida (masalan, Unix asboblari mushuki, kamroq va hexdump), tcpdump ancha sovuqroq ko'rinadi. Va uning eng ta'sirli xususiyati - foydalanish qulayligi. Xulq-atvor uslubi sifatida u tez, bir bosqichli javoblarni olish uchun "bir qatorli buyruq" kontseptsiyasining yaqinlashuviga amal qiladi. Bunga qo'shimcha ravishda, u ssh sessiyasida grafiklarga ehtiyoj sezmasdan foydalanish mumkin. Sintaksis konventsiyalarini qo'llab-quvvatlash bilan buyruq qatori(masalan, ma'lumotlar oqimini qayta yo'naltirilishi mumkin bo'lgan standart chiqishga chiqarish) tcpdump qiziqarli va foydali yordamchi dasturlarni yaratish uchun barcha turdagi quvurlarda ishlatilishi mumkin.

Ushbu maqolada men tcpdump-dan foydalanishning ba'zi asosiy tamoyillari va uning sintaksisi asoslarini ko'rib chiqaman.

Asoslar

Tcpdump-dan foydalanish bo'yicha usta bo'lishdan oldin, tushunishingiz kerak bo'lgan ba'zi asosiy tushunchalar mavjud. Birinchidan, paketni yozib olish passiv jarayon bo'lib, u hech qanday trafikni o'zgartirmaydi va tarmoqqa o'zidan hech narsa uzatmaydi. Ikkinchidan, siz faqat tizimingiz qabul qiladigan paketlarni olishingiz mumkin. Agar ikkita xost to'g'ridan-to'g'ri paketlarni almashtirsa va bu trafik sizning kompyuteringizni chetlab o'tsa, siz monitoring vositasidan qat'i nazar, hech narsani ko'rmaysiz. Uchinchidan, tarmoq interfeysi noxush rejimga o'tkazilmasa, faqat tizimingiz uchun mo'ljallangan paketlarni qo'lga kiritishingiz mumkin.

Sizni tizimingiz uchun paketlardan ko'proq narsa qiziqtiradi deb taxmin qilganligi sababli, tcpdump tizimdagi birinchi interfeysni (agar boshqasi aniq ko'rsatilmagan bo'lsa) avtomatik ravishda noxush rejimga o'tkazadi. Ushbu operatsiya superfoydalanuvchi huquqlarini talab qiladi.

Tcpdump buyruqlar anatomiyasi

tcpdump buyrug'i ikki qismdan iborat: variantlar va filtr ifodasi (1-rasm).

1-rasm. Tcpdump buyrug'iga misol

Filtr ifodasi qaysi paketlarni qo'lga kiritish kerakligini va variantlar - ulardan qaysi biri chiqishda ko'rsatilishini belgilaydi; variantlar shuningdek, yordamchi dasturning harakatini aniqlaydi.

Variantlar

Tcpdump opsiyalari standart buyruq qatori qoidalariga amal qiladi, shuning uchun parametr formati bayroq qiymati hisoblanadi. Ba'zi bayroqlar parametr qiymatiga ega emas, chunki ular o'zlari kalit hisoblanadi. Misol uchun, -i dan keyin interfeys nomi keladi va -n DNS orqali nomlarni aniqlashni o'chiradi.

Man sahifasida juda ko'p variantlar tasvirlangan, ammo ularsiz qilolmaysiz:

I interfeysi: tcpdump trafikni tinglaydigan interfeys;

V, -vv, -vvv: chiqishning aniqligi;

Savol: jim rejim;

E: havola sathi ramka sarlavhalarini chop etish (Ethernet);

N: xostlarning domen nomlarini hal qilish;

T: vaqt belgilarini chop qilmang;

N: xostlarning domen nomlarini hal qilmang;

S0 (yoki -s 0): maksimal ushlash, butun paketlar ushlanadi; V oxirgi versiyalari tcpdump standart xatti-harakatlardir.

Variantlarning hech biri talab qilinmaydi. Foydalanuvchi tomonidan belgilangan qiymatlar faqat dasturning standart xatti-harakatlarini o'zgartiradi, ya'ni birinchi interfeysda yozib olish va paket ma'lumotlarini bitta satrda chop etish.

Ifodalarni filtrlash
Filtr ifodalari paketning naqshga mos kelishini baholash uchun mantiqiy mezondir (ha/yo'q). Belgilangan shartlarga javob bermaydigan barcha paketlar e'tiborga olinmaydi.

Paket filtri sintaksisi kuchli va shaffofdir. Boshida u "ibtidoiy" deb nomlangan kalit so'zlarni o'z ichiga oladi, ular paketlar uchun turli xil kvalifikatsiyalar bo'lib, ular protokol, manzil, port yoki yo'nalish bo'lishi mumkin. Ular bir-biriga operatorlar yordamida zanjirlar bo'yicha ulanishi va/yoki meros qoidalari bo'yicha guruhlangan va birlashtirilgan, inkor yordamida tartiblangan bo'lishi mumkin.

O'z-o'zidan tushunarli mezon nomlari tufayli, filtr iboralari odatda o'z-o'zidan tushunarli bo'lib ko'rinadi, bu ularni qurish va tushunishni juda oson qiladi. To'liq sintaksis pcap-filtr man sahifasida tasvirlangan va ba'zi misollar bu erda keltirilgan:

ARP oddiy protokol bo'lib, u IP manzillarini MAC manzillariga hal qilish uchun ishlatiladi tarmoq kartalari. Yuqorida ko'rib turganingizdek, tcpdump bu paketlarni ancha sodda tarzda tasvirlaydi. Boshqa tomondan, DNS paketlari biroz boshqacha tavsiflanadi:

IP 10.0.0.2.50435 > 10.0.0.1.53: 19+ A? linuxjournal.com. (34) IP 10.0.0.1.53 > 10.0.0.2.50435: 19 1/0/0 A 76.74.252.198 (50)

Avvaliga bu etarli darajada aniq ko'rinmasligi mumkin, ammo protokollarning turli qatlamlari qanday ishlashini bilib olsangiz, bu yanada mantiqiy bo'ladi. DNS ARP ga qaraganda ancha murakkab protokol, lekin u ham yuqori darajada ishlaydi. Bu shuni anglatadiki, asosiy protokol paketlari chiqishda ham paydo bo'ladi. Turli jismoniy tarmoq segmentlari o'rtasida yo'naltirilmaydigan ARP dan farqli o'laroq, DNS Internet bo'ylab protokoldir. Ushbu paketlarni yo'naltirish uchun IP qatlami, transport uchun UDP ishlatiladi. Bu DNS-ni 5-qatlam protokoliga aylantiradi (IP - 3-qavat, UDP - 4-qavat).

Chiziqning chap tomonida manba manzili va portini o'z ichiga olgan UDP/IP qatlami ma'lumotlari, o'ngda esa maxsus DNS ma'lumotlari ko'rsatiladi. Sintaksis ancha ixcham bo'lsa-da, DNS ning asosiy elementlarini aniqlash uchun etarli. Birinchi paket linuxjournal.com uchun manzil so'rovi, ikkinchi paket 76.74.252.198 manzilini beruvchi javobdir. Bu oddiy DNS so'rovlari uchun odatiy ketma-ketlikdir.

Protokolga bog'liq bo'lgan barcha chiqish formatlarining to'liq tavsifi uchun tcpdump man sahifasining "OUTPUT FORMAT" bo'limiga qarang. Ba'zi protokollarning paketlari chiqishda yaxshiroq ko'rinadi, boshqalari yomonroq, lekin muhim ma'lumotlar odatda topish oson.

Chiqishni faylga yozib oling
Konsolga chiqadigan odatiy rejimga qo'shimcha ravishda (standart chiqish), tcpdump faylga chiqishni yozish rejimini ham qo'llab-quvvatlaydi. Rejim -w opsiyasi orqali faollashtiriladi, bu faylga yo'lni belgilaydi.

Faylga yozishda tcpdump ekranga chiqarishdan boshqa formatdan foydalanadi. Bu xom mahsulot deb ataladigan narsa, u paketning birlamchi tahlilini amalga oshirmaydi. Keyinchalik bu fayllardan foydalanish mumkin uchinchi tomon dasturlari Wireshark ni yozing, chunki fayldagi yozuvlar formati universal "pcap" formatiga mos keladi (bunday fayl -r opsiyasi yordamida tcpdump kiritishiga berilishi mumkin). Bu xususiyat bizga bitta mashinada paketlarni olish va ularni boshqa mashinada tahlil qilish imkonini beradi. Misol uchun, sizning noutbukingizda Wireshark mavjud. Oldindan olingan faylni skanerlash uchun uni tahlil qilinayotgan tarmoqqa ulashingiz shart emas.

TCP-ga asoslangan protokollarni tahlil qilish
tcpdump paket analizatoridir, shuning uchun u IP, UDP, DHCP, DNS va ICMP kabi paketlarga asoslangan protokollar bilan yaxshi ishlaydi. Agar ulanish o'rnatish uchun "oqim" yoki paketlar ketma-ketligi mavjud bo'lsa, tcpdump ushbu oqimlarni va ulanish stsenariylarini bevosita tahlil qila olmaydi. HTTP, SMTP va IMAP kabi protokollar "paketli" protokollarga qaraganda tarmoq nuqtai nazaridan ko'proq interaktiv ilovalarga o'xshaydi.

TCP seans protokollari ichidagi aloqa seanslari uchun zarur bo'lgan barcha past darajadagi tafsilotlarni foydalanuvchi uchun shaffof tarzda boshqaradi. Bu erda oqimga yo'naltirilgan ma'lumotlar paketlarga (segmentlarga) inkapsulyatsiya qilinadi, ular keyinchalik tarmoq orqali yuborilishi mumkin. Bunday barcha tafsilotlar dastur qatlami ostida yashiringan. Shuning uchun ulanishga yo'naltirilgan protokol paketlarini olish uchun qo'shimcha qadamlar talab qilinadi. Har bir TCP segmenti dastur darajasidagi ma'lumotlarning bir qismi bo'lganligi sababli, u haqidagi ma'lumotlardan bevosita foydalanish mumkin emas. Buning mantiqiy bo'lishi uchun siz alohida paketlar ketma-ketligidan TCP seansini (oqimni) to'liq qayta qurishingiz kerak. tcpdump bu xususiyatga ega emas. Seans protokollarini tahlil qilish uchun siz men "string trick" deb ataydigan narsadan foydalanishingiz mumkin.

String trick
Odatda, trafikni suratga olishda men ba'zi xatolarning sabablarini tahlil qilish maqsadini nazarda tutaman. Har qanday hodisaning sabablarini tushunish uchun ma'lumotlarni ko'rish uchun mukammal bo'lishi shart emas. Bunday hollarda tushunish tezligi hamma narsadan muhimroqdir. Keyingi hiyla mening sevimli tcpdump usullaridan biridir. Bu ishlaydi, chunki:

TCP segmentlari odatda xronologik tartibda bo'ladi;
- matnga asoslangan dastur protokollari matn yuklangan paketlarni yaratadi;
- matn yuki atrofidagi ma'lumotlar (masalan, paket sarlavhalari) matn emas;
- UNIX utilitlari ilovaning ikkilik chiqishidan matnni saqlashi mumkin;
- agar siz tcpdump-ni -w - varianti bilan ishga tushirsangiz, u standart chiqish uchun xom ma'lumot hosil qiladi.

Hammasini birlashtirib, biz HTTP seansi ma'lumotlarini olish uchun vositaga ega bo'lamiz.

Bundan tashqari, chiqishda ba'zi axlat bo'lishi mumkinligini bilishingiz kerak. Ortiqchalikni strings utility opsiyasi yordamida kesish mumkin, bu esa satr chiqishi uzunligini cheklaydi (man stringsga qarang).

Ushbu hiyla har qanday matnga asoslangan protokollar uchun juda yaxshi ishlaydi.

HTTP va SMTP tahlili
Oldingi bo'limdagi string hiylasi, o'rnatilgan oqim analizatori yo'qligiga qaramay, HTTP seansi ma'lumotlarini olishga yordam beradi. Olingan ma'lumotlarni "tahlil qilish" mumkin, keyin esa ko'p turli yo'llar bilan.

Misol uchun, real vaqtda o'z nomida "davepc" bo'lgan barcha saytlarning mavjudligini tekshirishni xohlashingiz mumkin. Xavfsizlik devorida ishlaydigan quyidagi buyruq yordam beradi (ichki interfeys eth1 bo'lsa):

Faqat ikkita oddiy misollar imkoniyatlarini tasvirlash uchun. Qabul qilingan satrlarni chuqurroq tahlil qilish uchun, masalan, Perl skriptini yozishgacha borishingiz mumkin.

Shunday qilib, tcpdump-ning haqiqiy kuchi siz ba'zi savollarga ko'p harakat qilmasdan tezda javob olishni xohlaganingizda keladi. Bu tarmoq ilovalarini disk raskadrovka qilishda ayniqsa muhimdir.

Marshrutlash va VPN ulanishlarini tuzatish
tcpdump VPN ulanishlari kabi narsalarni tuzatishda katta yordam berishi mumkin. Sizga kerak bo'lgan narsa - qaysi hostlarda qaysi paketlar paydo bo'lishini va qaysilarida yo'qligini tushunishdir.

Keling, VPN ulanishi orqali ikkita tarmoqni ulashning standart sxemasini olaylik. 10.0.50.0/24 va 192.168.5.0/24 tarmoqlari (2-rasm).

Shakl 2. Misol VPN topologiyasi

Agar bu to'g'ri ishlasa, turli tarmoqlardagi xostlar bir-biriga ping yuborishi kerak. Agar pinglar javob bermasa (bu holda ular D dan A xostiga kelmagan deb faraz qilaylik), tcpdump yordamida narsalar qayerda yo‘qolib borayotganini aniqlashimiz mumkin.

Agar so'rov paketlari C xostiga o'tsa ( masofaviy shlyuz), lekin D da emas, bu shuni ko'rsatadi VPN ulanishi ishlaydi, lekin marshrutlash muammolari mavjud. Agar D xost so'rovlarni qabul qilsa, lekin javoblarni yubormasa, bu ICMP bloklanganligini ko'rsatishi mumkin. Agar javoblar yuborilsa, lekin C ga etib bormasa, standart shlyuz D da noto'g'ri sozlangan bo'lishi mumkin.

NEGA TCPDUMP?

Tcpdump - asosiy vosita dasturiy ta'minot bo'yicha mutaxassislar uchun tarmoq tahlili axborot xavfsizligi. TCP/IP haqida to'liq tushunchaga ega bo'lishni istaganlar uchun ushbu muhim dastur haqida etarli tushunchaga ega bo'lish juda muhimdir. Ko'p odamlar Wireshark kabi yuqori darajadagi vositalardan foydalanishni afzal ko'rishadi, lekin menimcha, bu xato.

Tarmoq trafigini tabiiyroq (oddiy) ko'rsatadigan vositadan foydalansangiz, tahlilning murakkabligi dasturga emas, balki bevosita shaxsga to'g'ri keladi. Ushbu yondashuv TCP/IP to'plamini tushunishni rivojlantiradi, shuning uchun iloji boricha boshqa vositalar o'rniga tcpdump dan foydalanishni tavsiya qilaman.

15:31:34.079416 IP (tos 0x0, ttl 64, id 20244, ofset 0, bayroqlar , proto: TCP (6), uzunlik: 60) manba.35970 > dest.80: S, cksum 0x0ac1 (to'g'ri) 0x064024 2647022145(0) yutdi 5840 0x0000: 4500 003c 4f14 4006 7417 0afb 0257 E.. 0x0010: 4815 222a 8c82 0050 9010P... H 9000." A .... 0x0020: a002 16d0 0ac1 0000 0204 05b4 0402 080a................0x0030: 14b4 1555 0000 0000 0103 0302

ASOSLAR

Quyida tcpdump-ni sozlashda foydalanishingiz mumkin bo'lgan bir nechta variant mavjud. Ular osongina unutilishi va/yoki Wireshark kabi boshqa turdagi filtrlar bilan chalkashishi mumkin, shuning uchun bu sahifa siz uchun ma'lumotnoma bo'lib xizmat qilishi mumkin. Bu erda men tomosha qilayotgan narsalarga qarab yodda tutishni yoqtiradigan asosiylari.

VARIANTLAR

  • -i any: Har qanday trafikni ko'rayotganingizni bilish uchun barcha interfeyslarni tinglang.
  • -i eth0: eth0 interfeysida tinglang.
  • -D: Mavjud interfeyslar ro'yxatini ko'rsatish
  • -n: Xost nomlari o'rniga IP manzillarni ko'rsatish.
  • -nn: Xost nomlari va protokol nomlari o'rniga IP manzillari va port raqamlarini ko'rsatish.
  • -q: Paket haqidagi ma'lumotlarning minimal miqdorini ko'rsatadi.
  • -t: Har bir satrda vaqt tamg'asini ko'rsatmang.
  • -tttt: Har bir satr uchun standart formatdagi vaqt belgilarining chiqishini o'rnatadi.
  • -X: Paket tarkibini ham hex, ham ASCIIda ko'rsatish.
  • -XX: -X bilan bir xil, lekin Ethernet sarlavhasini ham ko'rsatadi.
  • -v, -vv, -vvv: Qaytarilgan paketli ma'lumot miqdorini oshiring.
  • -c: faqat x sonli paketlarni oling va keyin to'xtating.
  • -s: Baytlarda suratga olish uzunligini (o'lchamini) aniqlang. Agar ataylab kamroq ushlamagan bo'lsangiz, hamma narsani olish uchun -s0 dan foydalaning.
  • -S: Mutlaq ketma-ketlik raqamlarini chop etish.
  • -e: Ethernet sarlavhasini oling.
  • -q: Minimal paket ma'lumotlarini ko'rsatish.
  • -E: shifrlash kalitini taqdim etish orqali IPSEC trafigini parolini hal qiling.
[Tcpdump 4.0 uchun standart snaplength 68 dan 96 baytga o'zgardi. Bu sizga paket haqida ko'proq ma'lumot ko'rish imkonini bersa-da, bu barcha ma'lumotlar bo'lmaydi. To'liq qamrab olish uchun -s1514 yoki -s0 dan foydalaning]

IFODALAR

Tcpdump-da ifodalar kesish imkonini beradi Har xil turlar trafik va siz qidirayotgan narsani aniq toping. Ifodalarni o'zlashtirish va ularni ijodiy birlashtira olish tcpdump-ni chinakam kuchli qiladi.

Ifodalarning uchta asosiy turi mavjud: tip, dir va proto.

Variant turlari: xost, tarmoq va port.

Kataloglar src, dst va ularning kombinatsiyalarini bajarishga imkon beradi.

Protokol quyidagilarni aniqlashga imkon beradi: tcp, udp, icmp, ah va boshqalar.

MISOLLAR

Endi bizda qanday variantlar borligini ko'rib chiqdik, keling, kundalik ishimizda ko'rishimiz mumkin bo'lgan haqiqiy misollarni ko'rib chiqaylik.

ASOSIY XABAR

Barcha interfeyslarni ko'rib chiqish orqali nima sodir bo'lishini ko'ring.

# tcpdump -i har qanday

MAXSUS INTERFACE

Muayyan interfeysda nima sodir bo'layotgani haqida asosiy tushuncha.

# tcpdump -i eth0

XOM CHIKASINI TAQDIM ETISH

Xost nomlari yoki port raqamlari, mutlaq ketma-ketlik raqamlari yoki odam o'qiy oladigan vaqt belgilarini hal qilmasdan batafsil chiqish.

# tcpdump -ttttnnvvS

IP BO'YICHA TRAFIKNI TOPING

Eng keng tarqalgan so'rovlardan biri, bu sizga 1.2.3.4 dan trafikni ko'rsatadi, u manba yoki maqsad bo'ladimi.

# tcpdump xost 1.2.3.4

OLTINTILI OLISH PAKETI HAQIDA QO‘ShIMChA MA'LUMOTNI KO‘RING

O'n oltilik raqamli chiqish ko'rib chiqilayotgan paketlarning mazmunini ko'rishni xohlaganingizda foydali bo'ladi va ko'pincha yaqinroq tekshirish uchun bir nechta nomzodlarni ajratib qo'yganingizda yaxshi qo'llaniladi.

# tcpdump -nnvXSs 0 -c1 icmp tcpdump: eth0 da tinglash, havola turi EN10MB (Ethernet), 23:11:10.370321 IP (tos 0x20, ttl 48, id 34859, ofset uzunligi 0:94.3, flag). > 72.21.34.42: icmp 64: aks-sado so‘rovi ketma-ketligi 0 0x0000: 4520 0054 882b 0000 3001 7cf5 45fe d52b E..T.+..0.|.E..+ 0x00102:32:32 a 0000 25ff d744 H. "..50"..%..D 0x0020: ae5e 0500 0809 0a0b 0c0d 0e0f 1011 1213 .^.............. 0x0030: 1415 1617 1819 1a1b 1c122 ... .......!"# 0x0040: 2425 2627 2829 2a2b 2c2d 2e2f 3031 3233 $%&"()*+,-./0123 0x0050: 3435 3637 4567 ta filtrlangan 1 paketli filtrlar0 ta paketlar qabul qilindi yadro tomonidan tushirilgan paketlar

MANBA VA MAQSAD BO'YICHA FILTRLASH

Trafikni manba yoki manzilga qarab ajratish src va dst yordamida juda oddiy.

# tcpdump src 2.3.4.5 tcpdump dst 3.4.5.6

TARMOQ BO'YICHA PAKETLARNI QIDIRING

Muayyan tarmoqqa yoki tarmoqdan ketayotgan paketlarni topish uchun net opsiyasidan foydalaning. Buni src yoki dst opsiyalari bilan birlashtira olasiz.

# tcpdump net 1.2.3.0/24

MAXSUS PORT BILAN BOG'LIK TRAFIKNI KO'RSATISH

topishingiz mumkin maxsus port port opsiyasidan keyin port raqamidan foydalangan holda trafik.

# tcpdump port 3389 tcpdump src port 1025

BITTA PROTOKOL TRAFIKI KO'RSATISH

Agar siz ma'lum bir trafik turini qidirsangiz, tcp, udp, icmp va boshqalardan foydalanishingiz mumkin.

# tcpdump icmp

FAQAT IP6 TRAFIKI KO'RSATIS

Protokol opsiyasi yordamida barcha IP6 trafigini ham topishingiz mumkin.

PORT BANDLARI FOYDALANISH TRAFIKNI TOPING

Trafikni topish uchun port oralig'idan ham foydalanishingiz mumkin.

# tcpdump portrange 21-23

PAKET O'lchamidan kelib chiqqan holda TRAFIKNI TOPING

Agar siz ma'lum o'lchamdagi paketlarni qidirsangiz, ushbu variantlardan foydalanishingiz mumkin. Siz matematikadan kutgan kichik, katta yoki ularning tegishli belgilaridan foydalanishingiz mumkin.

# tcpdump kamroq 32 tcpdump kattaroq 64 tcpdump<= 128

YOZMA FAYL YAZILARI

Ko'pincha partiyalar natijasini kelajakda tahlil qilish uchun faylga saqlash foydali bo'ladi. Ushbu fayllar PCAP (PEE-cap) fayllari sifatida tanilgan va yuzlab turli ilovalar, jumladan, tarmoq analizatorlari, hujumni aniqlash tizimlari va, albatta, tcpdumpning o'zi tomonidan qayta ishlanishi mumkin. Bu yerda -w kaliti yordamida capture_file nomli faylni yozamiz.

# tcpdump porti 80 -w capture_file

PCAP FAYLLARINI O'QISH

Siz -r kaliti yordamida PCAP fayllarini o'qishingiz mumkin. Faylni o'qishda tcpdump-dagi barcha oddiy buyruqlardan foydalanishingiz mumkinligini unutmang; siz faqat faylda mavjud bo'lmagan narsalarni yozib olishingiz va qayta ishlay olmasligingiz bilan cheklanasiz.

# tcpdump -r capture_fayl

ILG'IYOR

Endi biz asoslar bilan nima qilishimiz mumkinligini ba'zi misollar bilan ko'rib chiqdik, keling, yana bir nechta ilg'or narsalarni ko'rib chiqaylik.

HAMMASI KOMBINASYONLAR HAQIDA

Bu turli narsalarni individual qilish kuchli qobiliyatdir, lekin tcpdump-ning haqiqiy sehri siz izlayotgan narsani aniq ajratib olish uchun variantlarni ijodiy usullarda birlashtirish qobiliyatidan kelib chiqadi. Kombinatsiyalarni yaratishning uchta usuli bor va agar siz umuman dasturlashni o'rgangan bo'lsangiz, ular sizga juda tanish bo'ladi.

VA
va yoki &&

YOKI
yoki ||

MUSTAQO
yo'q yoki!

Bu erda birlashtirilgan buyruqlar misollari keltirilgan.

MAXSUS IPDAN VA MAXSUS PORTGA TAYYLANGAN

Keling, 10.5.2.3 dan 3389 portidagi istalgan xostga barcha trafikni topamiz.

Tcpdump -nnvvS src 10.5.2.3 va dst port 3389

BIR TARMOQDAN BOSHQARIGA

Keling, 192.168.x.x-dan keladigan va 10.x yoki 172.16.x.x tarmoqlariga o'tadigan barcha trafikni ko'rib chiqaylik va biz o'n oltilik raqamli chiqishni xost nomisiz va bitta darajadagi qo'shimcha tafsilotlarsiz ko'rsatamiz.

Tcpdump -nvX src net 192.168.0.0/16 va dst net 10.0.0.0/8 yoki 172.16.0.0/16

MAXSUS IP GA O'TGAN ICMP BO'LMAGAN TRAFIK

Bu bizga ICMP bo'lmagan 192.168.0.2 ga boradigan barcha trafikni ko'rsatadi.

Tcpdump dst 192.168.0.2 va src net, icmp emas

MAXSUS PORTDA BO'LMAGAN HOSTDAN TRAFIK

Bu bizga SSH trafik bo'lmagan xostdan kelgan barcha trafikni ko'rsatadi (agarda standart port ishlatilgan bo'lsa).

Tcpdump -vv src mars va dst port 22 emas

Ko'rib turganingizdek, deyarli barcha kerakli narsalarni topish uchun so'rovlar yaratishingiz mumkin. Eng asosiysi, avvalo aynan nimani qidirayotganingizni aniqlab olish va keyin ma'lum turdagi trafikni ajratish uchun sintaksisni yaratishdir.

Murakkab guruhlash va maxsus belgilar

Shuni ham yodda tutingki, murakkab so'rovlarni yaratishda siz parametrlarni bitta tirnoq yordamida guruhlashingiz kerak bo'lishi mumkin. Bitta tirnoq tcpdump-ga ma'lum maxsus belgilarni e'tiborsiz qoldirishni aytish uchun ishlatiladi - bu holda, "()" qavs ichidagi belgilar. Xuddi shu usul boshqa iboralar yordamida guruhlash uchun ishlatilishi mumkin, masalan, xost, port, tarmoq va boshqalar. Quyidagi buyruqni ko'rib chiqing.

# Trafik 10.0.2.4 dan VA 3389 yoki 22 (noto'g'ri) tcpdump src 10.0.2.4 va (dst port 3389 yoki 22) portlari uchun mo'ljallangan.

Agar siz ushbu juda foydali buyruqni boshqa holatda ishga tushirishga harakat qilsangiz, qavslar tufayli xatoga yo'l qo'yasiz. Buni qavslardan qochish (har birining oldiga \ qo'yish) yoki butun buyruqni bitta tirnoq ichiga qo'yish orqali tuzatishingiz mumkin:

# 10.0.2.4 dan olingan VA 3389 yoki 22 portlar uchun mo‘ljallangan trafik (to‘g‘ri) # tcpdump "src 10.0.2.4 va (dst port 3389 yoki 22)"

Maxsus TCP bayroqlarini izolyatsiya qilish

Shuningdek, siz ma'lum TCP bayroq(lar)i asosida trafikni yozib olishingiz mumkin.

[QAYD: Quyidagi filtrlar bu turli paketlarni topadi, chunki tcp TCP sarlavhasida 13 ofsetni bildiradi, bu raqam bayt manzilini bildiradi, ah! = 0 bu bayroq 1 ga o'rnatilganligini anglatadi, ya'ni. u yoqilgan. ]

Barcha URGENT (URG) paketlarini ko'rsatish...

# tcpdump "tcp & 32!=0"

Barcha ACKNOWLEDGE paketlarini ko'rsatish (ACK) ...

# tcpdump "tcp & 16!=0"

Barcha PUSH paketlarini (PSH) ko'rsatish ...

# tcpdump "tcp & 8!=0"

Barcha RESET paketlarini (RST) ko'rsatish ...

# tcpdump "tcp & 4!=0"

Barcha SYNCHRONIZE paketlarini ko'rsatish (SYN) ...

# tcpdump "tcp & 2!=0"

Barcha FINISH (FIN) paketlarini ko‘rsatish...

# tcpdump "tcp & 1!=0"

Barcha SYNCHRONIZE / ACKNOWLEDGE paketlarini ko'rsatish (SYNACK) ...

# tcpdump "tcp=18" [Izoh: tcpdump maydoni chiqishida faqat PSH, RST, SYN va FIN bayroqlari ko'rinadi. URG va ACK ko'rsatilgan, lekin ular bayroqlar maydoniga qaraganda chiqishda boshqa joyda ko'rsatilgan. ]

Biroq, eng kuchli vositalarda bo'lgani kabi, qilish kerak bo'lgan narsalarni qilishning ko'plab usullari mavjud. Quyidagi misolda ma'lum TCP bayroqlari to'plamiga ega paketlarni olishning yana bir usuli ko'rsatilgan.

# tcpdump "tcp == tcp-syn"

tcpflags parametri yordamida RST bayroqlarini tozalang...

# tcpdump "tcp == tcp-rst"

tcpflags... parametridan foydalanib, FIN bayroqlarini tozalang

# tcpdump "tcp == tcp-fin" [Eslatma: xuddi shu usuldan boshqa bayroqlar uchun ham foydalanish mumkin; ular kosmos manfaatlaridan chetda qoldirilgan. ]

E'tiborga molik trafikni aniqlash

Va nihoyat, yomon/ehtimol zararli paketlar kabi maxsus va ixtisoslashgan trafikni ushlash uchun eslashni xohlaydigan bir nechta tezkor retseptlar mavjud.

Doimiy RST VA SYN TO'PLAMLARI BO'LGAN PAKETLAR (BU BO'LMAYDI)

# tcpdump "tcp = 6"

HTTP TO'G'RI MATNINI TOPISH VA SO'ROV QABUL QILING

# tcpdump "tcp = 0x47455420"

HAR QANDAY PORTGA SSH ULANISHLARINI TOPING (BANNER ORQALI)

# tcpdump "tcp[(tcp>>2):4] = 0x5353482D"

10 dan kam TTL PAKETLAR (ODATDA MUAMMONI KO'RSATISH YOKI TRACEROUTE dan foydalanish)

# tcpdump "ip< 10"

EVIL BIT O'RNATISH BILAN PAKETLAR

# tcpdump "ip & 128 != 0"

Xulosa

tcpdump tarmoq yoki axborot xavfsizligiga kirishni istagan har bir kishi uchun qimmatli vositadir.
Uning trafik bilan o'zaro ta'sirining g'ayrioddiy usuli va paketlarni tekshirishda taqdim etadigan aniqlik uni TCP/IPni o'rganish uchun eng yaxshi vositaga aylantiradi.
Wireshark kabi protokol analizatorlari juda yaxshi, lekin agar siz paketlarni chindan ham o'zlashtirmoqchi bo'lsangiz, avvalo tcpdumpni o'zlashtirishingiz kerak.
Umuman olganda, ushbu qo'llanma kuchli bo'lishingizga yordam berishi kerak, ammo man sahifasi har doim eng ilg'or va bir martalik foydalanish holatlari uchun qulay bo'lishi kerak. Umid qilamanki, bu sizga foydali bo'ldi va agar sizda biron bir savol bo'lsa, men bilan bog'laning.

  • Biz Cisco Networking Academy va Linux Professional Institute ekspertlari, sertifikatlangan o'qituvchilar va shaxsiy murabbiydan tasdiqlangan dastur va darslikni taklif etamiz.
  • Biz sizga ish topish va martaba qurishda yordam beramiz. Bitiruvchilarimizning 100 foizi ish bilan ta’minlangan.
  • Trening qanday ketmoqda?

    • Biz kechki onlayn ma'ruzalarni platformamizda o'tkazamiz yoki Kiyev ofisida shaxsan o'qiymiz.
    • Biz sizdan mashq qilish va moslashish uchun qulay vaqt haqida so'raymiz: biz o'qish uchun oz vaqt borligini tushunamiz.
    • Agar siz individual jadvalni xohlasangiz, biz uni muhokama qilamiz va amalga oshiramiz.
    • O'z-o'zini tashkil qilish uchun aniq muddatlarni belgilaymiz. Shaxsiy rahbar savollarga javob berish, maslahat berish va imtihon muddatiga rioya qilishga undash uchun bog'lanadi.

    Biz sizga ham yordam beramiz:

    Tcpdump yordam dasturi tarmoq paketlarini tutib olish va tahlil qilish uchun juda kuchli va mashhur vositadir. U ma'lum bir interfeysdan kiruvchi va chiquvchi barcha paketlarni ko'rish imkonini beradi va buyruq satrida ishlaydi. Albatta, siz Wirshark-dan tarmoq paketlarini tahlil qilish uchun foydalanishingiz mumkin, bu grafik yordam dasturi, lekin ba'zida faqat terminalda ishlashingiz kerak bo'lgan holatlar mavjud.

    Tcpdump Wireshark-dan yomon emas va paketlarni tahlil qilish uchun barcha kerakli imkoniyatlarga ega, bundan tashqari, siz barcha tutib olingan paketlarni faylga saqlashingiz va keyinchalik ularni xuddi shu Wireshark yordamida tahlil qilishingiz mumkin. Ushbu maqolada biz tarmoq paketlarini ushlab qolish uchun tcpdump-dan qanday foydalanishni ko'rib chiqamiz.

    Ko'pgina distribyutorlar sukut bo'yicha tcpdump buyrug'i bilan birga keladi, ammo tarqatishda u bo'lmasa, uni rasmiy omborlardan osongina o'rnatishingiz mumkin. Masalan, Ubuntu/Debian'da:

    sudo apt install tcpdum p

    Fedora/Red Hat/CentOS-da:

    sudo yum tcpdump-ni o'rnating

    O'rnatish tugallangach, siz ishlashni davom ettirishingiz mumkin.

    tcpdump buyrug'i

    Yordamchi dastur bilan ishlash misollariga o'tishdan oldin uning sintaksisi va asosiy variantlarini ko'rib chiqaylik. Buyruq quyidagi sintaksisga ega:

    $ tcpdump variantlari -i interfeys filtrlari

    Qo'ng'iroq qilayotganda siz kuzatadigan interfeysdan o'tishingiz kerak. Agar interfeys ko'rsatilmagan bo'lsa, ro'yxatdagi birinchisi ishlatiladi. Variantlar displeyni va yordamchi dasturning asosiy imkoniyatlarini sozlaydi va filtrlar keraksiz paketlarni filtrlash imkonini beradi. Endi asosiy variantlarni ko'rib chiqamiz:

    • -A- barcha paketlarni ASCII formatida chiqarish;
    • -c- paketlarning n-sonini tutib olgandan keyin dasturni yopish;
    • -C- faylga paketlarni yozishda fayl hajmini tekshiring, agar u ko'rsatilganidan katta bo'lsa, yangi fayl yarating;
    • -D- mavjud tarmoq interfeyslari ro'yxatini ko'rsatish;
    • -e- har bir paket uchun ulanish darajasi ma'lumotlarini ko'rsatish, bu, masalan, MAC manzilini ko'rsatish uchun foydali bo'lishi mumkin;
    • -f- IP manzillar uchun domen nomini ko'rsatish;
    • -F- paketlarni interfeysdan emas, balki fayldan o'qish;
    • -G- belgilangan vaqtdan keyin yangi jurnal faylini yaratish;
    • -H- 802.11s sarlavhalarini aniqlash;
    • -i- paketlarni ushlash uchun interfeys nomi. Siz barcha interfeyslardan paketlarni olishingiz mumkin, buning uchun istalganini belgilang;
    • -I- barcha o'tayotgan paketlarni olish uchun interfeysni monitor rejimiga o'tkazish;
    • -j- paketlarni yozib olish uchun vaqt tamg'asi formatini o'rnatish;
    • -J- mavjud vaqt belgilarini ko'rish;
    • -K- paketli nazorat summalarini tekshirmang;
    • -l- chiqishga aylantirish yordamini qo'shing;
    • -L- interfeys uchun qo'llab-quvvatlanadigan ulanish protokollarini ko'rsatish;
    • -n- domen nomlarini ko'rsatmaslik;
    • -r-w bilan yaratilgan fayldan paketlarni o'qish;
    • -v, -vv, -vvv- batafsilroq chiqish;
    • -q- minimal ma'lumotni ko'rsatish;
    • -w- natijani faylga yozish;
    • -Z- nomidan fayllar yaratiladigan foydalanuvchi.

    Bu barcha variantlar emas, lekin ular sizga ko'p muammolarni hal qilish uchun etarli bo'ladi. Biz filtrlardan tez-tez foydalanamiz. Filtrlardan foydalanib, siz faqat ko'rmoqchi bo'lgan paketlarni filtrlashingiz mumkin. Siz IP-manzil, protokol, tarmoq, interfeys va boshqa ko'plab parametrlar bo'yicha filtrlashingiz mumkin. Lekin biz misollar yordamida tcpdump filtrlarini ko'rib chiqamiz.

    Tcpdump dan qanday foydalanish kerak

    Tcpdump-dan foydalanishga o'tishdan oldin, siz qaysi tarmoq interfeyslaridan foydalanishingiz mumkinligini ko'rib chiqishingiz kerak. Buning uchun -D opsiyasi bilan buyruqni bajaring:

    Keling, eth0 interfeysida trafikni yozib olish orqali tcpdump misollarini ko'rib chiqaylik; men uchun bu Internetga ulangan asosiy interfeys. Dasturni ishga tushirish uchun superfoydalanuvchi huquqlari talab qilinadi, shuning uchun sudo-dan foydalanishni unutmang:

    sudo tcpdump -i eth0

    Buyruqni to'xtatish uchun Ctrl+C tugmalarini bosing. Chiqishda siz ushlangan barcha paketlarni darhol ko'rasiz. Har bir paket uchun yozuv formati quyidagicha ko'rinadi:

    13:03:41.795599 IP udp032919uds.hawaiiantel.net.6881> 192.168.1.2.52055 : Bayroqlar [.], ketma-ket 640160396:640161844, ack 436677393, win 2050, variantlar , uzunlik 1448

    Ushbu format ma'lumotlar paketlari uchun odatiy hisoblanadi; protokolga qarab, qora rang bilan belgilangan matn farqlanadi. Avval vaqt tamg'asi keladi, keyin protokol, keyin jo'natuvchining IP-manzili yashil rangda va qabul qiluvchining manzili, bu holda bizning kompyuterimiz ko'k rangda. Keyin ular ketishadi Qo'shimcha variantlar tcp va oxirida baytlarda paket hajmi. Chiqish tafsilotlarini -v opsiyalari yordamida boshqarish mumkin.Masalan:

    sudo tcpdump -v -i eth0

    IP protokoli haqida ma'lumot allaqachon bu erda paydo bo'ladi:

    IP (tos 0x0, ttl 64, id 50309, ofset 0, bayroqlar, proto TCP (6), uzunlik 64)

    Biz TTL paketining ishlash muddati, versiyasi haqida ma'lumot olishimiz mumkin TCP protokoli va sarlavha maydonining uzunligi. -vv opsiyasi ba'zi hollarda paketni tekshirish summasi va tarkibini ko'rsatadi.

    Variantlardan so'ng siz paketlar uchun filtrlarni belgilashingiz mumkin. Bu erda siz paketlarni filtrlashingiz mumkin bo'lgan asosiy parametrlar:

    • mezbon- xost nomi;
    • ip- IP manzil;
    • proto- protokol;
    • to'r- tarmoq yoki pastki tarmoq manzili;
    • port- port manzili;
    • src- jo'natuvchiga tegishli parametr;
    • dst- qabul qiluvchiga tegishli parametr;
    • Quyidagi protokollar mavjud: efir, fddi, tr, wlan, ip, ip6, arp, rarp, decnet, tcp Va udp.

    Istalgan natijaga erishish uchun bularning barchasini bir-biringiz bilan birlashtira olasiz. Keling, misollar yordamida batafsilroq ko'rib chiqaylik. Keling, faqat kompyuterimizga yuborilgan paketlarni filtrlaymiz:

    sudo tcpdump -i eth0 ip dst 192.168.1.2

    Shuningdek, biz ma'lum bir tugunga yuborilgan paketlarni tanlashimiz mumkin:

    sudo tcpdump -i eth0 dst xost google-public-dns-a.google.com

    Ko'rib turganingizdek, bu DNS paketlari va TCP bayroqlari o'rniga ular o'z ichiga oladi foydali ma'lumotlar, xostning IP manzilini so'rang. Shuningdek, ma'lum bir xostdan javob paketlarini tanlashingiz mumkin:

    sudo tcpdump -i eth0 src xost google-public-dns-a.google.com

    Bu paketning to'liq mazmuni emas, agar siz uni olishni istasangiz -v yoki -vv opsiyasidan foydalanishingiz kerak:

    sudo tcpdump -vv -i eth0 xost dst google-public-dns-a.google.com

    and operatori yordamida siz bir nechta filtrlarni bitta filtrga birlashtira olasiz:

    sudo tcpdump -i eth0 dst host google-public-dns-a.google.com va src host google-public-dns-a.google.com

    Mavjud birlashtirish operatsiyalari va va yoki, va siz ustunlikni ko'rsatish uchun qavslardan ham foydalanishingiz mumkin. Xostni ko'rsatish shart emas, ko'p hollarda src yoki dst etarli, yordamchi dasturning o'zi nimani nazarda tutganini tushunadi. Xuddi shu dizayn portlar uchun ishlatilishi mumkin. Masalan, biz DNS-ga barcha so'rovlar yoki javoblarni filtrlashimiz mumkin (53-portda):

    sudo tcpdump -vv -i eth0 port 53

    Xuddi shu narsani http (port 80) uchun qilish mumkin:

    sudo tcpdump -vv -i eth0 port 80

    Tabiiyki, aniqroq natijalar uchun bu erda dst va src dan ham foydalanish mumkin. Siz faqat bitta portni emas, balki butun portlarni filtrlashingiz mumkin:

    sudo tcpdump portrange 21-23

    Agar siz protokollardan birini belgilasangiz, faqat ushbu protokoldan tcp, udp yoki arp kabi paketlarni filtrlaysiz:

    sudo tcpdump -vv arp

    Xuddi shu tarzda siz barcha udp paketlarini tanlashingiz mumkin:

    sudo tcpdump -vv udp

    Tarmoq nomi bo'yicha filtr ham mavjud:

    sudo tcpdump net 129.168.1.1/24

    Bundan tashqari, siz paketlarni hajmi bo'yicha filtrlashingiz mumkin, masalan, 32 baytdan kam:

    sudo tcpdump 32 dan kam

    Yoki 128 dan ortiq:

    tcpdump 128 dan katta

    sudo tcpdump -i eth0 -w file.pcap

    Ushbu faylni Wireshark kabi fayllarni o'qish uchun har qanday dastur yordamida ochish mumkin. Faylga saqlangan paketlarni ochish uchun -r opsiyasidan foydalaning:

    sudo tcpdump -r file.pcap

    Yana bir jihatga e'tibor qaratish lozim. Bu paketlar tarkibini ko'rsatish formatidir. Paket tarkibini -A opsiyasi yordamida ASCII formatida chiqarishingiz mumkin:

    sudo tcpdump -A -i eth0

    Siz shuningdek tarkibni HEX va ASCII formatida ko'rsatishingiz mumkin, buning uchun -XX dan foydalaning:

    sudo tcpdump -XX -i eth0

    xulosalar

    Ushbu maqolada biz tcpdump dan qanday foydalanishni ko'rib chiqdik. Bu faqat buyruq satri orqali ishlaydigan juda kuchli tarmoq analizatori. Umid qilamanki, bu ma'lumot siz uchun foydali bo'ldi va endi tcpdump-dan foydalanish ancha oson bo'ladi, agar sizda biron bir savol bo'lsa, sharhlarda so'rang!

    Videoni tcpdump bo'yicha ma'ruza bilan yakunlash uchun:

    tcpdump - bu kuchli buyruq qatori analizatori va Libpcap, tarmoq trafigini yozib olish uchun portativ kutubxona. Tcpdump mos keladigan tarmoq interfeysidagi paketlar mazmuni tavsifini chop etadi mantiqiy ifoda. Bundan tashqari, uni keyinchalik tahlil qilish uchun faylga ommaviy ma'lumotlarni saqlashga olib keladigan -w kaliti va/yoki saqlangan ommaviy ish faylidan o'qishga olib keladigan -r bayrog'i bilan ham ishga tushirish mumkin. Ushbu yordam dasturidan foydalanib, siz ushbu dastur ishlayotgan shaxsiy kompyuter orqali o'tadigan tarmoq trafigini ushlab turishingiz va tahlil qilishingiz mumkin.

    Men ushbu mavzuda "tcpdump-ni o'rnatish va ishlatish" mavzusida tcpdump-ni o'rnatish, shuningdek, uni qanday ishlatish va nima uchun kerakligi haqida gaplashmoqchiman.

    tcpdump bilan siz:

    • Tarmoq ilovalarini disk raskadrovka qilishingiz mumkin.
    • Siz tarmoq yoki tarmoq uskunasini bir butun sifatida disk raskadrovka qilishingiz mumkin.

    Debian/ubuntu/linux mint-ga tcpdump-ni o'rnatish uchun quyidagilarni bajarishingiz kerak:

    # sudo apt-get install tcpdump

    RedHat/CentOS/Fedora-ga tcpdump-ni o'rnatish uchun:

    # sudo yum tcpdump-ni o'rnating

    MacOS-da tcpdump-ni o'rnatish uchun foydalaning.

    # brew o'rnatish tcpdump

    tcpdump dan foydalanish.

    Tcpdump biz uchun ishlayotganligini tekshirish uchun quyidagi buyruqni bajarishingiz mumkin:

    # tcpdump -i eth0 port 80

    Tcpdump yordam dasturidan foydalanish uchun bir nechta kalitlar mavjud, bu erda umumiy ro'yxat:

    Agar siz 21 ta server (masalan, serveringiz_1 va serveringiz_2) o'rtasida qanday paketlar almashilganligini bilishingiz kerak bo'lsa, buning uchun buyruqdan foydalaning:

    # tcpdump hosting sizning_serveringiz_1 va sizning_serveringiz_2

    Agar siz faqat xostdan chiquvchi paketlarni kuzatishingiz kerak bo'lsa, quyidagi amallarni bajaring:

    # tcpdump src sizning_serveringizni joylashtiradi

    Agar siz faqat xostdan kiruvchi paketlarni kuzatishingiz kerak bo'lsa, quyidagi amallarni bajaring:

    # tcpdump dst serveringizga xost

    Shuningdek, siz serverdan va ma'lum bir portdan chiquvchi yoki kiruvchi paketlarni tinglashingiz mumkin, buning uchun siz tinglamoqchi bo'lgan portni qo'shing (asosan 80, 8080 ishlatiladi).

    Tcpdumt ni tinglashingiz mumkin bo'lgan interfeyslar ro'yxatiga qarang:

    # tcpdump -D

    eth0 interfeysini tinglang:

    # tcpdump -i eth0

    Har qanday mavjud interfeysda tinglang (Linux yadrosi 2.2 yoki undan yuqori versiyasini talab qiladi):

    # tcpdump -i har qanday

    Ekranda hamma narsani ko'rsatish (dastur tomonidan bajariladigan hamma narsa):

    # tcpdump -v

    Ekranda ko'p narsalarni ko'rsating (dastur tomonidan bajariladigan hamma narsa):

    # tcpdump -vv

    Ekranga juda ko'p narsalarni chiqaradi (dastur tomonidan bajariladigan hamma narsa):

    # tcpdump -vvv

    Paketlar qo'lga olinayotganda ko'p ma'lumot ko'rsatilmaydi (standart kabi emas):

    # tcpdump -q

    Paketni yozib olishni 100 tagacha cheklang:

    # tcpdump -c 100

    Barcha ma'lumotlarni (qo'lga olingan paketlarni) capture.cap nomli faylga yozing:

    # tcpdump -w capture.cap

    Barcha ma'lumotlarni (qo'lga olingan paketlarni) capture.cap nomli faylga yozing va uni real vaqtda ekranda ko'rsating:

    # tcpdump -v -w capture.cap

    capture.cap faylidan paketlar chiqishi:

    # tcpdump -r capture.cap

    Iloji boricha ko'proq ma'lumotdan foydalangan holda capture.cap faylidan paketlarni chiqaring:

    # tcpdump -vvv -r capture.cap

    Domenlar o'rniga IP va portlarni chiqarish paketlarni olishdir:

    # tcpdump -n

    Belgilangan host 192.138.1.1 bo'lgan har qanday paketlarni yozib oling. Ekranda IP va portlarni ko'rsatish:

    # tcpdump -n dst xost 192.138.1.1

    # tcpdump -n src xost 192.138.1.1

    192.138.1.1 xostidagi har qanday paketlarni yozib oling. Ekranda IP va portlarni ko'rsatish:

    # tcpdump -n xost 192.138.1.1

    Tarmoq 192.138.1.0/24 bo'lgan paketlarni yozib oling. Ekranda IP va portlarni ko'rsatish:

    # tcpdump -n dst net 192.138.1.0/24

    # tcpdump -n src net 192.138.1.0/24

    192.138.1.0/24 tarmog'idan paketlarni yozib oling. Ekranda IP va portlarni ko'rsatish:

    # tcpdump -n aniq 192.138.1.0/24

    23-portdan paketlarni yozib oling. Ekranda IP va portlarni ko'rsatish:

    # tcpdump -n dst port 23

    1 dan 1023 gacha bo'lgan portlardan paketlarni yozib oling. Ekranda IP va portlarni ko'rsatish:

    # tcpdump -n dst portrange 1-1023

    1 dan 1023 gacha bo'lgan portlarga faqat TCP paketlarini yozib oling. Ekranda IP va portlarni ko'rsatish:

    # tcpdump -n tcp dst portrange 1-1023

    1 dan 1023 gacha bo'lgan portlarda faqat maqsadli UDP paketlarini yozib oling. Ekranda IP va portlarni ko'rsatish:

    # tcpdump -n udp dst portrange 1-1023

    IP 192.138.1.1 va maqsad porti 23 bo'lgan manzildan paketlarni yozib oling. Ekranda ko'rsatish:

    # tcpdump -n "dst host 192.138.1.1 va dst port 23"

    IP 192.138.1.1 bo'lgan manzildan paketlarni va 80 yoki 443 portlar orqali maqsadli paketlarni oling. Displey:

    # tcpdump -n "dst host 192.138.1.1 va (dst port 80 yoki dst port 443)"

    Har qanday ICMP paketlarini yozib oling:

    # tcpdump -v icmp

    Har qanday ARP paketlarini yozib oling:

    # tcpdump -v arp

    Har qanday ICMP yoki ARP paketlarini yozib oling:

    # tcpdump -v "icmp yoki arp"

    Translyatsiya qilingan yoki multicast bo'lgan har qanday paketlarni yozib oling:

    # tcpdump -n "eshittirish yoki multicast"

    Standart 68b emas, balki katta paketlarni (500 bayt) yozib oling:

    # tcpdump -s 500

    Paketdagi barcha bayt ma'lumotlarni yozib oling:

    # tcpdump -s 0

    "Og'ir paketlarni" ko'rish:

    # tcpdump -nnvvXSs 1514

    Ping va tennis yordamida ICMP paketlarini yozib oling:

    # tcpdump -nnvXSs 0 -c2 icmp

    Ko'p variantlarsiz xulosa:

    # tcpdump -nS

    Asosiy aloqalar (juda batafsil rejim), siz batafsil ma'lumot bilan yaxshi miqdordagi trafikni ko'rishingiz mumkin:

    # tcpdump -nnvvS

    Trafikga chuqur qarash, foydali yuk uchun -X qo'shish:

    # tcpdump -nnvvXS

    Og'ir paketni ko'ring va butun paketni tortib olib, snaplengni oshiring:

    # tcpdump -nnvvXSs 1514

    Shuningdek, siz paketning muayyan qismlari asosida filtrlashingiz, shuningdek, bir nechta shartlarni guruhlashingiz mumkin. Bu, masalan, faqat SYN yoki PCT-larni qidirishda, ikkinchisi esa yanada rivojlangan trafik izolyatsiyasi uchun foydalidir.

    Barcha URGENT (URGENT) paketlarini ko'rsating:

    # tcpdump "tcp & 32!=0"

    Menga barcha ACKNOWLEDGE (ACK) paketlarini ko‘rsating:

    # tcpdump "tcp & 16!=0"

    Menga barcha PUSH (PSH) paketlarini ko'rsating:

    # tcpdump "tcp & 8!=0"

    Menga barcha RESET (RST) paketlarini ko‘rsating:

    # tcpdump "tcp & 4!=0"

    Menga barcha SYNCHRONIZE (SYN) paketlarini ko'rsating:

    # tcpdump "tcp & 2!=0"

    Menga barcha FINISH (FIN) paketlarini ko‘rsating:

    # tcpdump "tcp & 1!=0"

    Menga barcha SYNCHRONIZE/ACKNOWLEDGE (SYNACK) paketlarini ko‘rsating:

    # tcpdump "tcp=18"

    Tcpflags yordamida TCP bayroqlarini yozib oling:

    # tcpdump "tcp & & tcp-syn != 0"

    RST va SYN bayroqlari bo'lgan paketlar (tekshiring):

    # tcpdump "tcp = 6"

    "Evil Bit" dan trafik (tekshirish):

    # tcpdump "ip & 128 != 0"

    Bu erda men "tcpdump-ni o'rnatish va ishlatish" maqolamni yakunlayman, umid qilamanki, hamma narsa aniq va tushunarli.



     


    O'qing:



    Mac uchun flesh-disk fayl tizimini qanday tanlash mumkin

    Mac uchun flesh-disk fayl tizimini qanday tanlash mumkin

    "Rifat, men yangi disk sotib oldim va uni Mac va Windowsda ishlashim kerak." "Salom, menda disk bor, lekin men unga yozolmayman ...

    Telefon kamerasidagi tirnalishlarni qanday olib tashlash mumkin?

    Telefon kamerasidagi tirnalishlarni qanday olib tashlash mumkin?

    Hammaga salom! Hammasi iPhone 4 ni sotib olganimdan boshlandi, yo'q, 2011 yilda 14 000 rublga emas :). Men uni 2016 yilda 3700 ga sotib oldim, Avito-da o'rtacha narx...

    Mac OS-da dasturlarni qanday o'chirish mumkin - To'liq qo'llanma

    Mac OS-da dasturlarni qanday o'chirish mumkin - To'liq qo'llanma

    Odatda, Mac OS da fayllarni o'chirish jarayoni oddiy. Windows-dan farqli o'laroq, keraksiz dasturlardan xalos bo'lish uchun maxsus o'chirish dasturi mavjud emas ...

    Mac OS X mac os klaviatura yorliqlari uchun foydali klaviatura yorliqlari

    Mac OS X mac os klaviatura yorliqlari uchun foydali klaviatura yorliqlari

    MacBook Pro bilan ishlashda siz juda ko'p tezkor tugmalardan foydalanishingiz mumkinligini hamma ham bilmaydi. Tugma birikmalarini bilish kattalik tartibidir...

    tasma tasviri RSS