بدست آوردن آدرس IP و نام کامپیوتر با استفاده از پایتون
همانطور که در مقالههای قبل اشاره نمودیم، یکی از حوزههای بسیار پر کاربرد زبان پایتون، شبکه میباشد. شاید واژهی socket programming برای شما آشنا باشد. برای برنامه نویسی تحت شبکه (برنامه نویسی سوکت) در زبان پایتون، لازم است از کتابخانهی socket در برنامهی خود استفاده کنیم. به نوعی میتوان گفت این کتابخانه پایه و اساس تمام برنامههای نوشته شده در پایتون در حوزهی شبکه میباشد. توابع و کلاسهای موجود در این کتابخانه، برنامه نویسی را در این زمینه برای ما آسان کرده و ما با وارد کردن دستور زیر در ابتدای برنامهی خود میتوانیم از این توابع و کلاسها به سادگی استفاده نماییم.
import socket
برای بدست آوردن نام کامپیوتر خود باید در ادامهی برنامه متد gethostname را از کتابخانهی socket فراخوانی کرده تا نام کامپیوتر را بدست آوریم. همچنین با استفاده از متد gethostbyname میتوانیم آدرس IP کامپیوتر خود را نیز بدست آوریم؛ که نام کامپیوتر را باید به عنوان ورودی این تابع در نظر بگیریم. آدرس خروجی نشان دهندهی آدرس localhost میباشد.
import socket host_name = socket.gethostname() ip_addr = socket.gethostbyname(host_name) print ("Host Name: {0}".format(host_name)) print ("IP Address: {0}".format(ip_addr)) # Output: # Host Name: manjaroLinux # IP Address: 127.0.1.1
اما گاهی اوقات ما نام یک دستگاه (Host Name) راه دور را در اختیار داریم و لازم است تا آدرس IP آن را بدست آوریم. در این صورت تنها به تابع gethostbyname نیاز داریم و باید نام دستگاه یا نام دامنهی سایت مورد نظر را به عنوان ورودی این تابع در نظر بگیریم. به مثال زیر توجه کنید:
import socket hosts = ['www.python.org', 'www.linux.com', 'www.google.com'] for i in hosts: print ("{0}'s IP Address: {1}".format(i, socket.gethostbyname(i)))
در مثال بالا، ابتدا یک لیست از سایتهایی که قصد بدست آوردن آدرس IP آنها را داریم ایجاد کردیم. سپس با استفاده از یک حلقهی for، تمام آیتمهای موجود در این لیست را به ترتیب به عنوان ورودی تابع gethostbyname در نظر گرفتیم. خروجی این برنامه آدرس IP این سه سایت را به ما نمایش میدهد.
# Output: # www.python.org's IP Address: 151.101.12.223 # www.linux.com's IP Address: 151.101.13.5 # www.google.com's IP Address: 216.58.211.36
در این بخش تنها یک کاربرد بسیار ساده از برنامه نویسی سوکت را در زبان پایتون یاد گرفتیم. در بخشهای آتی کاربردهای دیگر این زبان را در حوزهی شبکه همراه با مثالهایی بررسی میکنیم. همچنین از کتابخانههای دیگری که برنامه نویسی را در این زمینه برای ما ساده تر میکند استفاده میکنیم.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.