Python - Giao diện mạng

Khi chúng ta có nhiều giao diện trong một máy, chúng ta cần theo dõi tên, trạng thái của chúng, v.v. Trong Python, chúng ta có thể liệt kê các giao diện và trạng thái của chúng.

Thí dụ

Trong ví dụ dưới đây, chúng tôi sử dụng mô-đun python netifacestrong đó cung cấp thông tin chi tiết về các giao diện và trạng thái của chúng. Các phương pháp được sử dụng rất đơn giản và dễ hiểu.

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])

Khi chúng tôi chạy chương trình trên, chúng tôi nhận được kết quả sau:

# 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'}]