netaddr documentation¶
A Python library and a CLI tool for representing and manipulating layer 3 (IP) and layer 2 (MAC) network addresses.
netaddr 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
netaddr’s documentation uses the Diátaxis approach to technical documentation authoring and is organized like so:
- Tutorials take you on a step-by-step journey through some of the netaddr’s features. Start here if you’re new to netaddr.
- How-to guides are recipes and provide steps to address common problems and use-cases.
- Reference contains technical description of various parts of netaddr machinery (including the API Reference).