Portable Network Interface Information (Fork)

0.0.22 · active · verified Fri Apr 17

netifaces2 is a Python library providing portable access to network interface information. It is a fork of the original `netifaces` library, offering improved support, particularly for Windows, and is actively maintained. The current version is 0.0.22, with recent updates focusing on stability and new features like listing interfaces by name and index, enhancing Windows compatibility.

Common errors

Warnings

Install

Imports

Quickstart

This example demonstrates how to list all network interfaces and retrieve their IPv4, IPv6, and MAC addresses using `netifaces2`.

import netifaces2

print(f"All interfaces: {netifaces2.interfaces()}")

for i in netifaces2.interfaces():
    print(f"\nInterface: {i}")
    addrs = netifaces2.ifaddresses(i)
    if netifaces2.AF_INET in addrs:
        for link in addrs[netifaces2.AF_INET]:
            print(f"  IPv4: {link.get('addr')}")
    if netifaces2.AF_INET6 in addrs:
        for link in addrs[netifaces2.AF_INET6]:
            print(f"  IPv6: {link.get('addr')}")
    if netifaces2.AF_LINK in addrs:
        for link in addrs[netifaces2.AF_LINK]:
            print(f"  MAC: {link.get('addr')}")

view raw JSON →