A network address manipulation library for Python


Keywords
Networking, Systems, Administration, IANA, IEEE, CIDR, IP, IPv4, IPv6, EUI, MAC, MAC-48, EUI-48, EUI-64, devops, iab, ip-address, netaddr, oui, oui-database, python, subnet, sysadmin
License
BSD-3-Clause
Install
pip install netaddr==1.2.1

Documentation

netaddr

A Python library for representing and manipulating network addresses.

Provides support for:

Layer 3 addresses

  • IPv4 and IPv6 addresses, subnets, masks, prefixes
  • iterating, slicing, sorting, summarizing and classifying IP networks
  • dealing with various ranges formats (CIDR, arbitrary ranges and globs, nmap)
  • set based operations (unions, intersections etc) over IP addresses and subnets
  • parsing a large variety of different formats and notations
  • looking up IANA IP block information
  • generating DNS reverse lookups
  • supernetting and subnetting

Layer 2 addresses

  • representation and manipulation MAC addresses and EUI-64 identifiers
  • looking up IEEE organisational information (OUI, IAB)
  • generating derived IPv6 addresses
Source code repository: https://github.com/netaddr/netaddr/

PyPI page: https://pypi.org/project/netaddr/

Share and enjoy!