Wie findet man eine freie IP in einem Netzwerk
Gelegentlich möchte man eine „Freie IP in einem Netzwerk finden“, aber Wie findet man eine freie IP in einem Netzwerk? Sind nur noch wenige frei, kann das wirklich nervig werden.
Wie findet man eine freie IP in einem Netzwerk ?
Ein einfacher Ansatz ist es, mit einem „Ping“ und der Antwort, dass der Host nicht erreichbar ist.
Es ist nun keine Zauberei, diesen Befehl in eine Schleife zu setzen und die Ziel IP durch inkrementieren der Netzwerkadresse abfragen zu lassen. Ist das Ergebnis negativ, also ist der angefragte Host nicht erreichbar, so ist die IP nicht in Benutzung.
[bash]
#!/bin/bash
echo Alle nicht genutzten IP im 192.168.178.x Netz
echo x zwischen 17 und 200
echo =========================================
echo
i=17
while [ $i -le 200 ]
do
if ( ping -c 1 192.168.178.$i | grep Unreachable > /dev/null )
then
echo 192.168.178.$i
fi
i=$i+1
done
[/bash]
Beliebig erweiterbar
Das Konstrukt stellt im Grunde auch den Kern einer Serverüberwachung dar.
Wer sofort benachrichtigt werden möchte, wenn ein Server ausfällt, benötigt nicht unbedingt die Schleife, sondern eine zyklische Ausführung des Ping Befehls.
[shell]
#!/bin/bash
#prüft die Erreichbarkeit von ZielIP’s
echo =========================================
echo
i=192.168.178.91
j=192.168.178.43
if ( ping -c 1 $i | grep Unreachable > /dev/null )
then
echo "$i ist nicht erreichbar." | mail -s "$i nicht erreichbar" mailaddy@ziel.de
fi
if ( ping -c 1 $j | grep Unreachable > /dev/null )
then
echo "$j ist nicht erreichbar." | mail -s "$j nicht erreichbar" mailaddy@ziel.de
fi
[/shell]
Dieses Skript kann über einen cronjob ausgeführt werden und so hat man mit minimalstem Aufwand eine Prüfung der Erreichbarkeit eines Hosts. Dieser Ansatz ist ausbaubar, um z.B. eine SMS schicken zu lassen. Allerdings hat man im Zeitalter der Smartphones sein Handy grundsätzlich mit einem Mailkonto verknüpft, so dass es aus meiner Sicht völlig ausreicht, sich bei Problemen eine Mail schicken zu lassen. Man sollte nur darauf achten, nicht zu viel Informationen zu schicken.
So einfach ist die Antwort auf die Frage: Wie findet man eine freie IP in einem Netzwerk.