Linuxdagi tcpdump misollari haqida malumot
Agar siz Linux-da tarmoq paketlarini tahlil qilishingiz yoki ushlab turishingiz kerak bo’lsa, buning eng yaxshi usuli konsol dasturidan foydalanishdir tcpdump. Ammo muammo uning murakkab boshqaruvida paydo bo’ladi. Oddiy foydalanuvchi buni juda noqulay deb biladi, lekin bu faqat birinchi qarashda. Ushbu maqolada biz tcpdump qanday tuzilganligi, uning sintaksisi, uni qanday ishlatishni aytib beramiz va shuningdek, uning ishlatilishining ko’plab misollarini keltiramiz.
Shuningdek o’qing: Ubuntu, Debian, Ubuntu Server uchun Internetga ulanishni o’rnatish bo’yicha qo’llanma
O’rnatish
Linuxga asoslangan operatsion tizim sotuvchilarining aksariyati tcpdump yordam dasturini oldindan o’rnatilgan ro’yxatiga kiritadi, ammo agar biron sababga ko’ra u ularning tarqatilishida bo’lmasa, uni har doim yuklab olish va o’rnatish mumkin «Terminal».. Agar sizda Ubuntu, Linux Mint, Kali Linux va shunga o’xshash Debian operatsion tizimi mavjud bo’lsa, ushbu buyruqni bajarishingiz kerak:
sudo apt install tcpdump
Uni o’rnatishda siz parolni kiritishingiz kerak bo’ladi. E’tibor bering, bu yozuv paytida ko’rsatilmaydi va siz ham kiritishingiz kerak «D» va tugmasini bosing Men kirdim.
Agar sizda Red Hat, Fedora yoki CentOS bo’lsa, o’rnatish buyrug’i quyidagicha bo’ladi:
sudo yam install tcpdump
Yordamchi dastur o’rnatilgandan so’ng uni darhol ishlatish mumkin. Bu va boshqa ko’p narsalar keyinchalik matnda ko’rib chiqiladi.
Shuningdek o’qing: Ubuntu serverida PHP-ni o’rnatish bo’yicha qo’llanma
Sintaksis
Boshqa buyruqlar singari, tcpdump ham o’z sintaksisiga ega. Buni bilish sizga buyruqni bajarish uchun zarur bo’lgan barcha parametrlarni o’rnatishga imkon beradi. Sintaksis quyidagicha:
tcpdump опции -i интерфейс фильтры
Buyruqdan foydalanganda, kuzatiladigan interfeysni ko’rsating. Filtrlar va parametrlar ixtiyoriy o’zgaruvchilardir, ammo moslashuvchan sozlash imkoniyatini beradi.
imkoniyatlari
Variantni ko’rsatish shart emasligiga qaramay, mavjud bo’lganlarni ro’yxatlash kerak. Ushbu jadvalda ularning barchasi mavjud emas, faqat eng ommaboplari, ammo ular sizning muammolaringizning aksariyatini hal qilish uchun etarli emas.
Variant | Ta’rif |
---|---|
-A | Paketlarni ASCII formatida buyurtma qilishga ruxsat beradi |
-l | O’tkazish funktsiyasini qo’shing |
-i | Tizimga kirgandan so’ng, siz kuzatiladigan tarmoq interfeysini ko’rsatishingiz kerak. Barcha interfeyslarni kuzatishni boshlash uchun variantdan keyin «har qanday» so’zini kiriting |
-c | Belgilangan paketlar sonini tekshirgandan so’ng kuzatuv jarayonini yakunlang |
-w | Tekshiruv hisoboti bilan matnli fayl yarating |
-e | Ma’lumotlar paketining Internetga ulanish darajasini bildiradi |
-L | Faqat belgilangan tarmoq interfeysini qo’llab-quvvatlaydigan protokollar ko’rsatiladi |
-C | Agar uning hajmi ko’rsatilganidan kattaroq bo’lsa, paketni yozish paytida boshqa faylni yaratadi |
-r | -W opsiyasi bilan yaratilgan faylni o’qish uchun oching |
-j | Paketlarni yozib olish uchun TimeStamp formati ishlatiladi |
-J | Barcha mavjud vaqt tamg’asi formatlarini ko’ring |
-G | Bu jurnal faylini yaratish uchun ishlatiladi. Variant, shuningdek, vaqt yozuvini ko’rsatishni talab qiladi, undan keyin yangi yozuv yaratiladi |
-v, -vv, -vvv | Variantdagi belgilar soniga qarab, buyruqning chiqishi batafsilroq bo’ladi (o’sish belgilar soniga to’g’ri proportsional) |
-f | Chiqish IP-manzillarning domen nomini ko’rsatadi |
-F | Tarmoq interfeysi o’rniga ko’rsatilgan fayldan ma’lumotlarni o’qing |
-D | Foydalanilishi mumkin bo’lgan barcha tarmoq interfeyslarini namoyish etadi |
-n | Domen nomlari ko’rsatilishini o’chirib qo’ying |
-Z | Barcha fayllar yaratiladigan foydalanuvchini belgilaydi |
-K | Tekshirish summasini tahlilini o’tkazib yuborish |
-q | Qisqa ma’lumot demo |
-H | 802.11s sarlavhalarini aniqlang |
-I | Monitor rejimida paketlarni olishda foydalaniladi |
Variantlar buzilganidan so’ng, biz to’g’ridan-to’g’ri ularning dasturlariga o’tamiz. Hozircha filtrlar ko’rib chiqiladi.
Filtrlar
Ushbu maqolaning boshida muhokama qilinganidek, siz tcpdump sintaksisiga filtrlar qo’shishingiz mumkin. Keyin biz eng mashhurlarini ko’ramiz:
Filtrni tanlang | Ta’rif |
---|---|
mezbon | Xost nomini ko’rsatish uchun foydalaniladi |
qizil | IP subnet va tarmoqni ko’rsating |
ip | Protokol manzilini ko’rsatish uchun foydalaniladi |
src | Belgilangan manzildan yuborilgan paketlarni ko’rsatadi |
dst | Belgilangan manzil bo’yicha qabul qilingan paketlarni ko’rsatadi |
arp, udp, tcp | Protokollardan biri tomonidan filtrlangan |
Puerto | Muayyan port bilan bog’liq ma’lumotlarni aks ettiradi |
men | Bitta buyruqda bir nechta filtrlarni birlashtirish uchun foydalaniladi |
kamroq, katta | Paketlarning belgilangan hajmdan kichikroq yoki kattaroq chiqishi |
Yuqoridagi barcha filtrlarni bir-biri bilan birlashtirish mumkin, shunda siz faqat kerakli ma’lumotlarni buyruqlar natijasida ko’rasiz. Yuqoridagi filtrlardan qanday foydalanish haqida ko’proq bilish uchun ba’zi bir misollar keltirilgan.
Shuningdek o’qing: Linux «Terminal» da tez -tez ishlatiladigan buyruqlar.
Foydalanish misollari
Keyinchalik, biz tcpdump buyruq sintaksisining eng ko’p ishlatiladigan variantlarini sanab o’tamiz. Ularning barchasini ro’yxatga olish mumkin emas, chunki cheksiz ko’p farqlar bo’lishi mumkin.
Interfeyslar ro’yxatiga qarang
Dastlab har bir foydalanuvchiga kuzatilishi mumkin bo’lgan barcha tarmoq interfeyslari ro’yxatini tekshirish tavsiya etiladi. Yuqoridagi jadvaldan bilamizki, siz ushbu parametrdan foydalanishingiz kerak -DShunday qilib terminalda quyidagi buyruqni bajaring:
sudo tcpdump -D
Misol:
Ko’rib turganingizdek, misolda sakkizta interfeys mavjud, ularni tcpdump buyrug’i yordamida ko’rish mumkin. Ushbu maqolada misollar keltirilgan dpi0.Siz boshqasidan foydalanishingiz mumkin.
Oddiy tirbandliklar
Agar siz bitta tarmoq interfeysini kuzatmoqchi bo’lsangiz, uni funktsiya yordamida qilishingiz mumkin -i. Uni kiritgandan so’ng interfeys nomini ko’rsatishni unutmang. Ushbu buyruqni bajarishga misol:
sudo tcpdump -i ppp0
Eslatma: Buyruqdan oldin «sudo» yozishingiz kerak, chunki u superuser huquqlarini talab qiladi.
Misol:
Eslatma: «Terminal» da Enter tugmasini bosgandan so’ng, olingan paketlar doimiy ravishda ko’rsatiladi. Oqimni to’xtatish uchun Ctrl + C tugmalar birikmasini bosing.
Agar siz buyruqni qo’shimcha parametrlarsiz yoki filtrlarsiz ishlatsangiz, kuzatilgan paketlarni ko’rsatish uchun quyidagi formatni ko’rasiz:
22:18:52.597573 IP vrrp-topf2.p.mail.ru.https > 10.0.6.67.35482: Flags [P.], seq 1:595, ack 1118, win 6494, options [nop,nop,TS val 257060077 ecr 697597623], length 594
Rangni ajratib turadigan joy:
- ko’k rangda — paketni tiklash vaqti;
- to’q sariq rangda — protokol versiyasi;
- yashil rangda — Qaytish manzili;
- portura — Qabul qiluvchining manzili;
- kul rang — tcp haqida ko’proq ma’lumot;
- qizil rangda — paket hajmi (baytlarda ko’rsatiladi).
Ushbu sintaksis oynada translatsiya qilish qobiliyatiga ega «Terminal». qo’shimcha variantlardan foydalanmasdan.
-V opsiyasi bilan trafikni olish
Jadvaldan ma’lumki, variant -v ma’lumot miqdorini ko’paytirishga imkon beradi. Keling, buni bir misol bilan ajratib ko’raylik. Xuddi shu interfeysni tekshiramiz:
sudo tcpdump -v -i ppp0
Misol:
Bu erda siz quyidagi qator paydo bo’lganligini ko’rishingiz mumkin:
IP (tos 0x0, ttl 58, id 30675, offset 0, flags [DF], proto TCP (6), length 52
Rangni ajratib turadigan joy:
- to’q sariq rangda — protokol versiyasi;
- ko’k rangda — bayonnomaning amal qilish muddati;
- yashil rangda — maydon sarlavhasining uzunligi;
- portura — tcp paketining versiyasi;
- qizil rangda — paket hajmi.
Shuningdek, buyruq sintaksisiga parametr qo’yishingiz mumkin -vv O -vvvQuyidagi jadvalda ushbu ekrandagi yorliqlar tasvirlangan.
-W va -r parametrlari
Variantlar jadvalida barcha natijalarni keyinchalik ko’rib chiqilishi uchun alohida faylga saqlash imkoniyati ko’rsatilgan. Bu variant bilan boshqariladi -w. Uni ishlatish juda oson, faqat uni buyruqda ko’rsatib, keyin kengaytma bilan kelajakdagi fayl nomini yozishingiz kerak «.Pap». Keling, har bir narsani misol yordamida ko’rib chiqaylik:
sudo tcpdump -i ppp0 -w file.pcap
Misol:
Izoh: Faylga yozuvlar yozilayotganda Terminal ekranida biron bir matn ko’rsatilmaydi.
Yozib olingan chiqishni ko’rishni xohlaganingizda, ushbu parametrdan foydalanishingiz kerak -rundan keyin avval yozib olingan fayl nomi. Boshqa variantlar va filtrlarsiz qo’llaniladi:
sudo tcpdump -r file.pcap
Misol:
Ikkala variant ham keyinchalik tahlil qilish uchun katta hajmdagi matnni saqlash zarur bo’lganda juda yaxshi.
IP orqali filtrlangan
Filtrlar jadvalidan biz buni bilamiz dst buyruq sintaksisida ko’rsatilgan manzil bo’yicha olingan paketlarni aks ettirishga imkon beradi. Kompyuteringizga shu tarzda qabul qilingan paketlarni ko’rib chiqish juda qulaydir. Siz qilishingiz kerak bo’lgan yagona narsa — buyruqda IP-manzilingizni ko’rsatish.
sudo tcpdump -i ppp0 ip dst 10.0.6.67
Misol:
Ko’rinib turibdiki, qo’shimcha ravishda dstbuyruqda biz filtrni ham tayinlaymiz ip. Boshqacha qilib aytganda, biz kompyuterga paketlarni tanlashda boshqa parametrlarga emas, balki ularning IP-manziliga e’tibor berishni aytdik.
Shuningdek, siz IP orqali yuborilgan paketlarni filtrlashingiz mumkin. Masalan, yana IP-ni olaylik. Endi biz qanday paketlar kompyuterimizdan boshqa manzillarga yuborilishini ko’rib chiqamiz. Buning uchun quyidagi buyruqni bajaring
sudo tcpdump -i ppp0 ip src 10.0.6.67
Misol:
Ko’rib turganingizdek, buyruq sintaksisida biz filtrni o’zgartirdik dst en src, shu bilan mashinaga IP orqali yuboruvchini qidirishni buyurish.
HOST tomonidan filtrlangan
IP-ga o’xshash, biz buyruqda filtrni belgilashimiz mumkin mezbonpaketlarni qiziqish uy egasi bilan filtrlash. Bu shuni anglatadiki, jo’natuvchi / qabul qiluvchining IP-manzili o’rniga sintaksisda ularning xostlarini ko’rsatishingiz kerak bo’ladi. Bu shunday ko’rinadi:
sudo tcpdump -i ppp0 dst host google-public-dns-a.google.com
Misol:
Rasmda siz buni buni ko’rishingiz mumkin «Terminal». faqat bizning IP-dan google.com xostiga yuborilgan paketlar ko’rsatiladi. Siz tushunganingizdek, google xosti o’rniga boshqasini kiritishingiz mumkin.
IP-filtrlashda bo’lgani kabi, sintaksisda ham dst bilan almashtirilishi mumkin srckompyuteringizga yuborilgan paketlarni ko’rish uchun:
sudo tcpdump -i ppp0 src host google-public-dns-a.google.com
Eslatma: xst filtri dst yoki src dan keyin kelishi kerak, aks holda buyruq xatoga yo’l qo’yadi. IP-filtrlashda, aksincha, dst va src ip-filtrdan oldin keladi.
Yyo filtri dasturi
Agar siz bir vaqtning o’zida buyruqda bir nechta filtrlardan foydalanishingiz kerak bo’lsa, filtrni qo’llashingiz kerak y o o (vaziyatga bog’liq). Filtrlarni sintaksisda ko’rsatish va ularni bu operatorlar bilan ajratish orqali siz ularni bitta «ishlash» ga majburlaysiz. Bir misolda shunday ko’rinadi:
sudo tcpdump -i ppp0 ip dst 95.47.144.254 or ip src 95.47.144.254
Misol:
Buyruq sintaksisidan biz nimani ko’rsatishni xohlayotganimizni ko’rishimiz mumkin «Terminal». 95.47.144.254 raqamiga yuborilgan barcha paketlar va bitta manzildan olingan paketlar. Bundan tashqari, ushbu iborada ba’zi o’zgaruvchilarni o’zgartirishingiz mumkin. Masalan, IP-ni HOST-ga almashtirishingiz yoki o’zingizning manzilingizni almashtirishingiz mumkin.
Port va portrange filtri
Filtrni tanlang Puerto ma’lum bir portdagi paketlar haqida ma’lumot olishni xohlaganingizda juda yaxshi. Misol uchun, agar siz faqat DNS so’rovlarini yoki javoblarini ko’rishingiz kerak bo’lsa, siz 53-portni ko’rsatasiz:
sudo tcpdump -vv -i ppp0 port 53
Misol:
Agar siz http-paketlarni ko’rishni istasangiz, 80-portni kiritishingiz kerak:
sudo tcpdump -vv -i ppp0 port 80
Misol:
Boshqa narsalar qatori, bir vaqtning o’zida bir nechta portlarni skanerlash mumkin. Buning uchun filtrni qo’llang portret qilish:
sudo tcpdump portrange 50-80
Ko’rib turganingizdek, filtr bilan birga portret qilish Sizga qo’shimcha variantlarni ko’rsatish shart emas. Bu oraliqni ko’rsatish kifoya.
Protokol bo’yicha filtrlash
Shuningdek, u faqat ma’lum bir protokolga mos keladigan trafikni ko’rsatishi mumkin. Buning uchun protokol nomidan filtr sifatida foydalaning. Keling, bir misolni ko’rib chiqaylik pud:
sudo tcpdump -vvv -i ppp0 udp
Misol:
Rasmda ko’rib turganingizdek, buyruqni ishga tushirgandan so’ng «Terminal». faqat protokolga ega paketlar pud. Shunday qilib, masalan, boshqalar tomonidan filtrlashingiz mumkin arfa:
sudo tcpdump -vvv -i ppp0 arp
o tcp:
sudo tcpdump -vvv -i ppp0 tcp
Tarmoqni filtrlash
Operador qizil paketlarni tarmoq belgilashiga qarab filtrlashga yordam beradi. Boshqalar kabi ishlatish oson: sintaksisda atributni ko’rsatishingiz kerak qizilva keyin tarmoq manzilini kiriting. Bunday buyruqning namunasi:
sudo tcpdump -i ppp0 net 192.168.1.1
Misol:
Paket hajmi bo’yicha filtrlash
Boshqa ikkita qiziqarli filtrni ko’rib chiqmadik: kamroq и . Filtrlar bilan jadvaldan biz ular katta hajmdagi ma’lumotlar paketlarini chiqarish uchun ishlatilishini bilamiz (kamroq) yoki kamroq () atributni kiritgandan so’ng belgilangan o’lchamdagi.
Deylik, biz faqat 50 bitlik belgidan oshmaydigan paketlarni kuzatishni xohlaymiz, shunda buyruq quyidagi shaklga ega bo’ladi:
sudo tcpdump -i ppp0 less 50
Misol:
Endi xaritani xaritaga keltiramiz «Terminal». 50 bitdan katta paketlar:
sudo tcpdump -i ppp0 greater 50
Misol:
Ko’rib turganingizdek, ular xuddi shu tarzda qo’llaniladi, faqat farq filtrning nomi.
Xulosa:
Maqolaning oxirida jamoa degan xulosaga kelish mumkin tcpdump — bu Internet orqali uzatiladigan har qanday ma’lumot paketini kuzatish uchun ishlatilishi mumkin bo’lgan ajoyib vosita. Ammo buyruqni o’zi yozish etarli emas «Terminal».. Faqatgina barcha mumkin bo’lgan variantlar va filtrlardan va ularning kombinatsiyalaridan foydalansangizgina kerakli natijaga erishishingiz mumkin.
Biz sizning muammoingizda sizga yordam bera olganimizdan xursandmiz.
Bizning mutaxassislarimiz imkon qadar tezroq javob berishga harakat qilishadi.
Ushbu maqola sizga yordam berdimi?
Linux, Texnologiyalar
Linuxdagi tcpdump misollari