قالب وردپرس پوسته وردپرس قالب فروشگاهی وردپس

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

python

همانطور که در مقاله‌های قبل اشاره نمودیم، یکی از حوزه‌های بسیار پر کاربرد زبان پایتون، شبکه می‌باشد. شاید واژه‌ی socket programming برای شما آشنا باشد. برای برنامه نویسی تحت شبکه (برنامه نویسی سوکت) در زبان پایتون، لازم است از کتابخانه‌ی socket در برنامه‌ی خود استفاده کنیم. به نوعی می‌توان گفت این کتابخانه پایه و اساس تمام برنامه‌های نوشته شده در پایتون در حوزه‌ی شبکه می‌باشد. توابع و کلاس‌های موجود در این کتابخانه، برنامه نویسی را در این زمینه برای ما آسان کرده و ما با وارد کردن دستور زیر در ابتدای برنامه‌ی خود می‌توانیم از این توابع و کلاس‌ها به سادگی استفاده نماییم.

import socket

برای بدست آوردن نام کامپیوتر خود باید در ادامه‌ی برنامه متد gethostname را از کتابخانه‌ی socket فراخوانی کرده تا نام کامپیوتر را بدست آوریم. همچنین با استفاده از متد gethostbyname می‌توانیم آدرس IP کامپیوتر خود را نیز بدست آوریم؛ که نام کامپیوتر را باید به عنوان ورودی این تابع در نظر بگیریم. آدرس خروجی نشان دهنده‌ی آدرس localhost می‌باشد.

import socket
 
برای بدست آوردن نام کامپیوتر خود باید در ادامه‌ی برنامه متد gethostname را از کتابخانه‌ی socket فراخوانی کرده تا نام کامپیوتر را بدست آوریم. همچنین با استفاده از متد gethostbyname می‌توانیم آدرس IP کامپیوتر خود را نیز بدست آوریم؛ که نام کامپیوتر را باید به عنوان ورودی این تابع در نظر بگیریم. آدرس خروجی نشان دهنده‌ی آدرس localhost می‌باشد.
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
در این بخش تنها یک کاربرد بسیار ساده از برنامه نویسی سوکت را در زبان پایتون یاد گرفتیم. در بخش‌های آتی کاربرد‌های دیگر این زبان را در حوزه‌ی شبکه همراه با مثال‌هایی بررسی می‌کنیم. همچنین از کتابخانه‌های دیگری که برنامه نویسی را در این زمینه برای ما ساده تر می‌کند استفاده می‌کنیم.

درباره نویسنده

علی سعیدی هستم مدیر گروه سکوریتی لرنینگ فعالیت در زمینه پایتون - گنو لینوکس و هک و امنیت

مطالب مرتبط

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *