ورق تقلب برنامه نویسی شبکه پایتون

ورق تقلب برنامه نویسی شبکه پایتون

تمام جداول ارائه شده در ورق های تقلب نیز در جداول زیر آورده شده است که به راحتی قابل کپی و چسباندن است.

برگه تقلب برنامه نویسی شبکه پایتون پوشش می دهد:

  • ماژول های نصب مشترک لازم: PIP و IDLE
  • کتابخانه های برتر برنامه نویسی شبکه پایتون
  • پزشکی قانونی شبکه: کتابخانه ها و اسکریپت های مورد نیاز پایتون
  • کلمات کلیدی پایتون
  • انواع داده ها ، اپراتورهای ریاضی
  • تجزیه و تحلیل شبکه با پایتون
  • کتابخانه dnspython
  • ماژول سوکت (رابط API برکلی)
  • انواع سوکت ، ایجاد سوکت
  • نمونه سوکت
  • نمونه های اسکریپت
  • ماژول های تجزیه

تصویر JPG Cheat Sheet را مشاهده یا بارگیری کنید

بر روی تصویر راست کلیک کنید در زیر برای ذخیره فایل JPG (ارتفاع 1987 x 2362 در پیکسل) ، یا برای باز کردن آن در یک برگه مرورگر جدید ، اینجا را کلیک کنید. پس از باز شدن تصویر در یک پنجره جدید ، ممکن است شما نیاز به کلیک بر روی تصویر برای بزرگنمایی و مشاهده کامل jpeg در اندازه.

ورق تقلب برنامه نویسی شبکه پایتون

پرونده PDF برگه تقلب را مشاهده یا بارگیری کنید

فایل PDF فایل تقلب را از اینجا بارگیری کنید. هنگامی که در یک برگه مرورگر جدید باز می شود ، به سادگی بر روی PDF کلیک راست کرده و به منوی بارگیری بروید.

آنچه در این برگه تقلب درج شده است

دسته ها و موارد زیر در برگه تقلب درج شده اند:

ماژول های نصب مشترک لازم: PIP و IDLE

PIP (نصب پکیج پایتون)

$ sudo apt-get python-pip را نصب کنید

IDLE (محیط یکپارچه توسعه و یادگیری)

$ sudo apt-get-free نصب کنید

کتابخانه های برتر برنامه نویسی شبکه پایتون

جنگو

چارچوب سطح بالا پایتون برای توسعه سریع و عملی

پیکوس (که قبلاً آسیانکرو بود)

چارچوب پایتون برای شبکه های ناهمزمان ، همزمان ، شبکه ای ، برنامه نویسی توزیع شده و محاسبات توزیع شده

دیزل

یک API تمیز برای نوشتن سرویس گیرندگان و سرورهای شبکه. TCP و UDP پشتیبانی می کنند. مشتریان HTTP ، DNS ، Redis ، Riak و MongoDB را در اختیار مشتریان قرار می دهد.

تپاختر

راه آسان برای ساخت برنامه های شبکه مقیاس پذیر

پیچ خورده

چارچوب مبتنی بر رویداد برای برنامه های اینترنتی: کلاینت ها و سرورهای HTTP ، SSHv2 و Telnet ، IRC ، XMPP ، IMAPv4 ، POP3 ، SMTP ، IMAPv4 ، POP3 ، SMTP و غیره.

نپالم

لایه انتزاعی اتوماسیون شبکه و قابلیت برنامه ریزی با پشتیبانی Multivendor - برای برخورد با فروشندگان خدمات مشاوره

ژوست

یک کتابخانه شبکه مستقر در پایتون که با استفاده از greenlet برای ارائه یک API همزمان سطح بالا در بالای حلقه رویداد libev یا libuv انجام می شود

کرفس

صف وظیفه ناهمزمان / صف کار بر اساس ارسال پیام توزیع شده

پزشکی قانونی شبکه: کتابخانه ها و اسکریپت های مورد نیاز پایتون

ابزار EDDIE

نظارت بر سیستم و شبکه ، امنیت و عامل تجزیه و تحلیل عملکرد برای پایتون

عکسبرداری

ابزار ضبط بسته های کوچک بر اساس پایتون و pcap

پارامیکو

