جدول المحتويات:
- الخطوة 1: كيف نبدأ؟
- الخطوة 2: لنبدأ
- الخطوة 3: إنشاء اتصال
- الخطوة 4: لنرسل بعض المحتوى
- الخطوة 5: يتيح اتصالاً مفتوحًا
- الخطوة السادسة: الخاتمة
فيديو: Netcat بلغة Python: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
ما هو النت كات؟ تقول الصفحة اليدوية لـ netcat ما يلي: "تُستخدم الأداة المساعدة nc (أو netcat) لأي شيء تقريبًا يتضمن منافذ مجال TCP أو UDP أو UNIX. يمكنها فتح اتصالات TCP ، وإرسال حزم UDP ، والاستماع بشكل عشوائي منافذ TCP و UDP ، قم بمسح المنفذ ، والتعامل مع كل من IPv4 و IPv6. على عكس telnet (1) ، فإن البرامج النصية nc بشكل جيد ، وتفصل رسائل الخطأ إلى خطأ قياسي بدلاً من إرسالها إلى الإخراج القياسي ، كما تفعل telnet (1) مع بعضها"
في الأساس ، يسمح لك netcat بالاتصال بخوادم أخرى باستخدام بروتوكول TCP أو UDP. يشير TCP إلى بروتوكول التحكم في الإرسال ، وهو موجه للاتصال. يرمز UDP إلى بروتوكول مخطط البيانات العالمي ، وهو غير متصل. يستخدم TCP بشكل شائع لتطبيقات الإنترنت ، بينما يستخدم UDP لدفق الوسائط أو الشبكات الافتراضية الخاصة.
الخطوة 1: كيف نبدأ؟
أعلاه هو كيف يتم استدعاء netcat. يمكنك أن ترى أن هناك وسيطتين في النهاية تسمى "الوجهة" و "المنفذ". تشير الوجهة إلى اسم مضيف أو عنوان IP للخادم الذي نحاول الاتصال به ، بينما يشير المنفذ إلى منفذ الخادم الذي نحاول الاتصال به.
الخطوة 2: لنبدأ
أعلاه هو بعض كود بيثون البداية. كما ترى ، نريد معالجة الحجج إلى البرنامج بشكل مشابه لكيفية عمل الأداة المساعدة الفعلية. سيكون اسم المضيف هو الوسيطة الأولى بعد اسم الملف التنفيذي ، بينما سيكون المنفذ هو الوسيط الثاني بعد اسم الملف التنفيذي في سطر الأوامر.
الخطوة 3: إنشاء اتصال
لنقم بإنشاء دالة netcat يمكننا استخدامها. ما نقوم به هنا بشكل أساسي هو إنشاء مقبس والاتصال بالخادم باستخدام المعلمات المعطاة. بالنسبة لأمر netcat ، المعلمات الحالية هي اسم المضيف ومنفذ الخادم الذي نحاول الاتصال به. يحتوي المقبس على المعلمات "socket. AF_INET" و "socket. SOCK_STREAM" لأننا نتجه بشكل افتراضي إلى اتصال TCP لهذا البرنامج التعليمي.
الخطوة 4: لنرسل بعض المحتوى
قمنا بتوسيع وظيفة netcat الخاصة بنا لتتخذ معاملاً ثالثًا ، "المحتوى". يوجد الكثير من المحتوى هنا ، لذا دعونا نقسمه حسب رقم السطر.
السطر 14-16: نرسل كل المحتوى عبر المقبس ، ننتظر قليلاً ، ثم نغلق المقبس لأي بيانات صادرة حتى يعرف المقبس أنه لا يوجد المزيد من البيانات القادمة.
السطر 18-26: نقوم بإنشاء مخزن مؤقت لتخزين استجابة الخادم ، وبينما يتلقى المقبس البيانات ، نلحق ما يصل إلى 1024 بايت من البيانات بالنتيجة طالما أن هناك بيانات للقراءة.
السطر 28-29: نريد أن يكون اتصال netcat هذا اتصالاً لمرة واحدة ، لذلك نعلن أن الاتصال مغلق ثم نغلق الاتصال.
السطر 31: هذا طلب HTTP قياسي. إذا قمت بتشغيل الشفرة باستخدام وسيطتي سطر الأوامر "google.com" و "80" ، فسترى استجابة HTTP مناسبة
الخطوة 5: يتيح اتصالاً مفتوحًا
الكود أعلاه (الموجود أسفل الكود من القسم السابق) يسمح لنا ببساطة بتشغيل أوامر netcat متعددة عبر اتصال شبه مفتوح. (في الواقع ، في كل مرة تقوم فيها بتشغيل أمر ما ، فإنه يفتح ثم يغلق اتصال TCP جديد ، لذلك فهو لا يحاكي فعلاً سلوك netcat ، فنحن نقوم بذلك ببساطة لأغراض التعلم). دعنا نقسم هذا سطرًا بسطر أيضًا:
السطر 31: نريد قراءة الأوامر إلى أجل غير مسمى من أجل الحفاظ على "التفاعل"
السطر 32: هذا هو المخزن المؤقت الخاص بنا الذي سيخزن محتوى طلبنا
السطر 36-45: سنقرأ في المخزن المؤقت حتى نقرأ سطرًا فارغًا
السطر 48: نحن ببساطة نطلق على وظيفة netcat الخاصة بنا باسم المضيف والمنفذ والمحتوى الذي تم إنشاؤه حديثًا (والذي تم ترميزه بشكل صحيح)
السطر 50: إذا كان محتوى المخزن المؤقت الخاص بنا يحتوي على "اتصال: إغلاق" (للإشارة إلى أننا نريد إغلاق الاتصال) ، فإننا ببساطة نخرج من الحلقة
الخطوة السادسة: الخاتمة
في نهاية هذا البرنامج التعليمي ، يجب أن يكون لديك حد أدنى من تنفيذ netcat. سأترك الأمر للمستخدم لتنفيذ ميزات مثل:
1. دعم البروتوكولات الأخرى
2. إصلاح الكود لعدم إغلاق الاتصال في كل مرة
3. إضافة العلامات التي يجب على netcat بالفعل تعديل السلوك
موصى به:
استخدام Python لتعلم تخطيطات لوحة المفاتيح بلغة غير الإنجليزية: 8 خطوات
استخدام Python لتعلم تخطيطات لوحة المفاتيح بلغة غير الإنجليزية: مرحبًا ، أنا جوليان! أنا طالب في علوم الكمبيوتر وسأوضح لك اليوم كيف يمكنك استخدام Python لتعليم نفسك تخطيط لوحة المفاتيح للغة غير الإنجليزية. يحدث الكثير من تعلم اللغة عبر الإنترنت في الوقت الحاضر ، وهناك شيء واحد يمكن أن يفعله الناس
كيفية إعداد البرمجة بلغة C / C ++: 5 خطوات
كيفية إعداد البرمجة في C / C ++: C و C ++ هي لغات برمجة شائعة توفر وصولاً سريعًا إلى إنشاء المعادلات وحل المشكلات المعقدة بأقل قدر من الموارد التي يتم إنفاقها. تكمن المشكلة في إيجاد طريقة لتجميع البرنامج وجعله قابلاً للتنفيذ. قد يكون أحد خياراتك
كود واختبار جهاز كمبيوتر بلغة الآلة: 6 خطوات
كود واختبار جهاز كمبيوتر بلغة الآلة: في هذا Instructable ، سأوضح لك كيفية ترميز واختبار برنامج كمبيوتر بلغة الآلة. لغة الآلة هي اللغة الأم لأجهزة الكمبيوتر. نظرًا لأنه يتكون من سلاسل من 1 و 0 ، فلا يسهل على البشر فهمها. إلى العمل
طباعة نص ملون بلغة بايثون بدون أي وحدة: 3 خطوات
طباعة نص ملون في Python بدون أي وحدة: بعد حذف Instructable الثاني الخاص بي عن طريق الخطأ ، قررت إنشاء نص جديد ، وسأوضح لك في هذا كيفية طباعة نص ملون في Python
ماسح ضوئي ثلاثي الأبعاد يعتمد على الإضاءة الهيكلية والرؤية المجسمة بلغة Python: 6 خطوات (بالصور)
ماسح ضوئي ثلاثي الأبعاد يعتمد على الإضاءة الهيكلية والرؤية المجسمة بلغة Python: تم تصنيع هذا الماسح الضوئي ثلاثي الأبعاد باستخدام عناصر تقليدية منخفضة التكلفة مثل جهاز عرض الفيديو وكاميرات الويب. الماسح الضوئي ثلاثي الأبعاد هو جهاز مسح ثلاثي الأبعاد لقياس الشكل ثلاثي الأبعاد لجسم ما باستخدام أنماط الإضاءة المسقطة ونظام الكاميرا