AVM FritzBox via UPNP überwachen/auslesen – MUNIN/NAGIOS

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (2 Stimmen, Durchschnitt: 5,00 von 5)
Loading...

Nach dem ich auf den Kabel Deutschland 100Mbit Tarif umgestiegen bin, musste auch ein neuer Router her, der die hohe Bandbreite verarbeiten kann. Aufgrund der Tatsache, dass Kabel Deutschland nur 3 Varianten anbietet, die mich nicht überzeugen, habe ich mir eine FritzBox 3390 zugelegt. Die Alternativen von Kabel Deutschland sind ein normaler Kabel-Modem-Router, Kabel-Wlan-Modem-Router, AVM Fritzbox 6630 inkl. WLAN. Alle können VOIP, letztere sogar 2 parallele Leitungen. Leider wird die Fritzbox 6630 mit einer von KD gepatchten Firmware ausgeliefert und ist in Ihrer Funktionsweise stark beschränkt. Da ich aktuell kein VOIP nutze, habe ich mich für die Variante mit Kabel-Modem-Router entschieden um dahinter eine eigene Fritzbox anzuschließen.

Das bedeutet aber, dass die Router Funktion im Kabel-Deutschland Gerät deaktiviert werden muss. Im CSC von Kabel Deutschland kann man dafür den Bridge-Modus aktivieren. Damit wird LAN Port 1 nur noch als Modem-Port benutzt. D.h. an Port 1 kann ein weiterer Router angeschlossen werden.

Jetzt besteht bei dem ein oder anderen User sicherlich das Interesse, die Fritzbox auch zu überwachen oder auf die Informationen wie aktuelle externe IP zuzugreifen. Dafür muss in der Fritzbox nur die Funktion „Statusinformationen über UPnP übertragen (empfohlen)“ aktiviert sein. (Standard). Diese ist (zumindest in der Fritzbox 3390) unter Heimnetz -> Netzwerk -> Programme zu finden. (FRITZ!OS 05.51)

Anbei ein paar Code-Schnipsel, mit dem man auf die Fritzbox zugreifen kann. Der Aufbau der XML Datei dürfte selbsterklärend sein, wer schon mal mit XML Dateien gearbeitet hat. Der Einstieg erfolgt über diese Seite:

http://192.168.0.1:49000/igddesc.xml

Darüber sind im unteren Teil weitere Sub-Funktionen verlinkt, weitere XML Dateien. Öffnet man diese, kann man die einzelnen Actions sehen und via PHP darauf zugreifen.

  1. <?php
  2. $client = new SoapClient(
  3.     null,
  4.     array(
  5.         'location'   => "http://192.168.0.1:49000/upnp/control/WANCommonIFC1",
  6.         'uri'        => "urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1",
  7.         'soapaction' => "",
  8.         'noroot'     => True
  9.     )
  10. );
  11.  
  12. $status = $client->GetCommonLinkProperties();
  13. $status2 = $client->GetAddonInfos();
  14. print_r($status);
  15. print_r($status2);
  16.  
  17. $client = new SoapClient(
  18.     null,
  19.     array(
  20.         'location'   => "http://192.168.0.1:49000/upnp/control/WANCommonIFC1",
  21.         'uri'        => "urn:schemas-upnp-org:service:WANIPConnection:1",
  22.         'soapaction' => "",
  23.         'noroot'     => True
  24.     )
  25. );
  26. $status = $client->GetExternalIPAddress();
  27. $status2 = $client->GetStatusInfo();
  28. print_r($status);
  29. print_r($status2);
  30. ?>

In einem der nächsten Artikel werden wir zeigen, wie man mit diesen Informationen NAGIOS Checks als auch MUNIN-Plugins schreibt.

Lesen Sie hier Teil 2

overlib.js funktioniert nicht im Internet Explorer 10

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (5 Stimmen, Durchschnitt: 5,00 von 5)
Loading...

Wer für einen Mouseover Effekt die overlib.js einsetzt, erhält im Internet Explorer 10 jetzt folgende Fehlermeldung:

  1. Meldung: Die Eigenschaft "1" eines undefinierten oder Nullverweises kann nicht abgerufen werden.
    
  2. Message: Unable to get property '1' of undefined or null reference.
    
  3. Zeile: 216
    
  4. Zeichen: 3
    
  5. Code: 0
    
  6. URI: overlib/overlib.js

Die Lösung ist sehr einfach. Öffnen Sie die Datei overlib.js und gehen Sie in Zeile 216. Dort finden Sie:

  1. var versNum = parseFloat(agent.match(/MSIE[ ](\d\.\d+)\.*/i)[1]);

Ändern Sie dies in folgende Zeile:

  1. var versNum = parseFloat(agent.match(/MSIE[ ](\d{1,2}\.\d+)\.*/i)[1]);

Nun funktioniert Overlib auch im IE 10. Hintergrund: Bei der Browserprüfung geht das Skript von einer einstelligen Browserversion beim Internet Explorer aus. Jetzt funktioniert der Check auch bis Internet Explorer 99.