Ich versuche ein Skript zu erstellen, mit dem ich eine Reihe von Präfixen eingeben kann, die dann alle IP-Adressen innerhalb der Präfixe auflisten (einschließlich Netzwerk / Host / Broadcast).
Ein Beispiel wäre:
%Vor%Es gibt einige Python / Perl-Skripte, die das können, aber ich hoffe, ein einfaches Bash-Skript zu haben, wie es auf Systemen ohne Perl / Python verwendet werden kann (ja, ich weiß ..)
Hier ist, was ich verwende, um alle IP-Adressen in einem bestimmten CIDR-Block
zu generieren %Vor%Einfach so einfach
Der obige Befehl gibt dies aus
%Vor%Auch ich habe nach dieser Lösung gesucht und festgestellt, dass das @scherand-Skript großartig funktioniert hat. Ich habe auch dieses Skript hinzugefügt, um Ihnen mehr Optionen zu geben. Hilfedatei unter.
DIESES SCRIPT ERWEITERT EINE CIDR ADRESSE.
-h Zeigt diesen Hilfebildschirm an
-f Erzwingt die Überprüfung der Netzwerkgrenze, wenn STRING (s) angegeben wird
-i liest aus einer Eingabedatei (Datei sollte eine CIDR pro Zeile enthalten) (keine Überprüfung der Netzwerkgrenze)
-b Führt das gleiche aus wie -i, aber mit Überprüfung der Netzwerkgrenze
%Vor%./ cidr-to-ip.sh 192.168.0.1/24
./ cidr-to-ip.sh 192.168.0.1/24 10.10.0.0/28
./ cidr-to-ip.sh -f 192.168.0.0/16
./ cidr-to-ip.sh -i Eingabedatei.txt
./ cidr-to-ip.sh -b Eingabedatei.txt
Ich habe kürzlich eine Funktion geschrieben, um alle IP-Adressen von einer gegebenen Netzwerkadresse zu erzeugen. Die Funktion übernimmt die Netzwerkadresse als Argument und akzeptiert CIDR- und Subnetzmasken. Das Skript speichert dann alle IPs in der Array-Variablen $ ips.
Ich habe gerade einen Weg gefunden, alle IP-Adressen in einem CIDR-Bereich in einigen Zeilen Bash zu drucken. (Ich nannte es nach dem Ubuntu-Befehl mit dem gleichen Namen prips
. Offensichtlich Wenn dieser Befehl verfügbar ist, verwenden Sie diesen.)
Beachten Sie, dass ich die RedHat Linux (Erik Troan, Preston Brown) Version von ipcalc
, nicht die Krischan Jodies Version, die auf einigen Plattformen (z. B. Mac OS X) installiert ist, annehmen.
Beispiele:
%Vor%Berechnet die korrekte Anzahl von Adressen in einem / 23 Netzwerken:
%Vor%Überprüfung einiger dieser Adressen mit cut:
%Vor%Und vielleicht zu langsam aber auch richtig generiert die 16 Millionen Adressen in einem / 8-Netzwerk:
%Vor%Ich wollte oben eine Antwort kommentieren, habe aber noch nicht die Antwort.
Unter Verwendung der obersten Lösung mit NMAP habe ich das zu meinem .bashrc
Jetzt kann ich das mit nur expand-ip targs
Tags und Links bash ip-address