
- بواسطة x32x01 ||
Netcat: شرح بسيط وفهم سريع للأداة وكيفية الاستخدام
Netcat (أو nc) هي أداة صغيرة لكن قوية جدًا لإدارة الشبكات وفحص الاتصالات. بتشتغل على TCP وUDP وبتكون مفيدة لمسؤولين الشبكات والأنظمة عشان يتأكدوا من حالة البورتات، ينقلوا ملفات بسرعة، أو يعملوا اختبارات على الخدمات. الأداة بتيجي على شكل سطر أوامر، وبتشتغل على لينكس وWindows وMac.ايه استخدامات Netcat الأساسية؟
- فحص البورتات (port scanning) عشان تعرف ايه البورتات المفتوحة.
- تشغيل مستمع (listener) عشان تستقبل اتصالات (TCP/UDP).
- نقل ملفات بين جهازين من غير FTP أو SSH.
- اختبار طلبات HTTP أو جلب كود صفحة ويب (raw HTML).
- تكوين قنوات نصية بسيطة (chat) داخل الشبكة المحلية.
- تُستخدم في السكريبتات لأتمتة فحص الشبكة.
أساسيات كتابة أوامر Netcat
جميع أوامر Netcat بتبدأ بـ nc أو netcat. بعديها بتيجي الخيارات (flags) ثم الهدف (host) والمنفذ (port). كل خيار له وظيفة - هنعرض أشهرهم وشرح بسيط:أشهر الخيارات (flags) واستخدامها
- -u : استخدم UDP بدل TCP.
- -v : verbose - يعرض معلومات أكتر عن النتائج.
- -p : تحديد رقم المنفذ المحلي.
- -l : افتح listener (خلي البرنامج يستنى اتصالات واردة).
- -z : وضع "مسح منفذ" بدون تبادل بيانات (scan only).
- -n : تخطي بحث DNS (اشتغل بالـ IP مباشرة، أسرع).
- -k : خلي المستمع يفضل شغال بعد كل اتصال.
- -4 / -6 : إجبار استخدام IPv4 أو IPv6.
- -e : ربط الأمر ببرنامج/شل (في بعض الإصدارات)
أمثلة عمليّة توضيحية (مع شرح كل اختيار)
كل الأوامر دي تشتغل في ترمينال Linux أو PowerShell (لو عندك نسخة Netcat على Windows).1) عرض مساعدة الأمر
Code:
nc --help
2) فحص منفذ أو نطاق منافذ (Port Scan)
Code:
nc -v -n 8.8.8.8 1-1000
- -v لعرض التفاصيل، -n لتخطي DNS، وبعدين IP ونطاق المنافذ 1-1000.
يُستخدم سريعًا لمعرفة أي بورتات مفتوحة على جهاز الهدف.
3) فحص نطاق على اسم دومين
Code:
nc -v -n google.com 1-1000
4) تشغيل مستمع (Listener) للدردشة أو استقبال اتصالات
Code:
nc -nvlp 2022
- -l مستمع، -p 2022 رقم البورت، -v عرض مطوّل، -n عدم استخدام DNS.
بعدها من جهاز تاني تتصل على نفس البورت وتقدر تتكلم أو تبعت بيانات.
5) نقل ملف من جهاز لجهاز (Server side)
على جهاز المرسل: Code:
nc -l 1499 > filename.out
Code:
nc server.com 1499 < filename.in
6) تشغيل صفحة ويب بسيطة من جهازك (Static HTTP host)
لو عندك index.html وحابب تعرضه مؤقتًا: Code:
printf "HTTP/1.1 200 OK\n\n$(cat index.html)" | nc -l 8080
http://<your-ip>:8080
وهتشوف الصفحة اللي في index.html.7) طلب HTTP بسيط (جلب كود HTML خام)
Code:
printf "GET / HTTP/1.0\r\n\r\n" | nc google.com 80
فحص بورتات سريع ولقطات اللّافتة (banner grabbing)
بعض الأمثلة للفحص السريع:- فحص منفذ واحد: nc -zv site.com 80
- فحص مجموعة منفذات: nc -zv site.com 80-84
- فحص نطاق من أرقام منفذ أو عدة منافذ منفصلة.
نصايح عملية عشان تشتغل صح مع Netcat
- دايمًا شغّل -n لو عايز سرعة (تتفادى DNS).
- استخدم -v وقت التصحيح علشان تشوف تفاصيل النتائج.
- لما تعمل فحص شبكات لشركة أو عميل، خلي موافقة خطية قبل أي اختبار.
- دمج Netcat في سكريبتات ممكن يسرّع الفحص على كل الخوادم لديك.
- تابع نسخة Netcat لأن بعض الإصدارات بتدعم خيارات مختلفة (مثلاً -e مش موجودة في كل نسخة بسبب مخاطرها).
ميزات متقدمة وسكرِبتات (باختصار)
تقدر تكتب سكريبت يقرأ ملف فيه عناوين IP ويشغّل nc -zv
على كل عنوان ويحفظ النتائج في ملف نصي لتحليل لاحق. دي طريقة مفيدة لمراقبة الشبكة بشكل دوري. التعديل الأخير: