ipcalc

Aus wiki.archlinux.de

ipcalc steht für IP calculator, also „IP-Berechner“ und dient dem Errechnen von IPs, Netzwerkadressen, Netzwerkklassen, und weiteren Informationen über eine IP und das anhand der IP erkannte Netzwerk.

Installation

Das Programm ist als ipcalc in extra verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S ipcalc

Zusätzlich zum Paket von ipcalc wird auch noch Perl installiert, da ipcalc in Perl geschrieben wurde, und somit von diesem abhängt.

Verwendung

ipcalc kann sowohl für die Ausgabe der IP nebst ermittelter Daten verwendet werden, als auch für die weitergehende Netzwerk-Berechnung.

Einzelne IP

Standard-Ausgabe von ipcalc, hier in xterm

Der einfachste Anwendungsfall ist die Angabe einer IP. ipcalc ermittelt selbständig anhand der Standards, um was für ein Netz es sich handelt und wie die Netzmaske lauten wird. Zusätzlich gibt es alle relevanten Daten aus, die sich anhand der IP und der ermittelten Netzmaske errechnen lassen.

ipcalc 192.168.6.72

Ausgegeben werden nun die IP-Adresse, die Netzmaske und die sich daraus ergebene Wildcard. Zusätzlich werden Netzwerk-Adresse, der für Hosts in diesem Netz verfügbare IP-Bereich, die Broadcastadresse, sowie die Klasse des Netzes angezeigt.

ipcalc ermittelt unter Berücksichtigung der Standards die Netzmaske anhand der IP. Sollte man eine andere Netzmaske verwenden, als im Standard für die IP vorgesehen, kann man diese entweder in der CIDR-Notation (Slash-Notation) angeben, oder – ebenfalls per Slash getrennt – ausschreiben.

ipcalc 192.168.6.72/16
ipcalc 192.168.6.72/255.255.0.0

Alle errechneten Angaben entsprechen dann natürlich den Daten, die anhand der IP und der übergebenen Netzmaske errechnet werden können.

Netzwerk-Berechnung

Errechnung von Subnetzmasken in ipcalc, hier drei Subnetze mit je mindestens 200 Hosts

Man kann sich mit ipcalc auch Subnetze errechnen lassen. Dies erreicht man mittels der Parameters „--split“ oder „-s“. Möchte man zum Beispiel ein Subnetz mit 200 Hosts einrichten, ruft man ipcalc wie folgt auf:

ipcalc 192.168.6.20 -s 200
ipcalc 192.168.6.20 -s 200 200 200

Die übergebene IP nebst Standard-Netzmaske wird dabei als Grundlage verwendet. Wenn man mehrere Host-Werte angibt, werden – ebenfalls anhand der übergeben IP nebst Standard-Netzmaske – die nötigen Subnetze ausgegeben. Im Beispiel wird das Netz in drei Subnetze unterteilt, in denen je mindestens 200 Hosts verwaltet werden können.

Allerdings ist das Netzwerk 192.168.6.0/24 zu klein, um die nötige Unterteilung vornehmen zu können. ipcalc gibt eine diesbezügliche Warnung aus, und passt die Netzmaske für die Berechnung der Subnetze selbständig an.

Network is too small
Needed size:  768 addresses.
Used network: 192.168.6.0/22
Unused: 

Aufgrund der Funktionsweise von Netzmasken und Subnetzen ist es nicht möglich, Netze mit exakt 200 Host-IP-Adressen zu realisieren, daher werden für die insgesamt 600 Hosts aus dem Beispiel 768 IPs in Subnetze unterteilt.

Um einen Adressbereich aufzuschlüsseln, um die Netzmaske zu ermitteln, übergibt man einfach zwei IPs, die durch einen Bindestrich getrennt werden. ipcalc ermittelt dann selbständig alle Netzmasken, die zu diesem IP-Bereich passen.

ipcalc 192.168.6.147 - 192.168.6.200
deaggregate 192.168.6.147 - 192.168.6.200
192.168.6.147/32
192.168.6.148/30
192.168.6.152/29
192.168.6.160/27
192.168.6.192/29
192.168.6.200/32

Will man sich hingegen einfach nur die Netzwerk-Maske in CIDR-Notation („Bitcount“) ausgeben lassen, verwendet man den Parameter „-c“

Ausgabe

Standardmäßig gibt ipcalc das Ergebnis der Berechnung farbig an der Shell aus. Möchte man die Farben nicht mit ausgeben, so kann man den Parameter „-n“ verwenden, dadurch wird die gesamte Ausgabe in der Standardfarbe angezeigt.

Will man die binäre Darstellung der IPs und Netzmasken nicht sehen, kann man den Parameter „-b“ verwenden, womit diese Ausgabe dann unterdrückt wird.

Mit dem Parameter „-h“ kann eine HTML-Version der Ausgabe generiert werden. Allerdings ist die HTML-Unterstützung in der derzeit aktuellen Version (0.41, Stand: 2009-06-02, 16:50 Uhr) noch nicht vollkommen fertiggestellt. Die HTML-Ausgabe wir direkt auf STDOUT geleitet, man muss sie also in eine Datei Umleiten.

Siehe auch

Weblinks