شرح اداة NetCat
ماهي اداة netcat ?
netcat (غالبًا ما يتم اختصاره إلى nc ) هو أداة مساعدة لشبكات الكمبيوتر للقراءة من اتصالات الشبكة والكتابة إليها باستخدام TCP أو UDP . تم تصميم الأمر ليكون بمثابة نهاية خلفية يمكن الاعتماد عليها ويمكن استخدامها بشكل مباشر أو من السهل تشغيلها بواسطة البرامج والبرامج النصية الأخرى. في الوقت نفسه ، تعد أداة تصحيح أخطاء الشبكة والتحقيق فيها غنية بالميزات ، حيث يمكنها إنتاج أي نوع تقريبًا من الاتصال قد يحتاجه مستخدمها ولديها عدد من الإمكانات المضمنة.
ما هو استخدام أدوات Netcat؟
يمكنك استخدامه: افتح اتصال TCP، والاستماع إلى أي منافذ TCP و UDP، وإرسال حزم UDP، وإجراء عمليات مسح المنفذ في IPv4 و IPv6.
كيفية تثبيت netcat؟
sudo yum install -y nc
كيفية استخدام منفذ مستمع NetCAT؟
ميناء الاستماع (الاستماع): Netcat -l 8888
كيفية إرسال البيانات باستخدام Netcat؟
إرسال المعلومات: Netcat LocalHost 8888
تحديد ما إذا كان يمكن الوصول إلى / فتح المنفذ على المضيف البعيد؟
$ nc -zv 192.168.1.15 22
-Z - مجموعة NC فقط يقوم بمسح الخفي البحث، ولا يرسل أي بيانات في الواقع.
-V - تمكين وضع مفصل
سيحقق الأمر التالي ما إذا كان المنفذ 80 و 22 و 21 (أو اسم مضيف) على المضيف البعيد 192.168.5.5 (أو استخدام اسم المضيف):
nc -zv 192.168.56.10 80 22 21
يمكنك أيضا تحديد مجموعة من عمليات مسح المنفذ:
$ nc -zv 192.168.56.10 20-80
ماهي ميزات netcat ؟
- الاتصالات الصادرة والداخلية ، TCP أو UDP ، من وإلى أي منافذ .
- فحص كامل / عكسي لنظام DNS ، مع التحذيرات المناسبة .
- القدرة على استخدام أي منفذ مصدر محلي .
- القدرة على استخدام أي عنوان مصدر شبكة تم تكوينه محليًا .
- قدرات مسح المنافذ المدمجة ، مع التوزيع العشوائي
- إمكانية توجيه مصدر فضفاض مضمنة .
- يمكن قراءة وسيطات سطر الأوامر من الإدخال القياسي .
- وضع الإرسال البطيء ، سطر واحد كل N ثانية .
- تفريغ سداسي عشري للبيانات المرسلة والمستلمة .
- إمكانية اختيارية للسماح لخدمة برنامج أخرى بإنشاء اتصالات .
- اختياري telnet -options المستجيب النسخ المعاد كتابتها مثل GNU's و OpenBSD تدعم ميزات إضافية. على سبيل المثال ، يدعم OpenBSD's nc TLS ، ويدعم GNU netcat أصلاً وضع النفق الذي يدعم UDP و TCP (يسمح اختياريًا بنفق أحدهما فوق الآخر) في أمر واحد ، [3] حيث قد تتطلب الإصدارات الأخرى بيانات الأنابيب من مثيل netcat واحد إلى آخر.
نبذة عن NetCat
كان الإصدار الأصلي من netcat أحد برامج Unix . تم إصدار الإصدار الأخير (1.10) في مارس 1996.
هناك العديد من التطبيقات على أنظمة POSIX ، بما في ذلك إعادة الكتابة من نقطة الصفر مثل GNU net أو OpenBSD netcat ، الأخير الذي يدعم IPv6 و TLS . تم نقل إصدار OpenBSD إلى قاعدة FreeBSD [10] و Windows / Cygwin. يأتي نظام التشغيل Mac OS X مع netcat المثبت اعتبارًا من OSX 10.13 أو يمكن للمستخدمين استخدام MacPorts لتثبيت متغير.
يتم تضمين إصدار DOS من netcat يسمى NTOOL في شبكات مجموعة حزمة FreeDOS . يعتمد على مكدس WatTCP ومرخص بموجب الإصدار 1.1 من الرخصة العامة للاتحاد الأوروبي .
تتضمن المنافذ المعروفة للأنظمة المضمنة إصدارات لـ Windows CE (تسمى "Netcat 4 wince" ) أو لأجهزة iPhone .
يتضمن BusyBox افتراضيًا إصدارًا خفيف الوزن من netcat
يتضمن Solaris 11 تطبيق netcat المستند إلى OpenBSD netcat.
سوكات
سوكات هو البديل الأكثر تعقيدًا لـ netcat . إنه أكبر وأكثر مرونة ويحتوي على المزيد من الخيارات التي يجب تكوينها لمهمة معينة. في 1 فبراير 2016 ، أصدر كل من Santiago Zanella-Beguelin و Microsoft Vulnerability Research نصيحة أمان بخصوص معلمة Diffie-Hellman المركبة التي تم ترميزها في تطبيق OpenSSL الخاص بـ socat . أدى عدم معقولية أن مركبًا قد تم تقديمه عن غير قصد حيث يلزم وجود رقم أولي إلى الاشتباه في حدوث تخريب لإدخال ضعف برنامج الباب الخلفي . أثر هذا الخطأ في socat على الإصدار 1.7.3.0 و 2.0.0-b8 وتم تصحيحه في الإصدارات التالية من 1.7.3.1 و 2.0.0-b9. [18]
Cryptcat هو إصدار من netcat مزود بقدرات تشفير نقل متكاملة.
Nmap
في منتصف عام 2005 ، أعلنت Nmap عن تجسيد آخر لـ netcat يسمى Ncat. يتميز بإمكانيات جديدة مثل "وسيط الاتصال" وإعادة توجيه TCP / UDP ودعم عميل وخادم SOCKS4 والقدرة على "سلسلة" عمليات Ncat ووكلاء HTTP CONNECT (وتسلسل الوكيل) ودعم اتصال / استماع SSL وعنوان IP / تصفية الاتصال. مثل Nmap ، Ncat عبارة عن منصة مشتركة .
الانظمة الداعمه
في بعض الأنظمة أو الإصدارات المعدلة أو أدوات netcat المساعدة المشابهة ، انتقل إلى اسم (أسماء) الأمر nc، ncat، pnetcat، socat، ، sock، socket، sbd.
شرح امثلة
فتح اتصال خام بالمنفذ 25
تنفيذ طلب HTTP
printf "GET /index.html HTTP/1.0\r\nHost: info.cern.ch\r\n\r\n" | nc info.cern.ch 80
سيتم تفريغ الاستجابة الكاملة (بما في ذلك رؤوس HTTP) إلى الإخراج القياسي.
إعداد خادم ويب لقطة واحدة على المنفذ 8080 لتقديم محتوى ملف
{ printf 'HTTP/1.0 200 OK\r\nContent-Length: %d\r\n\r\n' "$(wc -c < some.file)"; cat some.file; } | nc -l 8080
يمكن بعد ذلك الوصول إلى الملف عبر مستعرض ويب ضمن http: // servername: 8080
يقدم Netcat الملف مرة واحدة فقط إلى العميل الأول الذي يتصل ثم يخرج ؛ كما أنه يوفر طول المحتوى للمتصفحات التي تتوقعه. (يجب أن يعمل هذا بشكل جيد في شبكة LAN ، ولكن من المحتمل أن يفشل مع أي نوع من جدار الحماية بينهما.) في بعض إصدارات netcat مثل netcat-traditional في Debian 8.6 ، تحتاج إلى تحديد -p قبل رقم المنفذ.
التحقق مما إذا كانت منافذ UDP (-u) 80-90 مفتوحة على 192.168.0.1 باستخدام الوضع الصفري I / O (-z)
nc -vzu 192.168.0.1 80-90
لاحظ أن اختبارات UDP ستظهر دائمًا على أنها "مفتوحة".
اختبر ما إذا كان منفذ UDP مفتوحًا: خادم وعميل UDP بسيطانتعديل
هذا الاختبار مفيد ، إذا كان لديك وصول shell إلى الخادم الذي يجب اختباره ، لكنك لا تعرف ما إذا كان هناك جدار حماية يحظر منفذ UDP معين على الخادم.
على مضيف الاستماع ، أي على الخادم الذي يحتاج منفذه إلى التحقق ، قم بما يلي:
على مضيف الإرسال ، قم بما يلي - لاحظ أن هذا servnameهو اسم مضيف مضيف المستمع:
إذا تم عرض النص المكتوب على مضيف الإرسال (اكتب شيئًا واضغط على إدخال) أيضًا على مضيف الاستماع ، فسيكون منفذ UDP 4172 مفتوحًا. إذا لم يكن مفتوحًا ، فستتلقى رسالة خطأ مثل "تم رفض الاتصال".
هناك تحذير. في بعض الأجهزة ، قد يكون IPv6 هو إصدار IP الافتراضي الذي يمكن استخدامه netcat. وبالتالي ، يتم الاتصال بالمضيف المحدد بواسطة اسم المضيف باستخدام IPv6 ، وقد لا يعرف المستخدم عن ذلك. قد تظهر المنافذ مغلقة في الاختبار ، على الرغم من أنها ستكون مفتوحة عند استخدام IPv4 . قد يكون من الصعب ملاحظة ذلك وقد يتسبب في انطباع خاطئ بأن المنفذ مغلق ، بينما هو مفتوح بالفعل. يمكنك فرض استخدام IPv4 عن طريق إضافة -4خيارات ncالأوامر.
الأنابيب عبر UDP (-u) مع وقت انتظار (-w) من ثانية واحدة لـ "loggerhost" على المنفذ 514
echo '<0>message' | nc -w 1 -u loggerhost 514
الوكيل
سلوك مفيد آخر هو استخدام netcatالبروكسي. يمكن إعادة توجيه كل من المنافذ والمضيفين. انظر إلى هذا المثال:
nc -l 12345 | nc www.google.com 80
يمثل المنفذ 12345 الطلب.
يؤدي هذا إلى تشغيل ncخادم على المنفذ 12345 ويتم إعادة توجيه جميع الاتصالات إليه google.com:80. إذا قدم متصفح الويب طلبًا إلى nc، فسيتم إرسال الطلب إلى google ولكن لن يتم إرسال الرد إلى متصفح الويب. وذلك لأن الأنابيب أحادية الاتجاه. يمكن التعامل مع هذا باستخدام أنبوب مسمى لإعادة توجيه الإدخال والإخراج .
تعليقات
إرسال تعليق