أهلاً يا شباب! كمهندسي أنظمة Linux، القدرة على فهم ما يحدث على شبكتنا أمر حيوي. اليوم، سنتعمق في أداتين لا غنى عنهما لتحليل حركة المرور: tcpdump و TShark (واجهة سطر الأوامر لـ Wireshark). جاهزين؟ هيا بنا!
tcpdump: ملك الالتقاط الفوري
tcpdump هي أداة سطر أوامر قوية لالتقاط وتحليل حزم الشبكة. إنها سريعة، خفيفة الوزن، ومثالية للمراقبة الفورية أو حفظ حركة المرور لتحليلها لاحقاً.
التقاط أساسي
لتبدأ بالتقاط حركة المرور على واجهة معينة (مثلاً، eth0):
sudo tcpdump -i eth0
لإيقاف الالتقاط، اضغط Ctrl+C. إذا لم تحدد واجهة، سيحاول tcpdump الالتقاط على أول واجهة غير loopback يجدها.
تصفية حركة المرور
هنا تكمن قوة tcpdump. يمكنك تصفية حسب المضيف، المنفذ، البروتوكول، والمزيد.
- حسب المضيف (Host): التقاط حركة المرور من أو إلى IP معين:
sudo tcpdump -i eth0 host 192.168.1.100
sudo tcpdump -i eth0 port 80
sudo tcpdump -i eth0 icmp
and أو or:sudo tcpdump -i eth0 host 192.168.1.100 and port 22
هذا يلتقط حركة المرور من وإلى 192.168.1.100 على المنفذ 22 (SSH).
حفظ الالتقاط في ملف
لتحليل لاحق، يمكنك حفظ حركة المرور في ملف .pcap:
sudo tcpdump -i eth0 -w capture.pcap
الخيار -w يعني "write to file".
قراءة من ملف
لقراءة ملف .pcap قمت بحفظه سابقاً:
tcpdump -r capture.pcap
الخيار -r يعني "read from file".
ملاحظة مهمة:
tcpdumpيعرض رؤوس الحزم بشكل افتراضي. إذا أردت رؤية محتوى الحزم (payload)، استخدم الخيار-Aلعرضها كـ ASCII، أو-Xلعرضها كـ hex و ASCII.sudo tcpdump -i eth0 -A port 80
TShark: قوة Wireshark في سطر الأوامر
TShark هو توأم Wireshark لسطر الأوامر. إنه ممتاز لأتمتة المهام، تحليل ملفات .pcap الكبيرة، أو العمل على خوادم بدون واجهة رسومية. تحتاج لتثبيته أولاً إذا لم يكن موجوداً:
sudo apt update
sudo apt install tshark
# أو على CentOS/RHEL
sudo yum install wireshark
التقاط أساسي باستخدام TShark
يشبه tcpdump في الالتقاط، لكن مع خيارات عرض أكثر تفصيلاً:
sudo tshark -i eth0
قراءة وتحليل ملفات pcap
قوة TShark الحقيقية تظهر عند تحليل الملفات. لقراءة ملف capture.pcap:
tshark -r capture.pcap
هذا سيعرض لك ملخصاً مفصلاً لكل حزمة، تماماً كما في واجهة Wireshark الرسومية.
فلاتر العرض (Display Filters)
على عكس فلاتر الالتقاط في tcpdump، فلاتر العرض في TShark (و Wireshark) يمكن تطبيقها بعد التقاط الحزم. إنها أكثر مرونة بكثير.
- عرض حركة مرور HTTP فقط:
tshark -r capture.pcap -Y "http"
tshark -r capture.pcap -Y "ssh && ip.addr == 192.168.1.100"
tshark -r capture.pcap -Y "tcp contains password"
الخيار -Y يحدد فلتر العرض.
تصدير البيانات
يمكنك تصدير حقول معينة من الحزم إلى ملف CSV، وهو مفيد جداً للتحليل الإحصائي:
tshark -r capture.pcap -Y "http" -T fields -e ip.src -e ip.dst -e http.request.full_uri > http_requests.csv
هذا الأمر سيصدر المصدر والوجهة وURI الكامل لطلبات HTTP إلى ملف http_requests.csv.
نصيحة احترافية: استخدم
tshark -G column-formatsلرؤية جميع أسماء حقولTSharkالمتاحة التي يمكنك استخدامها مع الخيار-e.
الخلاصة
tcpdump و TShark أداتان قويتان، كل واحدة لها استخدامها الأمثل. tcpdump رائع للالتقاط السريع والتصفية الأساسية على الخادم مباشرة. بينما TShark يوفر عمق Wireshark في سطر الأوامر، مما يجعله مثالياً لتحليل ملفات .pcap المعقدة وأتمتة المهام. إتقان هاتين الأداتين سيجعلك مهندس أنظمة Linux أفضل بكثير في استكشاف أخطاء الشبكة وإصلاحها.
الآن، انطلقوا وطبقوا ما تعلمتموه! بالتوفيق!