Wie man alle IP-Adressen in einem Netzwerk mit Python iteriert

Der folgende Code wird über alle IP-Adressen im angegebenen Netzwerk iterieren, d.h. 192.168.1.0 ... 192.168.1.254:

iterate_ips_basic.py
import ipaddress

network = ipaddress.ip_network('192.168.1.0/24')

for ip in network:
    print(ip)

Die folgende Variante wird über alle IP-Adressen in diesem Netzwerk iterieren außer der Broadcast-IP-Adresse 192.168.1.255 und der Netzwerk-IP-Adresse 192.168.1.0:

iterate_ips_no_broadcast.py
import ipaddress

network = ipaddress.ip_network('192.168.1.0/24')

for ip in network:
    # Ignore e.g. 192.168.1.0 and 192.168.1.255
    if ip == network.broadcast_address or ip == network.network_address:
        continue
    print(ip)

Check out similar posts by category: Python