فهرست مطالب:
- مرحله 1: چگونه شروع می کنیم؟
- مرحله 2: بیایید شروع کنیم
- مرحله 3: ایجاد ارتباط
- مرحله 4: اجازه دهید برخی از مطالب را ارسال کنید
- مرحله 5: اجازه دهید اتصال باز داشته باشیم
- مرحله 6: نتیجه گیری
تصویری: Netcat در پایتون: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
netcat چیست؟ صفحه راهنمای netcat موارد زیر را می گوید: "برنامه nc (یا netcat) تقریباً برای هر چیزی که در زیر نور خورشید شامل سوکت های دامنه TCP ، UDP یا UNIX استفاده می شود. می تواند اتصالات TCP را باز کند ، بسته های UDP ارسال کند ، به دلخواه گوش دهد. پورت های TCP و UDP ، اسکن پورت را انجام می دهند و با IPv4 و IPv6 سروکار دارند. بر خلاف Telnet (1) ، اسکریپت های nc به خوبی انجام می شود و پیام های خطا را به جای ارسال به خروجی استاندارد ، بر روی خطای استاندارد جدا می کند ، همانطور که telnet (1) در برخی موارد"
در اصل ، netcat به شما امکان می دهد با استفاده از پروتکل TCP یا UDP به سرورهای دیگر متصل شوید. TCP مخفف Transmission Control Protocol است و ارتباط گرا است. UDP مخفف پروتکل Datagram Universal است و بدون اتصال است. TCP معمولاً برای برنامه های اینترنتی استفاده می شود ، در حالی که UDP برای پخش رسانه یا VPN استفاده می شود.
مرحله 1: چگونه شروع می کنیم؟
در بالا نحوه نام گذاری netcat است. می بینید که دو آرگومان در انتها به نام های "destination" و "port" وجود دارد. مقصد به نام میزبان یا آدرس 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 جدید باز و بسته می شود ، بنابراین رفتار شبکه را واقعی شبیه سازی نمی کند ، ما این کار را فقط برای اهداف یادگیری انجام می دهیم). اجازه دهید این خط به خط را نیز تجزیه کنیم:
خط 31: ما می خواهیم دستورات را به طور نامحدود بخوانیم تا "تعاملی بودن" را حفظ کنیم.
خط 32: این بافر ماست که محتوای درخواست ما را ذخیره می کند
خط 36-45: تا زمانی که یک خط خالی را نخوانیم ، در بافر می خوانیم
خط 48: ما به سادگی تابع netcat خود را با نام میزبان ، پورت و محتوای تازه ایجاد شده (که به درستی کدگذاری شده است) فراخوانی می کنیم.
خط 50: اگر محتوای بافر ما حاوی "Connection: Close" باشد (نشان می دهد که می خواهیم اتصال را ببندیم) ، ما به سادگی از حلقه خارج می شویم
مرحله 6: نتیجه گیری
در پایان این آموزش شما باید حداقل یک برنامه کاربردی netcat داشته باشید. پیاده سازی ویژگی هایی مانند:
1. پشتیبانی از پروتکل های دیگر
2. ثابت کردن کد برای بسته نشدن هر بار اتصال
3. افزودن پرچم هایی که netcat قبلاً برای اصلاح رفتار دارد
توصیه شده:
همگام سازی پوشه ها با پایتون: 5 مرحله
همگام سازی پوشه ها با پایتون: این دستورالعمل به شما نشان می دهد که چگونه دو پوشه (و همه پوشه های درون آنها) را همزمان نگه دارید تا یکی کپی مستقیم دیگری باشد. ایده آل برای پشتیبان گیری از کار هر دو به صورت محلی ، روی سرور ابر/شبکه یا درایو USB. هیچ تجربه ای در برنامه نویسی وجود ندارد
مقدمه پایتون - کاتسوهیکو ماتسودا و ادوین سیجو - مبانی: 7 مرحله
مقدمه پایتون - کاتسوهیکو ماتسودا و ادوین سیجو - مبانی: سلام ، ما 2 دانش آموز در MYP 2 هستیم. ما می خواهیم اصول نحوه کد نویسی پایتون را به شما آموزش دهیم. این در اواخر دهه 1980 توسط Guido van Rossum در هلند ایجاد شد. این به عنوان جانشین زبان ABC ساخته شد. نام آن & quot؛ پایتون & quot؛ چون وقتی
اسکنر کد QR با استفاده از OpenCV در پایتون: 7 مرحله
QR Code Scanner با استفاده از OpenCV در پایتون: در دنیای امروز می بینیم که از کد QR و بارکد تقریباً در همه جا از بسته بندی محصول گرفته تا پرداخت های آنلاین استفاده می شود و در حال حاضر هر روز کدهای QR را حتی در رستوران برای مشاهده منو مشاهده می کنیم. بنابراین هیچ شک ندارم که اکنون بزرگترین فکر است اما آیا تا به حال دل تنگ شده اید
DIY GPS Tracker --- برنامه پایتون: 5 مرحله (همراه با تصاویر)
DIY GPS Tracker --- برنامه پایتون: من دو هفته پیش در یک رویداد دوچرخه سواری شرکت کردم. پس از اتمام کار ، می خواستم مسیر و سرعتی را که در آن زمان حرکت می کردم بررسی کنم. متأسفانه به نتیجه نرسید. اکنون من از ESP32 برای ساخت ردیاب GPS استفاده می کنم و از آن برای ثبت مسیر دوچرخه سواری خود استفاده می کنم
استفاده از پایتون برای یادگیری طرح بندی صفحه کلید غیر انگلیسی: 8 مرحله
استفاده از پایتون برای یادگیری طرح بندی صفحه کلید غیر انگلیسی: سلام ، من ژولین هستم! من دانشجوی علوم کامپیوتر هستم و امروز قصد دارم به شما نشان دهم که چگونه می توانید از پایتون برای آموزش طرح بندی صفحه کلید یک زبان غیر انگلیسی استفاده کنید. امروزه بسیاری از یادگیری زبان ها به صورت آنلاین اتفاق می افتد و یک چیز را مردم می توانند بدانند