Inhaltsverzeichnis
Python Standard Module
ipaddress Modul
Das ipaddress
Modul ist ganz interessant zum generieren und zum prüfen ob IP in Netzwerk. Es kann geprüft werden ob Netzwerk und Hostbereich usw. Ausserdem wird IPv4 und IPv6 unterstützt.
Genearate IPs
>>> from ipaddress import ip_network >>> list(ip_network('172.16.2.0/28').hosts()) [IPv4Address('172.16.2.1'), IPv4Address('172.16.2.2'), IPv4Address('172.16.2.3'), IPv4Address('172.16.2.4'), IPv4Address('172.16.2.5'), IPv4Address('172.16.2.6'), IPv4Address('172.16.2.7'), IPv4Address('172.16.2.8'), IPv4Address('172.16.2.9'), IPv4Address('172.16.2.10'), IPv4Address('172.16.2.11'), IPv4Address('172.16.2.12'), IPv4Address('172.16.2.13'), IPv4Address('172.16.2.14')]
Network objects can be iterated to list all the addresses belonging to the network. For iteration, all hosts are returned, including unusable hosts (for usable hosts, use the hosts() method). An example:
>>> >>> for addr in IPv4Network('192.0.2.0/28'): ... addr ... IPv4Address('192.0.2.0') IPv4Address('192.0.2.1') IPv4Address('192.0.2.2') IPv4Address('192.0.2.3') IPv4Address('192.0.2.4') IPv4Address('192.0.2.5') IPv4Address('192.0.2.6') IPv4Address('192.0.2.7') IPv4Address('192.0.2.8') IPv4Address('192.0.2.9') IPv4Address('192.0.2.10') IPv4Address('192.0.2.11')
Die Lösung zum Generieren
Nur die reinen IP-Adressen aufgelistet und nur nutzbare Adressen, also keine 172.16.2.0 usw:
>>> from ipaddress import ip_network >>> for addr in list(ip_network('172.16.2.0/28').hosts()): ... print(addr) ... 172.16.2.1 172.16.2.2 172.16.2.3 172.16.2.4 172.16.2.5 172.16.2.6 172.16.2.7 172.16.2.8 172.16.2.9 172.16.2.10 172.16.2.11 172.16.2.12 172.16.2.13 172.16.2.14
Reverse IP mit ipaddress Modul
folgender Code läuft auf Raspbian 9 mit python 3.5
>>> import ipaddress >>> >>> ipaddress.ip_address('172.16.1.20').reverse_pointer '20.1.16.172.in-addr.arpa'
Alle folgenden Module lassen sich per pip
installieren:
namedparser (0.0.3) - Read name-daemon configuration files like the bind
Das Modul namedparser schreibt das Konfigfile /etc/named.conf Es ist seit 3 Jahren nicht mehr aktualisiert worden. Ansonsten klein und schlank.
blockstack-zones (0.14.3) - Library for creating and parsing DNS zone files
Aktueller und größer als namedparser. Die Aufgabe ist das schreiben von Zone-Files.
zonecreate
Die gleiche Aufgabe von zonecreate, wie bei blockstack-zones, ist das schreiben von Zone-Files. Seit 5 Jahren still.
cloudflaredns-backup (1.8) - CloudFlare DNS backup to BIND files
cloudflaredns-backup zeigt das schreiben von Zone-Files. Input nur abändern?
dnscherry (0.1.3) - A simple web application to manage DNS zones
Sieht ganz easy aus vom Web-Interface her. Kann IPv4 und IPv6.