Good to Know Database

AVM FRITZ!Box: Externe IP-Adresse per Shell-Skript über UPnP auslesen


Um die externe IP-Adresse ihres Routers zu ermitteln, welche diesem beim Verbindungsaufbau von Ihrem Provider zugeteilt wurde, können Sie wie bereits auf der Seite Externe IP-Adresse ermitteln beschrieben einen Webserver im Internet befragen, damit dieser die IP-Adresse aus dem HTTP-Request anzeigt. Sollten Sie eine AVM FRITZ!Box mit aktiviertem UPnP als Router einsetzen, können Sie die externe IP-Adresse auch direkt von der FRITZ!Box abfragen. Die folgende Beschreibung soll Ihnen zeigen, wie Sie die IP-Adresse unter Linux mit einem Shell-Skript abrufen können.

Das folgende Skript wurde bereits erfolgreich mit den folgenden Geräten getestet:
- AVM FRITZ!Box Fon WLAN 7390
- AVM FRITZ!Box Fon WLAN 7490

Hinweis: Auf der FRITZ!Box muss UPnP aktiviert sein. Überprüfen Sie deshalb ob die Einstellung Statusinformationen über UPnP übertragen aktiviert ist.

Zuerst erstellen Sie mit einem Editor die Datei external_ip.xml. Diese Datei enthält die UPnP-Informationen, welche später in einem POST-Request an die FRITZ!Box gesendet werden.

georg@ubuntu1404:~$ vi external_ip.xml

Fügen Sie die folgenden Zeilen in diese Datei ein.

<?xml version="1.0" encoding="utf-8" ?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <u:GetExternalIPAddress xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1" />
  </s:Body>
</s:Envelope>

Danach erstellen Sie das eigentliche Skript welches die UPnP-Informationen an die FRITZ!Box sendet.

georg@ubuntu1404:~$ vi external_ip.sh

Wenn Sie eine AVM FRITZ!Box 7490 oder eine AVM FRITZ!Box 7390 mit der jeweils aktuellen FRITZ!OS Version verwenden, fügen Sie die folgenden Zeilen in die external_ip.sh ein.

#!/bin/bash
curl -s "http://fritz.box:49000/igdupnp/control/WANIPConn1" -H "Content-Type: text/xml; charset="utf-8"" -H "SoapAction:urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress" -d "@external_ip.xml" | grep -Eo "\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>"

Sollten Sie hingegen eine AVM FRITZ!Box 7390 mit FRITZ!OS 06.03 oder einer älteren Firmware einsetzen, müssen Sie die folgenden Zeilen in die external_ip.sh einfügen.

#!/bin/bash
curl -s "http://fritz.box:49000/upnp/control/WANIPConn1" -H "Content-Type: text/xml; charset="utf-8"" -H "SoapAction:urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress" -d "@external_ip.xml" | grep -Eo "\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>"

Hinweis: Standardmäßig kann die FRITZ!Box unter fritz.box angesprochen werden. Sollte dies bei Ihnen nicht der Fall sein, müssen Sie im Skript stattdessen die IP-Adresse oder den gültigen Domainnamen angeben.

Nachdem Sie das Skript erstellt haben, müssen Sie noch die Rechte ändern.

georg@ubuntu1404:~$ chmod u+x external_ip.sh

Wenn Sie jetzt das Skript external_ip.sh aufrufen, wird die aktuelle externe IP-Adresse von der FRITZ!Box abgefragt und angezeigt.

georg@ubuntu1404:~$ ./external_ip.sh
84.146.11.139


Dieser Eintrag wurde am 24.03.2014 erstellt und zuletzt am 24.01.2016 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_7_2570.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer