NMap 101: Scanning Networks For Open Ports To Access, HakTip 94
جدول المحتويات:
- بناء جملة Netcat
- ميناء المسح الضوئي
- إرسال الملفات من خلال Netcat
- إنشاء خادم دردشة بسيط
- تنفيذ طلب HTTP
- استنتاج
Netcat (أو nc) هو أداة مساعدة لسطر الأوامر تقوم بقراءة وكتابة البيانات عبر اتصالات الشبكة ، باستخدام بروتوكولات TCP أو UDP. إنها واحدة من أقوى الأدوات في ترسانة مسؤولي النظام والشبكة والتي تعتبر بمثابة سكين الجيش السويسري لأدوات الشبكات.
Netcat عبارة عن منصة مشتركة ومتاحة لنظام التشغيل Linux و macOS و Windows و BSD. يمكنك استخدام Netcat لتصحيح ومراقبة اتصالات الشبكة ، والمسح بحثًا عن المنافذ المفتوحة ، ونقل البيانات ، وكوكيل وغير ذلك. تم تثبيت حزمة Netcat مسبقًا على نظام التشغيل macOS وتوزيعات Linux الشائعة مثل Ubuntu.
بناء جملة Netcat
بناء الجملة الأساسي للأداة المساعدة Netcat يأخذ النموذج التالي:
nc host port
على Ubuntu ، يمكنك استخدام
netcat
أو
nc
. كلاهما الارتباطات إلى نسخة openBSD من Netcat.
بشكل افتراضي ، سيحاول Netcat بدء اتصال TCP بالمضيف والمنفذ المحددين. إذا كنت ترغب في تأسيس اتصال UDP ، فاستخدم الخيار
-u
:
ميناء المسح الضوئي
تعد منافذ المسح الضوئي واحدة من أكثر استخدامات Netcat شيوعًا. يمكنك مسح منفذ واحد أو نطاق منفذ.
على سبيل المثال ، للبحث عن المنافذ المفتوحة في النطاق 20-80 ، يمكنك استخدام الأمر التالي:
nc -z -v 10.10.8.8 20-80
-z
الخيار
-z
nc
بالبحث فقط عن المنافذ المفتوحة ، دون إرسال أي بيانات إليها وخيار
-v
لتوفير مزيد من المعلومات المطوّلة.
سيظهر الإخراج بشيء من هذا القبيل:
nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused Connection to 10.10.8.8 22 port succeeded! nc: connect to 10.10.8.8 port 23 (tcp) failed: Connection refused… nc: connect to 10.10.8.8 port 79 (tcp) failed: Connection refused Connection to 10.10.8.8 80 port succeeded!
nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded
Connection to 10.10.8.8 22 port succeeded! Connection to 10.10.8.8 80 port succeeded!
يمكنك أيضًا استخدام Netcat للعثور على برنامج الخادم وإصداره. على سبيل المثال ، إذا قمت بإرسال أمر "EXIT" إلى الخادم على منفذ SSH الافتراضي 22:
echo "EXIT" | nc 10.10.8.8 22
سيظهر الإخراج بشيء من هذا القبيل:
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4 Protocol mismatch.
للبحث عن منافذ UDP ، قم ببساطة بإضافة الخيار
-u
إلى الأمر كما هو موضح أدناه:
nc -z -v -u 10.10.8.8 20-80
في معظم الحالات ، تعد Nmap أداة أفضل من Netcat لمسح المنافذ بشكل معقد.
إرسال الملفات من خلال Netcat
يمكن استخدام Netcat لنقل البيانات من مضيف إلى آخر عن طريق إنشاء نموذج عميل / خادم أساسي.
يعمل هذا عن طريق تعيين Netcat للاستماع على منفذ معين (باستخدام الخيار
-l
) على مضيف الاستقبال ثم إنشاء اتصال TCP منتظم من المضيف الآخر وإرسال الملف فوقه.
في حالة الاستلام ، قم بتشغيل الأمر التالي الذي سيفتح المنفذ 5555 للاتصال الوارد وإعادة توجيه الإخراج إلى الملف:
nc -l 5555 > file_name
من المضيف المرسل ، قم بالاتصال بالمضيف المستلم وأرسل الملف:
nc receiving.host.com 5555 < file_name
لنقل دليل ، يمكنك استخدام tar لأرشفة الدليل على المضيف المصدر واستخراج الأرشيف على المضيف الوجهة.
على مضيف الاستلام ، قم بتعيين أداة Netcat للاستماع إلى اتصال وارد على المنفذ 5555. يتم توصيل البيانات الواردة إلى أمر tar والذي سيقوم باستخراج الأرشيف:
nc -l 5555 | tar xzvf -
في حزمة إرسال المضيف ، أرسل الدليل وإرسال البيانات عن طريق الاتصال بعملية الاستماع إلى المضيف على:
tar czvf - /path/to/dir | nc receiving.host.com 5555
يمكنك مشاهدة تقدم النقل على كلا الطرفين. بمجرد الانتهاء ، اكتب
CTRL+C
لإغلاق الاتصال.
إنشاء خادم دردشة بسيط
إن إجراء إنشاء دردشة عبر الإنترنت بين مضيفين أو أكثر هو نفسه عند نقل الملفات.
على المضيف الأول ، ابدأ عملية Netcat للاستماع على المنفذ 5555:
nc -l 5555
من المضيف الثاني ، قم بتشغيل الأمر التالي للاتصال بمنفذ الاستماع:
nc first.host.com 5555
الآن إذا قمت بكتابة رسالة واضغط
ENTER
، فسيتم عرضها على كلا المضيفين.
لإغلاق الاتصال ، اكتب
CTRL+C
تنفيذ طلب HTTP
على الرغم من وجود أدوات أفضل بكثير لطلبات HTTP مثل curl ، يمكنك أيضًا استخدام Netcat لإرسال طلبات مختلفة إلى خوادم بعيدة.
على سبيل المثال ، لاسترداد الصفحة الشخصية لـ Netcat من موقع OpenBSD على الويب ، يمكنك كتابة:
printf "GET /nc.1 HTTP/1.1\r\nHost: man.openbsd.org\r\n\r\n" | nc man.openbsd.org 80
ستتم طباعة الاستجابة الكاملة بما في ذلك رؤوس HTTP ورمز HTML في الجهاز.
استنتاج
في هذا البرنامج التعليمي ، تعلمت كيفية استخدام الأداة المساعدة Netcat لإنشاء واختبار اتصالات TCP و UDP.
لمزيد من المعلومات ، تفضل بزيارة صفحة Netcat man واقرأ جميع الخيارات القوية الأخرى لأمر Netcat.
محطة netcatما هو السطو الإلكتروني و Typosquatting - تعريف & أمثلة
Cybersquatting أو URL Hijacking يتم تسجيل أسماء المجالات التي تحتوي على مصطلحات مسجلة كعلامة تجارية. Typosquatting هو تسجيل أسماء النطاقات باستخدام الكلمات التي بها أخطاء إملائية.
ما هو برنامج Cyberstalking؟ أمثلة ، الوقاية ، المساعدة
ما هو المطاردة عبر الإنترنت؟ لماذا الناس السيبراني؟ ما هي الطرق لمنع الانقلاب الإلكتروني؟ أين تبلغ؟ تلقي هذه المشاركة نظرة على كل هذه الأسئلة.
أمر الصدى في لينكس مع أمثلة
يعد أمر echo أحد أكثر الأوامر الأساسية استخدامًا في نظام Linux. تتم طباعة الوسائط التي تم تمريرها إلى echo إلى الإخراج القياسي.