Skip to content
forked from ifaddr/ifaddr

Python Library to enumerate all network interfaces

License

Notifications You must be signed in to change notification settings

YutongGu/ifaddr

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ifaddr - Enumerate IP addresses on the local network adapters

ifaddr is a small Python library that allows you to find all the IP addresses of the computer. It is tested on Linux, OS X, and Windows. Other BSD derivatives like OpenBSD, FreeBSD, and NetBSD should work too, but I haven't personally tested those.

This library is open source and released under the MIT License.

You can install it with pip install ifaddr. It doesn't need to compile anything, so there shouldn't be any surprises. Even on Windows.

Let's get going!

import ifaddr

adapters = ifaddr.get_adapters()

for adapter in adapters:
    print "IPs of network adapter " + adapter.nice_name
    for ip in adapter.ips:
        print "   %s/%s" % (ip.ip, ip.network_prefix)

This will print:

IPs of network adapter H5321 gw Mobile Broadband Driver
   IP ('fe80::9:ebdf:30ab:39a3', 0L, 17L)/64
   IP 169.254.57.163/16
IPs of network adapter Intel(R) Centrino(R) Advanced-N 6205
   IP ('fe80::481f:3c9d:c3f6:93f8', 0L, 12L)/64
   IP 192.168.0.51/24
IPs of network adapter Intel(R) 82579LM Gigabit Network Connection
   IP ('fe80::85cd:e07e:4f7a:6aa6', 0L, 11L)/64
   IP 192.168.0.53/24
IPs of network adapter Software Loopback Interface 1
   IP ('::1', 0L, 0L)/128
   IP 127.0.0.1/8

You get both IPv4 and IPv6 addresses. The later complete with flowinfo and scope_id.

Documentation

The complete documentation (there isn't much to document) can be found here: ifaddr Documentation.

Bug Reports and other contributions

This project is hosted here ifaddr github page.

Alternatives

Alastair Houghton develops netifaces which can do everything this library can, and more. The only drawback is that it needs to be compiled, which can make the installation difficult.

About

Python Library to enumerate all network interfaces

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%