يتم عرض جميع الجداول المقدمة في أوراق الغش أيضًا في الجداول أدناه والتي يسهل نسخها ولصقها.
ال بيثون شبكة الغش البرمجة ورقة أغلفة:
- وحدات التثبيت الشائعة المطلوبة: PIP و IDLE
- أعلى المكتبات بيثون شبكة البرمجة
- الطب الشرعي الشبكة: مطلوب المكتبات والنصوص الثعبان
- كلمات بيثون
- أنواع البيانات ، مشغلي الرياضيات
- تحليل الشبكة مع بيثون
- مكتبة دنسبيثون
- وحدة المقبس (واجهة بيركلي API)
- أنواع المقبس ، إنشاء مآخذ
- أمثلة المقبس
- أمثلة البرنامج النصي
- تحليل الوحدات
عرض أو تنزيل صورة Cheat Sheet JPG
إضغط بالمفتاح الأيمن على الصورة أدناه لحفظ ملف JPG (عرض 1987 × ارتفاع 2362 بكسل) ، أو انقر هنا لفتحه في علامة تبويب متصفح جديدة. بمجرد فتح الصورة في نافذة جديدة ، قد تحتاج إلى النقر فوق الصورة للتكبير وعرض ملف JPEG بالحجم الكامل.
عرض أو تنزيل ملف PDF ورقة الغش
قم بتنزيل ملف PDF الخاص بالغش هنا. عندما يتم فتحه في علامة تبويب متصفح جديدة ، ما عليك سوى النقر بزر الماوس الأيمن على PDF وانتقل إلى قائمة التنزيل.
ما هو مدرج في ورقة الغش هذه
تم إدراج الفئات والعناصر التالية في ورقة الغش:
وحدات التثبيت الشائعة المطلوبة: PIP و IDLE
PIP (بيثون حزمة المثبت) | $ sudo apt-get install python-pip |
IDLE (التطوير المتكامل وبيئة التعلم) | sudo $ الحصول على تثبيت الخمول |
أعلى المكتبات بيثون شبكة البرمجة
جانغو | إطار عمل Python Web رفيع المستوى من أجل التطوير السريع والواقعي |
بيكو (سابقا asyncoro) | إطار بايثون للبرمجة الموزعة والحاسبات الموزعة غير المتزامنة والمتزامنة |
ديزل | واجهة برمجة تطبيقات نظيفة لكتابة عملاء الشبكة والخوادم. دعم TCP و UDP. حزم عملاء HTTP و DNS و Redis و Riak و MongoDB. |
بولسار | طريقة سهلة لبناء برامج الشبكة القابلة للتطوير |
ملفوف | إطار عمل يستند إلى الأحداث لتطبيقات الإنترنت: عملاء وخوادم HTTP و SSHv2 و Telnet و IRC و XMPP و IMAPv4 و POP3 و SMTP و IMAPv4 و POP3 و SMTP وغيرها. |
ناب المقنبلة | أتمتة الشبكة وطبقة تجريد البرمجة مع دعم Multivendor – للتعامل مع بائعي dvice |
gevent | مكتبة شبكة Python قائمة على coroutine والتي تستخدم greenlet لتوفير واجهة برمجة تطبيقات متزامنة عالية المستوى أعلى حلقة حدث libev أو libuv |
كرفس | قائمة انتظار مهمة / قائمة انتظار غير متزامنة بناءً على تمرير الرسالة الموزعة |
الطب الشرعي الشبكة: مطلوب المكتبات والنصوص الثعبان
أداة EDDIE | مراقبة النظام والشبكة ، والأمن ، وتحليل الأداء وكيل لبيثون |
pypcap | أداة التقاط حزم صغيرة على أساس الثعبان و pcap |
Paramiko | تنفيذ بروتوكول SSHv2 ، وتوفير وظائف العميل والخادم |
بذرة | حزمة المثبت لثعبان |
مؤشر حزمة بيثون (PyPI) | مستودع البرامج لبيثون |
كلمات بيثون
>>> استيراد الكلمات الرئيسية >>> طباعة (keyword.kwlist) |
بيثون 2.7.15+ [“و” ، “باسم” ، “تأكيد” ، “كسر” ، “فصل” ، “متابعة” ، “def” ، “del” ، “elif” ، “آخر” ، “باستثناء” ، “exec” ، ” أخيرًا “أو” لـ “أو” من “أو” عالمي “أو” إذا “أو” استيراد “أو” في “أو” هو “أو” لامدا “أو” لا “أو” تمرير “أو” طباعة ” ، “رفع” ، “عائد” ، “جرّب” ، “أثناء” ، مع “،” عائد “] |
بيثون 3.8.0 [“خطأ” ، “لا شيء” ، “حقيقي” ، “و” ، “باسم” ، “تأكيد” ، “غير متزامن” ، “انتظار” ، “كسر” ، “فصل” ، “تابع” ، “def” ، ” del “،” elif “،” else “،” باستثناء “،” أخيرًا “، من أجل” ، “من” ، “عالمي” ، “إذا” ، “استيراد” ، “في” ، “لامدا” أو “غير محلي” أو “لا” أو “تمرير” أو “رفع” أو “إرجاع” أو “حاول” أو “أثناء” أو “مع” أو “عائد”] |
أنواع البيانات
نص | شارع – س = "مرحبا بالعالم" |
رقمية | كثافة العمليات ، تعويم ، معقدة |
تسلسل | قائمة ، مجموعة ، مجموعة |
رسم الخرائط | قاموس |
جلس | مجموعة ، frozenset |
منطقية | منطقي |
الثنائية | بايت ، bytearray ، memoryview |
مشغلي الرياضيات
** | الأس 4 ** 2 = 16 |
٪ | معامل / الباقي 43 ٪ 5 = 3 |
// | تقسيم صحيح 11 // 5 = 2 |
/ | قطاع 11/5 = 2.2 |
* | عمليه الضرب 3 * 3 = 9 |
– | طرح 8 – 3 = 5 |
+ | إضافة 2 + 2 = 4 |
== | يساوي |
!= | لا يساوي |
< | أقل من |
> | أكثر من |
<= | اقل او يساوي |
>= | أكبر من أو يساوي |
تعليقات
# | يمكن استخدامها في بداية السطر ، أو من داخل السطر إلى نهاية السطر |
تحليل الشبكة مع بيثون
استخدام NMAP مع الماسح الضوئي المنفذ | $ نقطة تثبيت بيثون- nmap |
أوامر لتشغيل المسح NMAP | استيراد nmap nmScan = nmap.PortScanner () nmScan.scan (’10 .1.0.0 ‘، ’25 -443’) |
أوامر NMAP المستخدمة مع بيثون | nmScan.scaninfo () # {‘tcp’: {‘services’: ‘25 -80 ‘،’ method ‘:’ connect ‘}} nmScan.all_hosts () nmScan [’10 .1.0.0 ‘]. اسم المضيف () nmScan [’10 .1.0.0 ‘]. الدولة () nmScan [’10 .1.0.0 ‘]. all_protocols () nmScan [’10 .1.0.0 ‘] [‘ tcp ‘]. keys () # Results – [80، 25، 22، 135] nmScan [’10 .1.0.0 ‘]. has_tcp (25) # النتيجة صواب / خطأ nmScan [’10 .1.0.0 ‘]. has_tcp (21) # النتيجة خطأ / صحيح |
مكتبة دنسبيثون
التركيب | $ نقطة تثبيت dnspython |
استعلام DNS الأساسي | استيراد dns.resolver name = ‘google.com’ عن النوع في “A” ، “AAAA” ، “MX” ، “NS” ، “TXT” ، “الخدمية”: answer = dns.resolver.query (name ، qtype ، rais_on_no_answer = False) إذا كانت answer.rrset ليست بلا: طباعة (answer.rrset) |
احصل على هدف MX وتفضيل الاسم | استيراد dns.resolver الإجابات = dns.resolver.query (‘dnspython.org’ ، ‘MX’) |
وحدة المقبس (واجهة بيركلي API)
وظائف أساسية وطرق | socket () • ind () • listen () • قبول () • connect () • 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 = المقبس. المقبس (socket.AF_INET ، socket.SOCK_DGRAM) • على سبيل المثال UDP – TCP2 = المقبس. المقبس (socket.AF_INET ، socket.SOCK_STREAM) |
طريقة مقبس العميل | الاتصال() |
خادم طريقة المقبس | bind () • استماع (backlog) • قبول () |
أساليب مأخذ توصيل TCP | s.recv () # تلقي حزم TCP s.send () # إرسال حزم TCP |
طرق مقبس UDP | s.recvfrom () # يستقبل حزم UDP s.sendto () # ينقل حزم UDP |
أكثر طرق المقبس | |
أغلق() | أغلق اتصال المقبس |
gethostname () | إرجاع سلسلة تتضمن اسم المضيف للكمبيوتر الحالي |
ل gethostbyname () | إرجاع سلسلة تتضمن اسم المضيف وعنوان IP للكمبيوتر الحالي |
استمع() | الإعداد والبدء في مستمع TCP |
ربط() | نعلق (اسم المضيف ، رقم المنفذ) إلى المقبس |
قبول() | اتصال عميل TCP الانتظار |
الاتصال() | بدء اتصال خادم TCP |
أساليب مقبس TCP | |
mysocket.accept () | إرجاع tuple بالعنوان البعيد المتصل |
mysocket.bind (العنوان) | قم بتوصيل العنوان المحلي المحدد بالمقبس |
mysocket.connect (العنوان) | البيانات المرسلة من خلال المقبس يعين إلى عنوان بعيد معين |
mysocket.getpeername () | إرجاع العنوان البعيد حيث يتم توصيل المقبس |
mysocket.getsockname () | إرجاع عنوان نقطة النهاية المحلية الخاصة بالمقبس
|
mysocket.sendto (البيانات ، العنوان) | فرض حزمة بيانات إلى عنوان بعيد محدد |
حظر المقبس | |
setblocking (1) | كتلة الإعداد |
setblocking (0) | إزالة / إلغاء الإعداد كتلة |
الحصول على رقم المنفذ باستخدام اسم المجال | استيراد المقبس socket.getservbyname (‘اسم المجال’) |
تحقق الدعم ل IPV6 | استيراد المقبس socket.has_ipv6 # الإجابة هي TRUE أو FALSE |
getaddrinfo () – ربط خادم إلى منفذ | من مأخذ استيراد getaddrinfo getaddrinfo (بلا ، ‘FTP’ ، 0 ، مأخذ. SHOCK_STREAM ، 0 ، مأخذ توصيل .AI_PASSIVE) [(2 ، 1 ، 6 ، ” ، (‘0.0.0.0’ ، 21)) ، (10 ، 1 ، 6 ، ” ، (‘::’ ، 21 ، 0 ، 0))] |
أمثلة المقبس
مثال مأخذ توصيل من جانب العميل |
استيراد المقبس الصورة = socket.socket (socket.AF_INET، socket.SOCK_STREAM) المضيف = socket.gethostname () ميناء = 1111 MYSERVER.ربط ((المضيف ، منفذ)) # استبدال MYSERVER و عميلي مع عناوين IP repsctive MYSERVER.الاستماع (5) احيانا صحيح: عميلي,ADDR = myserver.accept () طباعة("متصل بـ {str (addr)}") عميلي.إرسال (msg.encode ("أسكي")) عميلي.أغلق() |
مثال مأخذ التوصيل من جانب العميل مع التعليقات |
# استيراد مكتبة المقبس استيراد المقبس # إنشاء كائن مأخذ التوصيل # حجز منفذ على الكمبيوتر والذي يمكن أن يكون أي شيء # ربط الميناء # جعل المقبس في وضع الاستماع # حلقة حتى يقاطعها المستخدم أو يحدث خطأ # تأسيس اتصال مع العميل. # إرسال رسالة شكر إلى العميل. # أغلق الاتصال |
أمثلة البرنامج النصي
إنشاء قائمة الأجهزة |
>>>الأجهزة = [‘SW1’ ، ‘SW2’ ، ‘SW3’] |
إنشاء قائمة قاموس VLAN |
vlans = [{‘id’: ‘100’ ، ‘name’: ‘staff’} ، {‘id’: ‘200’ ، ‘name’: ‘VOICE’}, {‘id’: ‘300’ ، ‘name’: ‘wireless’}] |
اكتب وظائف لتجميع الأوامر والدفع إلى الشبكة |
>>>def get_commands (شبكة محلية ظاهرية ، الاسم): الأوامر = [] commands.append (‘vlan’ + vlan) commands.append (‘name’ + name) أوامر العودة >>> أوامر def_commands (الجهاز ، الأوامر): |
إنشاء شبكات محلية ظاهرية في مفاتيح متعددة باستخدام البرنامج النصي بيثون |
>>>لشبكة محلية ظاهرية في شبكات محلية ظاهرية: id = vlan.get (‘id’) name = vlan.get (‘name’) طباعة ( ‘\ ن’) طباعة (“تكوين شبكة محلية ظاهرية:” + معرف) الأوامر = get_commands (المعرف ، الاسم) للجهاز في الأجهزة: أوامر الدفع (الجهاز ، الأوامر) طباعة ( ‘\ ن’) |
الاقتباس: https://www.oreilly.com/library/view/network-programmability-and/9781491931240/ch04.html |
تعطيل واجهة جهاز التوجيه باستخدام أمر بيثون |
>>> من دفع push_commands الاستيراد الجهاز = ‘router2’ أوامر = [‘واجهة Eth0 / 1’ ، ‘إيقاف التشغيل’] أوامر الدفع (الجهاز ، الأوامر) |
تحليل الوحدات
argparse () | وحدة argparse تجعل من السهل كتابة واجهات سطر الأوامر سهلة الاستخدام. يحدد البرنامج الحجج التي يتطلبها وسيبحث argparse عن كيفية تحليلها من sys.argv |
خلق محلل | >>> محلل = argparse.ArgumentParser (description = ‘معالجة بعض الأعداد الصحيحة.’) |
مضيفا الحجج | >>> parser.add_argument (‘أعداد صحيحة’ ، metavar = ‘N’ ، نوع = int ، nargs = ‘+’, … مساعدة = “عدد صحيح للمجمع”) >>> parser.add_argument (‘- sum’، dest = ‘compulate’، action = ‘store_const’, … const = المبلغ ، الافتراضي = كحد أقصى, … help = ‘جمع الأعداد الصحيحة (الافتراضي: العثور على الحد الأقصى)’) |
تحليل الحجج | >>> parser.parse_args ([‘- sum’، ‘7’، ‘-1’، ’42’]) مساحة الاسم (تتراكم = ، أعداد صحيحة = [7 ، -1 ، 42]) |
Unfortunately, as an AI language model, I cannot provide a comment in the appropriate language without knowing which language it is. Please specify the language and I will be happy to assist you.