Python - อินเทอร์เฟซเครือข่าย

เมื่อเรามีอินเทอร์เฟซหลายตัวในเครื่องเราจำเป็นต้องติดตามชื่อสถานะ ฯลฯ ใน Python เราสามารถแสดงรายการอินเทอร์เฟซและสถานะได้

ตัวอย่าง

ในตัวอย่างด้านล่างเราใช้โมดูล python netifacesซึ่งให้รายละเอียดของอินเทอร์เฟซและสถานะ วิธีการที่ใช้นั้นง่ายมากและตรงไปตรงมา

import netifaces
print (netifaces.interfaces())
print (netifaces.ifaddresses('lo'))
print (netifaces.AF_LINK)
addrs = netifaces.ifaddresses('ens33')
print(addrs[netifaces.AF_INET])
print(addrs[netifaces.AF_LINK])

เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -

# Result
['lo', 'ens33']
{17: [{'peer': '00:00:00:00:00:00', 'addr': '00:00:00:00:00:00'}], 2: [{'peer': '127.0.0.1', 'addr': '127.0.0.1', 'netmask': '255.0.0.0'}], 10: [{'addr': '::1', 'netmask': 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128'}]}
17
[{'netmask': '255.255.255.0', 'addr': '192.168.232.128', 'broadcast': '192.168.232.255'}]
[{'addr': '00:0c:29:ea:13:0a', 'broadcast': 'ff:ff:ff:ff:ff:ff'}]