اجرای پروتکل SSHv2 ، عملکرد مشتری و سرور را نیز فراهم می کند

پیپ

نصب بسته بندی برای پایتون

فهرست بسته های پایتون (PyPI)

مخزن نرم افزار Python

کلمات کلیدی پایتون

>>> کلمه کلیدی واردات
>>> چاپ (کلید واژه.kwlist)

پایتون 2.7.15+ ["و" ، "as" ، "ادعا" ، "break" ، "کلاس" ، "ادامه" ، "def" ، "del" ، "elif" ، "other" ، "به جز" ، "exec" ، سرانجام "،" for "،" از "،" جهانی "،" if "،" import "،" in "،" is "،" lambda "،" not "،" or "،" pass "،" print " ، "بالا بردن" ، "بازگشت" ، "سعی کنید" ، "در حالی که" ، "با" ، "عملکرد"]

پایتون 3.8.0 ['False'، 'None'، 'True'، 'and'، 'as'، "ادعا" ، "async" ، "انتظار" ، "break" ، "class" ، "ادامه" ، "def" ، del '،' elif '،' other '،' përveç '، "سرانجام" ، "for" ، "از" ، "جهانی" ، "if" ، "import" ، "in" ، "is" ، "lambda" ، "غیرمستقیم" ، "نه" ، "یا" ، "عبور" ، "افزایش" ، "بازگشت" ، "سعی کنید" ، "در حالی که" ، "با" ، "عملکرد"]

انواع داده

متن

str - x = "سلام دنیا"

عددی

int ، شناور ، پیچیده

توالی

لیست ، توپ ، دامنه

نقشه برداری

دیکته

تنظیم

مجموعه ، frozenset

بولی

بول

دودویی

بایت ، bytearray ، viewview

اپراتورهای ریاضی

**

نماینده 4 ** 2 = 16

٪

مدول / باقی مانده 43٪ 5 = 3

//

تقسیم بهره 11 // 5 = 2

/

بخش 11/5 = 2.2

*

ضرب 3 * 3 = 9

-

منها کردن 8 - 3 = 5

+

علاوه بر این 2 + 2 = 4

==

مساوی با

!=

برابر نیست با

<

کمتر از

>

بزرگتر از

<=

کمتر از یا برابر با

>=

بزرگتر یا مساوی با

نظرات

#

می توان در شروع یک خط یا از درون یک خط تا انتهای خط استفاده کرد

تجزیه و تحلیل شبکه با پایتون

از NMAP با اسکنر درگاه استفاده کنید

$ pip Python-nmap را نصب کنید

دستورات اجرای اسکن NMAP

وارد کردن nmap
nmScan = nmap.PortScanner ()
nmScan.scan ('10 .1.0.0 '، '25 -443')

دستورات NMAP که با پایتون استفاده می شوند

nmScan.scaninfo () # {'tcp': services 'service': ‘25 -80 '،' روش ':' اتصال '}}
nmScan.all_hosts ()
nmScan ['10 .1.0.0 ']. نام میزبان ()
nmScan ['10 .1.0.0 ']. state ()
nmScan ['10 .1.0.0 ']. all_protocols ()
کلیدها () # نتیجه - [80، 25، 22، 135] nmScan ['10 .1.0.0 '] [' tcp '].
nmScan ['10 .1.0.0 ']. has_tcp (25) # نتیجه صحیح / غلط
nmScan ['10 .1.0.0 ']. has_tcp (21) # نتیجه غلط / درست

کتابخانه dnspython

نصب و راه اندازی

$ پیپ dnspython را نصب کنید

جستجوی اولیه DNS

واردات dns.resolver
name = 'google.com'
برای qtype در "A" ، "AAAA" ، "MX" ، "NS" ، "TXT" ، "SOA":
پاسخ = dns.resolver.query (نام ، qtype ، مطرح کردن_on_no_answer = نادرست)
اگر answer.rrset None نیست:
چاپ (answer.rrset)

MX هدف و نام مورد نظر را دریافت کنید

واردات dns.resolver

پاسخ = dns.resolver.query ('dnspython.org' ، 'MX')
برای rdata در پاسخ:
چاپ ("میزبان" ، rdata.exchange ، "اولویت دارد" ، rdata.preference)

ماژول سوکت (رابط API برکلی)

توابع اولیه یک روش

سوکت () • ind () • گوش دادن () • قبول () • اتصال () • connect_ex () • ارسال () • recv () • بست ()

انواع سوکت

SOCK_STREAM

برای پروتکل های TCP • انتقال قابل اعتماد • دنباله بسته • اتصال گرا • دو طرفه

SOCK_DGRAM

برای پروتکل های UDP • انتقال غیرقابل اطمینان • بدون توالی بسته ها • بدون اتصال (UDP) • دو طرفه نیست

ایجاد سوکت

import socket # روش سوکت را وارد کنید
socket.socket () # عملکردی که سوکت ایجاد می کند
جوراب = سوکت. سوکت (خانواده سوکت ، نوع سوکت ، پروتکل = مقدار)

خانواده سوکت

AF_UNIX یا AF_INET

نوع سوکت

SOCK_STREAM یا SOCK_DGRAM برای TCP & به ترتیب UDP

• به عنوان مثال. TCP - UDP2 = سوکت. سوکت (سوکت. AF_INET ، سوکت. SOCK_DGRAM)

• به عنوان مثال. UDP - TCP2 = سوکت. سوکت (سوکت. AF_INET ، سوکت. SOCK_STREAM)

روش سوکت مشتری

اتصال ()

روش سوکت سرور

اتصال () • گوش دادن (عقب افتادن) • قبول ()

روش های سوکت TCP

s.recv () # بسته های TCP را دریافت کنید
s.send () # ارسال بسته های TCP

روش های سوکت UDP

s.recvfrom () # بسته های UDP را دریافت می کند
s.sendto () # بسته های UDP را منتقل می کند

روش های بیشتر سوکت

بستن()

اتصال سوکت را ببندید

gethostname ()

رشته ای را شامل می شود که شامل نام میزبان رایانه فعلی است

gethostbyname ()

رشته ای را شامل می شود که شامل نام میزبان و آدرس IP رایانه فعلی است

گوش کنید()

شنونده TCP را تنظیم و راه اندازی کنید

بستن()

(نام میزبان ، شماره پورت) را به سوکت وصل کنید

تایید کنید()

اتصال مشتری TCP صبر کنید

اتصال ()

اتصال سرور TCP را شروع کنید

روش های سوکت TCP
mysocket.accept ()

یک آدرس راه حل را با آدرس راه دور که وصل شده است برمی گرداند

mysocket.bind (آدرس)

آدرس محلی مشخص شده را به سوکت وصل کنید

mysocket.connect (آدرس)

داده های ارسال شده از طریق سوکت به آدرس راه دور داده شده اختصاص می یابد

نام mysocket.getpe ()

آدرس راه دور را که سوکت در آن وصل است برمی گرداند

mysocket.getsockname ()

آدرس نقطه پایانی محلی سوکت را برمی گرداند

mysocket.sendto (داده ، آدرس)

یک بسته داده را به یک آدرس از راه دور خاص مجبور کنید

مسدود کردن سوکت

راه اندازی (1)

بلوک راه اندازی

راه اندازی (0)

بلوک راه اندازی / حذف

شماره پورت را با استفاده از نام دامنه دریافت کنید

سوکت وارداتی
socket.getservbyname ("نام دامنه")

پشتیبانی IPV6 را بررسی کنید

سوکت وارداتی
socket.has_ipv6 # پاسخ صادقانه یا نادرست است

getaddrinfo () - اتصال سرور به درگاه

از واردات سوکت getaddrinfo
getaddrinfo (هیچ ، "FTP" ، 0 ، سوکت. SOCK_STREAM ، 0 ، سوکت. AI_PASSIVE)
[(2، 1، 6، ''، ('0.0.0.0'، 21))، (10، 1، 6، ''، ('::'، 21، 0، 0))]

نمونه سوکت

مثال سوکت سمت مشتری

سوکت وارداتی
s = socket.socket (سوکت.AF_INET ، سوکت. SOCK_STREAM)
میزبان = socket.gethostname ()
بندر = 1111
مرموز.bind ((میزبان ، پورت)) # جایگزین مرموز و مشتری من با IP های تکرار شونده
مرموز.گوش دادن (5)
در حالی که درست است:
مشتری من,addr = myserver.accept ()
چاپ("متصل به {str (addr)}")
مشتری من.ارسال (msg.encode ("ascii"))
مشتری من.بستن()

مثال سوکت سمت مشتری با Comments

# وارد کردن کتابخانه سوکت
سوکت وارداتی

# یک شیء سوکت ایجاد کنید
s = socket.socket ()
چاپ ("سوکت ایجاد شد")

# یک درگاه را روی رایانه رزرو کنید که می تواند هر چیزی باشد
بندر = 1111

# اتصال به درگاه
# رشته خالی در قسمت IP به جای IP باعث می شود تا سرور به درخواست ها گوش کند
# از دیگر رایانه های موجود در شبکه
s.bind (('' ، بندر))
چاپ ("سوکت به٪ s وصل شد" ٪(بندر))

# سوکت را در حالت گوش دادن قرار دهید
s.listen (5)
چاپ ("سوکت گوش می کند")

# حلقه تا زمانی که کاربر آن را قطع کند یا خطایی رخ دهد
در حالی که درست است:

# ایجاد ارتباط با مشتری.
c ، addr = s.accept ()
چاپ ("اتصال از" ، افزودنی دریافت کردم)

# یک پیام تشکر از مشتری ارسال کنید.
c.send ("متشکرم برای اتصال")

# اتصال را ببندید
c.close ()

نمونه های اسکریپت

ایجاد لیست دستگاه ها

>>>دستگاه ها = ['SW1'، 'SW2'، 'SW3']

لیست فرهنگ لغت VLAN ایجاد کنید

vlans = [{'id': '100'، 'name': 'Staff'}، {'id': '200'، 'name': 'VOICE',
id 'id': '300'، 'name': 'wireless'}]

توابع را برای جمع آوری دستورات بنویسید و به شبکه فشار دهید

>>>def get_commands (vlan ، name):
دستورات = []
دستورات.append ('vlan' + vlan)
Commands.append ("نام" + نام)

دستورات بازگشت

>>> Def push_commands (دستگاه ، دستورات):
چاپ ("اتصال به دستگاه:" + دستگاه)
برای cmd در دستورات:
چاپ ("فرمان ارسال:" + cmd)

با استفاده از اسکریپت پایتون ، VLAN ها را در چند سوئیچ ایجاد کنید

>>>برای vlan in vlans:
id = vlan.get ('id')
name = vlan.get ('name')
چاپ ('\ n')
چاپ ("پیکربندی VLAN:" + شناسه)
دستورات = get_commands (شناسه ، نام)
برای دستگاه در دستگاه ها:
push_commands (دستگاه ، دستورات)
چاپ ('\ n')

استناد: https://www.oreilly.com/library/view/network-programmability-and/9781491931240/ch04.html

رابط روتر را با استفاده از دستور پایتون غیرفعال کنید

>>> از واردات فشار push_commands
دستگاه = 'router2'
دستورات = ['رابط Eth0 / 1' ، 'خاموش']
push_commands (دستگاه ، دستورات)

ماژول های تجزیه

بحث ()

ماژول argparse نوشتن رابط های خط فرمان کاربر پسند را آسان می کند. برنامه تعریف می کند که چه استدلال هایی راجع به آن لازم است ، و argparse خواهد فهمید که چگونه می توان آن ها را از sys.argv تجزیه کرد.

ایجاد یک تجزیه کننده

>>> parser = argparse.ArgumentParser (توضیحات = 'پردازش تعدادی عدد صحیح.')

اضافه کردن استدلال

>>> parser.add_argument ('عدد صحیح' ، metavar = 'N' ، نوع = int ، nargs = '+',
... help = 'عدد صحیحی برای باتری ”)
>>> parser.add_argument ('- sum'، dest = 'انباشت'، اقدام = 'store_const',
... const = جمع ، پیش فرض = حداکثر,
... help = 'جمع اعداد صحیح (پیش فرض: حداکثر را پیدا کنید ")

استدلال تجزیه

>>> parser.parse_args (['- sum'، '7'، '-1'، '42'])
فضای نام (جمع کردن = ، عدد صحیح = [7 ، -1 ، 42])

About the author

Leave a Reply

Your email address will not be published.

Adblock
detector