Sayt bo'limlari
Muharrir tanlovi:
- FlashFire - bu ildizni yo'qotmasdan Android-ni yangilash uchun yangi dastur
- MiFlash yordamida Xiaomi telefonini qanday miltillash mumkin
- Xiaomi Mi4i-ni batafsil ko'rib chiqish
- Xiaomi bootloader qulfini qanday ochish mumkin: bosqichma-bosqich ko'rsatmalar Xiaomi qulfini ochish sizning qurilmangizda xatolikka yo'l qo'ymaydi
- Xiaomi bootloader-ni qanday qulfdan chiqarish mumkin va u nima uchun kerak Xiaomi bootloader-ni ingliz tilida ochish sabablariga misollar
- Xiaomi'dan qurilmalarda tez zaryadlash Xiaomi tez zaryadlashni qanday o'chirish mumkin
- Yangi Xiaomi telefonini qanday to'g'ri zaryad qilish kerak Tez zaryadlovchi qc 3
- Jiayu g4 rivojlangan 2 32 proshivka
- Miui 8 uchun Xiaomi pulli mavzularga mavzularni qanday yuklab olish va o'rnatish mumkin
- Xiaomi yoqishni istamasa nima qilish kerak?
Reklama
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:
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 misollartcpdump yordamida tarmoq darajasida (ARP, ICMP) trafik tahliliFaraz qilaylik, bizda 2 ta xost bor. eth0 interfeysi va quyidagi parametrlarga ega 1-xost: Xost1:~# IP manzilini ko'rsatish dev eth0 5: eth0: Shuningdek, eth1 interfeysi bilan host2 Xost2:~# IP manzilini ko'rsatish dev eth1 3: eth1: 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 tahliliXost2 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:
Ikki tomonlama TCP ulanishini o'rnatish jarayoni dastlabki uchta tcpdump yozuvida aks ettirilgan:
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 0Ushbu 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:2cManba 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 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 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:
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 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 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 TCP segmentlari odatda xronologik tartibda bo'ladi; 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 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 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
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 YOKI MUSTAQO 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. Trening qanday ketmoqda?
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'iYordamchi 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:
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 kerakTcpdump-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:
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 xulosalarUshbu 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:
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. |
Yangi
- MiFlash yordamida Xiaomi telefonini qanday miltillash mumkin
- Xiaomi Mi4i-ni batafsil ko'rib chiqish
- Xiaomi bootloader qulfini qanday ochish mumkin: bosqichma-bosqich ko'rsatmalar Xiaomi qulfini ochish sizning qurilmangizda xatolikka yo'l qo'ymaydi
- Xiaomi bootloader-ni qanday qulfdan chiqarish mumkin va u nima uchun kerak Xiaomi bootloader-ni ingliz tilida ochish sabablariga misollar
- Xiaomi'dan qurilmalarda tez zaryadlash Xiaomi tez zaryadlashni qanday o'chirish mumkin
- Yangi Xiaomi telefonini qanday to'g'ri zaryad qilish kerak Tez zaryadlovchi qc 3
- Jiayu g4 rivojlangan 2 32 proshivka
- Miui 8 uchun Xiaomi pulli mavzularga mavzularni qanday yuklab olish va o'rnatish mumkin
- Xiaomi yoqishni istamasa nima qilish kerak?
- Mening iPhone-da faqat bitta dinamik bor - nima qilishim kerak?