هل تحاول التقاط حزم البيانات لتحليل حركة المرور على شبكتك؟ ربما تكون مسؤول خادم واجه مشكلة وتريد مراقبة البيانات المنقولة على الشبكة. مهما كان الموقف ، فإن الأداة المساعدة tcpdump Linux هي ما تحتاجه.
في هذه المقالة ، سنناقش الأمر tcpdump بالتفصيل ، جنبًا إلى جنب مع بعض الإرشادات حول كيفية تثبيت واستخدام tcpdump على نظام Linux الخاص بك.
ما هو الأمر tcpdump؟
Tcpdump هي أداة قوية لمراقبة الشبكة تسمح للمستخدم بتصفية الحزم وحركة المرور على الشبكة بكفاءة. يمكنك الحصول على معلومات مفصلة تتعلق بـ TCP / IP والحزم المنقولة على شبكتك. Tcpdump هي أداة مساعدة لسطر الأوامر ، مما يعني أنه يمكنك تشغيلها على خوادم Linux بدون عرض.
يمكن لمسؤولي النظام أيضًا دمج الأداة المساعدة tcpdump مع كرون من أجل أتمتة المهام المختلفة مثل التسجيل. نظرًا لأن ميزاته العديدة تجعله متعدد الاستخدامات تمامًا ، يعمل tcpdump كأداة لاستكشاف الأخطاء وإصلاحها بالإضافة إلى أداة أمان.
كيفية تثبيت tcpdump على نظام Linux
بينما ستجد في معظم الأوقات أن tcpdump مثبتًا مسبقًا على نظامك ، فإن بعض توزيعات Linux لا تأتي مع الحزمة. لذلك ، قد تضطر إلى تثبيت الأداة يدويًا على نظامك.
يمكنك التحقق مما إذا كان tcpdump مثبتًا على نظامك باستخدام ملف الذي أمر.
الذي tcpdump
إذا كان الإخراج يعرض مسار دليل (/usr/bin/tcpdump) ، ثم تم تثبيت الحزمة على نظامك. ومع ذلك ، إذا لم يكن الأمر كذلك ، فيمكنك القيام بذلك بسهولة باستخدام مدير الحزم الافتراضي على نظامك.
لتثبيت tcpdump على توزيعات تعتمد على دبيان مثل Ubuntu:
sudo apt-get install tcpdump
يعد تثبيت tcpdump على CentOS أمرًا سهلاً أيضًا.
sudo yum تثبيت tcpdump
على التوزيعات القائمة على القوس:
sudo pacman -S tcpdump
للتثبيت على Fedora:
sudo dnf تثبيت tcpdump
لاحظ أن حزمة tcpdump تتطلب libcap تبعية ، لذا تأكد من تثبيته على نظامك أيضًا.
أمثلة على Tcpdump لالتقاط حزم الشبكة على نظام Linux
الآن بعد أن قمت بتثبيت tcpdump بنجاح على جهاز Linux الخاص بك ، فقد حان الوقت لمراقبة بعض الحزم. نظرًا لأن tcpdump يتطلب أذونات المستخدم المتميز لتنفيذ معظم العمليات ، فسيتعين عليك إضافة سودو لأوامرك.
1. سرد كافة واجهات الشبكة
للتحقق من واجهات الشبكة المتاحة لالتقاطها ، استخدم ملف -د علم باستخدام الأمر tcpdump.
tcpdump -D
تمرير - واجهات قائمة علم كوسيطة سيعيد نفس الإخراج.
tcpdump - واجهات قائمة
سيكون الإخراج عبارة عن قائمة بجميع واجهات الشبكة الموجودة على نظامك.
بعد الحصول على قائمة واجهات الشبكة ، حان الوقت لمراقبة شبكتك عن طريق التقاط الحزم على نظامك. على الرغم من أنه يمكنك تحديد الواجهة التي تريد استخدامها ، فإن ملف أي أوامر الوسيطة tcpdump لالتقاط حزم الشبكة باستخدام أي واجهة نشطة.
tcpdump - أي واجهة
سيعرض النظام الإخراج التالي.
متعلق ب: ما هو نموذج ربط الأنظمة المفتوحة؟
2. تنسيق الإخراج tcpdump
بدءًا من السطر الثالث ، يشير كل سطر من الإخراج إلى حزمة معينة تم التقاطها بواسطة tcpdump. هذا ما يبدو عليه إخراج الحزمة الواحدة.
17: 00: 25.369138 wlp0s20f3 Out IP localsystem.40310> kul01s10-in-f46.1e100.net.https: Flags [P.]، seq 196: 568، ack 1، win 309، options [nop، nop، TS val 117964079 ecr 816509256] ، الطول 33
ضع في اعتبارك أنه لا يتم التقاط جميع الحزم بهذه الطريقة ، ولكن هذا هو التنسيق العام الذي يتبعه معظمها.
الإخراج يحتوي على المعلومات التالية.
- الطابع الزمني للحزمة المستلمة
- اسم الواجهة
- تدفق الحزمة
- اسم بروتوكول الشبكة
- عنوان IP وتفاصيل المنفذ
- أعلام TCP
- رقم تسلسل البيانات في الحزمة
- بيانات Ack
- بحجم النافذه
- طول الحزمة
الحقل الأول (17:00:25.369138) يعرض الطابع الزمني عند قيام نظامك بإرسال الحزمة أو استلامها. يتم استخراج الوقت المسجل من التوقيت المحلي لنظامك.
يشير الحقلان الثاني والثالث إلى الواجهة المستخدمة وتدفق الحزمة. في المقتطف أعلاه ، wlp0s20f3 هو اسم الواجهة اللاسلكية و خارج هو تدفق الحزمة.
يتضمن الحقل الرابع المعلومات المتعلقة باسم بروتوكول الشبكة. بشكل عام ، ستجد بروتوكولين- IP و IP6، حيث يشير IP إلى IPV4 و IP6 هو IPV6.
يحتوي الحقل التالي على عناوين IP أو اسم نظام المصدر والوجهة. عناوين IP متبوعة برقم المنفذ.
يتكون الحقل السادس في الإخراج من أعلام TCP. هناك العديد من العلامات المستخدمة في إخراج tcpdump.
اسم العلم | قيمة | وصف |
---|---|---|
SYN | س | بدأ الاتصال |
FIN | F | انتهى الاتصال |
يدفع | ص | يتم دفع البيانات |
RST | ر | تمت إعادة تعيين الاتصال |
ACK | . | إعتراف |
يمكن أن يحتوي الإخراج أيضًا على مجموعة من عدة أعلام TCP. على سبيل المثال، FLAG [ص.] لتقف على حزمة FIN-ACK.
لمزيد من التحرك في مقتطف الإخراج ، يحتوي الحقل التالي على رقم التسلسل (seq 196: 568) من البيانات الموجودة في الحزمة. تحتوي الحزمة الأولى دائمًا على قيمة عدد صحيح موجب ، وتستخدم الحزم التالية رقم التسلسل النسبي لتحسين تدفق البيانات.
يحمل الحقل التالي رقم الإقرار (ack 1) ، أو رقم Ack بسيط. الحزمة التي تم التقاطها في جهاز المرسل لها 1 كرقم الإقرار. في نهاية جهاز الاستقبال ، رقم Ack هو قيمة الحزمة التالية.
يلائم الحقل التاسع في الإخراج حجم النافذة (فوز 309) ، وهو عدد البايتات المتوفرة في المخزن المؤقت للاستلام. هناك العديد من الحقول الأخرى التي تتبع حجم النافذة ، بما في ذلك الحد الأقصى لحجم الجزء (MSS).
الحقل الأخير (الطول 33) يحتوي على طول الحزمة الإجمالية التي تم التقاطها بواسطة tcpdump.
3. الحد من عدد الحزم الملتقطة
أثناء تشغيل الأمر tcpdump للمرة الأولى ، قد تلاحظ أن النظام يستمر في التقاط حزم الشبكة حتى تقوم بتمرير إشارة مقاطعة. يمكنك تجاوز هذا السلوك الافتراضي بتحديد عدد الحزم التي تريد التقاطها مسبقًا باستخدام ملف -ج علم.
tcpdump - واجهة أي -c 10
سوف يلتقط الأمر المذكور أعلاه عشر حزم من أي واجهة شبكة نشطة.
4. حزم عامل التصفية على أساس الحقول
عندما تقوم باستكشاف مشكلة ما ، فإن الحصول على كتلة كبيرة من النص الناتج على جهازك لا يجعل الأمر أسهل. وهنا يأتي دور ميزة التصفية في tcpdump. يمكنك تصفية الحزم وفقًا للمجالات المختلفة بما في ذلك المضيف والبروتوكول ورقم المنفذ والمزيد.
لالتقاط حزم TCP فقط ، اكتب:
tcpdump - واجهة أي -c 5 tcp
وبالمثل ، إذا كنت تريد تصفية الإخراج باستخدام رقم المنفذ:
tcpdump - واجهة أي -c 5 منفذ 50
سيسترد الأمر المذكور أعلاه الحزم المرسلة عبر المنفذ المحدد فقط.
للحصول على تفاصيل الحزمة لمضيف معين:
tcpdump - واجهة أي -c 5 مضيف 112.123.13.145
إذا كنت تريد تصفية الحزم المرسلة أو المستلمة من قبل مضيف معين ، فاستخدم src أو dst حجة مع الأمر.
tcpdump - واجهة أي -c 5 src 112.123.13.145
tcpdump - واجهة أي -c 5 dst 112.123.13.145
يمكنك أيضًا استخدام العوامل المنطقية و و أو لدمج تعبيرين أو أكثر معًا. على سبيل المثال ، للحصول على الحزم التي تنتمي إلى IP المصدر 112.123.13.145 واستخدم المنفذ 80:
tcpdump - واجهة أي -c 10 src 112.123.13.145 والمنفذ 80
يمكن تجميع التعبيرات المعقدة معًا باستخدام أقواس كما يلي:
tcpdump - واجهة أي -c 10 "(src 112.123.13.145 أو src 234.231.23.234) و (المنفذ 45 أو المنفذ 80)"
5. اعرض محتوى الحزمة
يمكنك استعمال ال -أ و -x إشارات باستخدام الأمر tcpdump لتحليل محتوى حزمة الشبكة. ال -أ العلم لتقف على ASCII تنسيق و -x يدل السداسي عشري صيغة.
لعرض محتوى حزمة الشبكة التالية التي يلتقطها النظام:
tcpdump - واجهة أي -c 1 -A
tcpdump - واجهة أي -c 1 -x
متعلق ب: ما هو فقدان الحزم وكيفية إصلاح السبب؟
6. حفظ بيانات الالتقاط في ملف
إذا كنت تريد حفظ بيانات الالتقاط لأغراض مرجعية ، فإن tcpdump موجود لمساعدتك. فقط قم بتمرير -w ضع علامة بالأمر الافتراضي لكتابة الإخراج إلى ملف بدلاً من عرضه على الشاشة.
tcpdump - واجهة أي -c 10 -w data.pcap
ال .pcap امتداد الملف لتقف على التقاط الحزمة البيانات. يمكنك أيضًا إصدار الأمر المذكور أعلاه في الوضع المطول باستخدام ملف -الخامس علم.
tcpdump - واجهة أي -c 10 -w data.pcap -v
لقراءة أ .pcap ملف باستخدام tcpdump ، استخدم ملف -r علم متبوعًا بمسار الملف. ال -r تمثل يقرأ.
tcpdump -r data.pcap
يمكنك أيضًا تصفية حزم الشبكة من حزم البيانات المحفوظة في الملف.
tcpdump -r data.pcap port 80
مراقبة حركة مرور الشبكة على Linux
إذا تم تكليفك بمهمة إدارة خادم Linux ، فإن الأمر tcpdump يعد أداة رائعة لتضمينها في ترسانتك. يمكنك بسهولة إصلاح المشكلات المتعلقة بالشبكة عن طريق التقاط الحزم المرسلة على شبكتك في الوقت الفعلي.
ولكن قبل كل ذلك ، يجب أن يكون جهازك متصلاً بالإنترنت. بالنسبة للمبتدئين في نظام Linux ، قد يكون الاتصال بشبكة Wi-Fi عبر سطر الأوامر أمرًا صعبًا بعض الشيء. ولكن إذا كنت تستخدم الأدوات الصحيحة ، فهذا أمر سريع.
هل تريد الاتصال بشبكة Wi-Fi من خلال سطر أوامر Linux؟ إليك ما تحتاج لمعرفته حول الأمر nmcli.
اقرأ التالي
- لينكس
- حماية
- شبكة الطب الشرعي
Deepesh هو محرر جونيور لنظام Linux في MUO. لقد كان يكتب محتوى إعلاميًا على الإنترنت لأكثر من 3 سنوات. في أوقات فراغه ، يستمتع بالكتابة والاستماع إلى الموسيقى ولعب الجيتار.
اشترك في نشرتنا الإخبارية
انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!
خطوة أخرى أيضا…!
يرجى تأكيد عنوان بريدك الإلكتروني في البريد الإلكتروني الذي أرسلناه لك للتو.