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