لینوکس ۳۰۳؛ شب ۲۸: tcpdump و Wireshark؛ بستهها چه قصهای میگویند؟
فهرست نوشته
کاربر میگوید اینترنت قطع است، ولی برنامهٔ کتابخانه باز میشود. بهجای حدسزدن، چند بستهٔ محدود ثبت میکنیم و لایهٔ خرابی را پیدا میکنیم. بعد سراغ DHCP و Router Advertisement ناشناس میرویم.
این جلسه بخشی از دورهٔ لینوکس ۳۰۳ در ۴۰ شب است.
محیط تمرین: srv و client با Ubuntu 24.04؛ tcpdump و tshark؛ کارت Host-only مشخص؛ sudo برای capture.
جایگاه در دوره: هدفهای 334.1 آزمون 303-300.
capture filter با display filter فرق دارد#
tcpdump هنگام capture، فیلتر BPF را اعمال میکند؛ Wireshark و tshark برای نمایش از زبان دیگری استفاده میکنند. tcp port 443 یک capture filter است؛ tcp.port == 443 یک display filter. جابهجا کردن این دو، شاهد را از بین میبرد یا ابزار را متوقف میکند.
روی srv نام کارت lab را پیدا کن؛ اگر enp0s8 نیست، آن را در فرمان عوض کن:
umask 077
mkdir -p ~/lpic303/pcap
sudo tcpdump -ni enp0s8 -c 20 -w ~/lpic303/pcap/lab.pcap \
'host 192.168.56.20 and (icmp or tcp port 22)'
capture منتظر حداکثر ۲۰ بسته میماند. از client، ping یا اتصال SSH تازه به srv ایجاد کن؛ اگر بسته کافی نرسید، Ctrl+C ضبط را سالم پایان میدهد. روی کارت درست باید درخواست و پاسخ دیده شوند؛ capture فقط ترافیکی را میبیند که واقعاً از نقطهٔ مشاهده عبور میکند.
sudo tcpdump -nn -r ~/lpic303/pcap/lab.pcap
sudo tshark -r ~/lpic303/pcap/lab.pcap -Y 'icmp || tcp.port == 22'
sudo tshark -r ~/lpic303/pcap/lab.pcap -q -z conv,tcp
-nn تبدیل نام میزبان و سرویس را متوقف میکند. وجود SYN بدون پاسخ با رد صریح RST یا پاسخ کاربردی یکسان نیست. برای رابط گرافیکی، کپی capture را در Wireshark با کاربر عادی باز کن؛ کل GUI را root اجرا نکن.
همسایهٔ قلابی از چه راه وارد میشود؟#
در IPv4، پیشنهاد DHCP شامل gateway و DNS میتواند از سرور ناشناس برسد. در IPv6، RA یعنی Router Advertisement؛ پیام جعلی میتواند مسیر پیشفرض را تغییر دهد. حتی شبکهای که «فقط IPv4» نامیده میشود ممکن است IPv6 فعال داشته باشد.
برای مشاهدهٔ محدود در lab:
sudo tcpdump -ni enp0s8 -c 10 'udp port 67 or udp port 68 or icmp6'
ip -6 route
ip neigh
هیچ DHCP یا RA جعلی در شبکهٔ واقعی ایجاد نکن. تمرین دفاعی این درس، مقایسهٔ MAC و مبدأ با موجودی lab است؛ برای تشخیص واقعی، DHCP snooping و RA Guard در تجهیزات سازگار و ابزارهایی مانند ndpmon میتوانند بخشی از طرح باشند. spoofing MAC باعث میشود شناخت فقط از روی MAC کافی نباشد.
مأموریت امشب#
یک جدول از سه جریان مجاز بساز: مبدأ، مقصد، پورت و نقطهٔ capture. اگر روی سرور چیزی ندیدی، آیا فایروال همان سرور حتماً drop کرده است؟ نه؛ کارت اشتباه، مسیر متفاوت یا drop بالادست هم ممکن است. فایل pcap ممکن است دادهٔ حساس داشته باشد؛ نمونهٔ این درس را با ترافیک واقعی مخلوط نکن.
منابع: tcpdump و راهنمای Wireshark .