مكتبة socket المهمة بمجال Networking في البايثون Python الدرس |18| - Programmer Tech

Programmer Tech

موقع تعليم مجاني يهتم بتعلم البرمجة و علوم الكمبيوتر, أمن المعلومات, القرصنة الأخلاقية, سكربتات

إعلان اعلى المقالة

الثلاثاء، 24 مارس 2020

مكتبة socket المهمة بمجال Networking في البايثون Python الدرس |18|

مكتبة socket library المهمة بمجال Networking في البايثون الدرس |18|

مكتبة socket

درسنا اليوم هو بمجال الشبكات Networking في بايثون وهذا الجزء مهم جداً جداً ,سوف نتحدث عن مكتبات مهمة سوف نتحدث عليها بهذا الجزء وبالأخص مكتبة socket .

مكتبة socket library المهمة بمجال Networking في البايثون الدرس |18|

شرح مافي الصورة السابقة

لدي جهاز كمبيوتر مكتبي نريد ان نوصله بالانترنت و اخذنا له سلك شبكه من الروتر لتغذيته بالأنترنت, معنى ذلك انه سيكون هناك بورت محدد مفتوح بينهما، سيكون في السلك تسير به bits ذهاباً و إياباً, و الكبل بأطرافه Rj-45 لتوصيل النبضات الكهربائيه بين الطرفين، وتكون سرعه الجهاز لدي هي 1mb.

وايضاً يكون لدينا لابتوب نستطيع ربطه عبر كبل مثله مثل الكمبيوتر او عبر wifi ، وسوف يأخذ ايبي و بورت بشكل طبيعي نستطيع عمل عليه اختبار عبر nmap وغيره بشكل طبيعي.

والاكثر انتشاراً في عالمنا هو هواتفنا الذي بأيدينا ليلاً ونهاراً, نستطيع الأتصال بأي شبكه بشكل لاسلكي عبر wifi ووظيفة الروتر هي الاتصال بهذه الأجهزة وهو مسؤول عن كل شيئ, ويكون على دراية بكل شيئ ضمن هذه الشبكه, نستطيع من خلاله تحديد ايبي اي جهاز متصل او هوست نيم ....... الخ.

فإذا نريد أن يأخذ الكمبيوتر المكتبي انترنت عبر wifi يجب ان نركب له كرت شبكه ويتصل مثله مثل اللابتوب wifi.

امثلة في مكتبة socket

>>> import socket
>>> socket.gethostname()        #لمعرفة هوست جهازي
'kali'
>>> socket.gethostbyname('kali')        #لمعرفة ايبي جهازي
'127.0.1.1'
>>> port = 22
>>> socket.getservbyport(port)  #لمعرفة هذا البورت الذي حددناه
'ssh'
>>> socket.getservbyname("ssh")         #عكس العملية السابقة
22
>>>

long host & short host

في المستوى المنخفض من البيانات يلزم ان يحصل على "transmission over rights betwen machine " يكون للجهاز و الشبكة لهما كل واحد صيغة مختلفة, وهذه الصيغه تكون integer يلزم تحويل الصيغة و يوجد long و short .

مثال
لدينا نوعين من البيانات data وهي integer سوف نحولها لـ transmission network format سوف نعمل لها short او long .

>>> import socket
>>> data = 997  #نوع البيانات
>>> socket.htonl(data)  #بيانات long
3842179072L
>>> socket.htons(data)  #بيانات short
58627
>>> socket.ntohl(3842179072L)   #بيانات متحولة معكوسة
997L
>>> socket.ntohs(58627)         #بيانات متحولة معكوسة
997
>>>

مكتبة socket library المهمة بمجال Networking في البايثون الدرس |18|

شرح المثال السابق

في مثالنا استخدمنا الرقم 997 كنوع بيانات و حولناه لنوع بيانات طويلة و قيصرة عبر htonl,htons و بعدها عكسنا العمليات.
معنى htonl هي اختصار من الكلمات :
h   #host
to  #to
n   #network
l    #long
معنى htons هي اختصار من الكلمات :

h   #host
to  #to
n   #network
s    #short

 set and get timeout

سوف نتحدث عن timeout مثلا فتحنا جلسة وعملنا الآتي
>>> import socket
>>> sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
>>> sock.settimeout(50)         #عدد ثواني الانتظار
>>> sock.gettimeout()   #عرض الوقت
50.0
>>>

مكتبة socket library المهمة بمجال Networking في البايثون الدرس |18|

شرح للمثال السابق

قلنا بالمثال ان socket توجد ميثود ثانية اسمها socket بنفس الاسم ولها 2 ارجيومنت أولها هو 
(socket.AF_INET) يعني الايبي يكون ipv4 و الارجيومنت الثاني هو (socket.SOCK_STREAM) يعني الاتصال مفتوح بين العميل و المخدم في اتصال tcp وبعدها قلنا له الانتظار يكون 50 ثانية و عرضنا الوقت وعرضه بشكل طبيعي.

كي لا نطيل عليكم الدرس نكمله في الدرس القادم .

قناتنا التلغرام
https://t.me/Programmer_Tech
المدونة
https://www.programmer-tech.com
صفحة الفيسبوك
https://www.facebook.com/ProgrammerTech.net
قناة اليوتيوب 1:
https://www.youtube.com/ahmadkaissar
قناة اليوتيوب 2:
https://www.youtube.com/MuhammadAlush0997

ليست هناك تعليقات:

إرسال تعليق

facebook

تسميات

تواصل معنا

Translate

أخر الافكار

من انا

authorمبرمجين ويب و محبين للتقنية و الشبكات و امن المعلومات و سوف نقدم لكم الافضل إن شاء الله
أعرف المزيد ←

نموذج الاتصال

الاسم

بريد إلكتروني *

رسالة *

اقسام