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

امیرحسین تنگسیری نژاد هستم با Part 6 از دوره برنامه نویسی سوکت در پایتون

ساخت یک IPv6 Client Connection

خب کمی هم بیاید از IPv6 استفاده کنیم و نحوه کار با آن یادبگیریم در سوکت نویسی پایتون

IPv6:

با افزایش روز به روز دنیای اینترنت و دیوایس ها و سخت افزار های مختلف و روی کار آمدن تکنولوژی های مختلفی همچون Internet Of Technology یا همان اینترنت اشیا نیاز ما به IP روز به روز بیشتر شده است و چون IPv4 محدود به تعداد کمی می باشد و توانای اختصاص آن به همه این تجهیزات نیست پروتکل جدیدی با نام IPv6 روی کار می آید که نسبت به IPv4 فرق های بسیاری دارد

برای مثال IPv4 یک مقدار 32bit تشکیل شده از عدد می باشد

ولی IPv6 یک مقداز 128bit متشکل از عدد و حروف انگلیسی می باشد

مقدار آن اینقدر زیاد است که چندین میلیون IP اضاف می آید

نکته: گفتم بگم اینو هرچند بحث ما راجب IP نیست، IPv6 هنوز به طور کامل جا نیوفتاده است و خیلی از کشور ها هنوز بر روی IPv4 هستند و با روش های مختلفی همچون NAT تا حدودی این مشکل کم بودن IPv4 را برطرف کرده اند

بریم سراغ ایجاد سرور

برای شما

برای مثال ما قصد داریم به سرور های گوگل از طریق IPv6 یک Connection بزنیم

نحوه ایجاد Connection مثله IPv4 می باشد باکمی تقییرات کوچک

1import socket
1Host = 'IPv6'
1Port = 'Port number'
1IPv6Socket = socket.socket (socket.AF_INET6, socket.SOCK_STREAM)

خب تا اینجارو قطعا از Part های قبل یادگرفتید و تنها تقییر ما استفاده از AF_INET6 بود

برای متصل شدن در IPv4 در تابع connect() از ما دومقدار Tuple می گرفت یعنی IP Address و Port Number در سوکت نویسی IPv6 این مقدار در تابع connect() برابر با 4 Tuple است که به شرح زیر اند

1IPv6Socket.connect(Host ,Port ,Info-Flow ,Scope-ID)

نحوه دریافت این مقدار ها در Part قبل تدریس شده است برای یاد آوری ما اینکار را انجام میدهیم دوباره

با استفاده از تابع getaddrinfo() میتوانیم مقدار های بالا را به دست بیاوریم که به ترتیب می باشند:

1import socket
1socket.getaddrinfo('www.google.com' ,80)

خب حالا تابع connect() را به شکل زیر مینویسم

1IPv6Socket.connect(Host ,Port ,0 , 0)

کد ما به شکل زیر می باشد

1import socket
1Host = 'IPv6'
1Port = 'Port number'
1Try:
1    IPv6Socket = socket.socket     (socket.AF_INET6,     socket.SOCK_STREAM)
1    IPv6Socket.connect(Host ,Port ,0 , 0)
1    print ("[+]Connected On Google")
1except:
1    Print("[-]Connection Refuses!")

نوسینده: امیرحسین تنگسیری نژاد

نویسنده مطلب: amirhoseintangsirinet

منبع مطلب

به فکر سرمایه‌گذاری هستی؟

با هر سطحی از دانش در سریع‌ترین زمان با آموزش گام به گام، سرمایه گذاری را تجربه کن. همین الان میتونی با لینک زیر ثبت نام کنی و ۱۰ درصد تخفیف در کارمزد معاملاتی داشته باشی

ثبت نام و دریافت جایزه
ممکن است شما بپسندید
نظر شما درباره این مطلب

آدرس ایمیل شما منتشر نخواهد شد.