Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. [gelöst] - Zabbix (FritzBox etc.)

    NEWS

    • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    [gelöst] - Zabbix (FritzBox etc.)

    This topic has been deleted. Only users with topic management privileges can see it.
    • Codierknecht
      Codierknecht Developer Most Active last edited by

      Der Vollständigkeit halber hier nun das komplette Script in Zabbix, um die Anzahl der Portweiterleitungen zu ermitteln:

      const params = JSON.parse(value);
      
      var requestBody = '<?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:Header>' +
      '        <h:InitChallenge xmlns:h="http://soap-authentication.org/digest/2001/10/" s:mustUnderstand="1">' +
      '            <UserID>' + params.username + '</UserID>' +
      '        </h:InitChallenge>' +
      '    </s:Header>' +
      '    <s:Body>' +
      '        <u:' + params.action + ' xmlns:u="' + params.urn + '" />' +
      '    </s:Body>' +
      '</s:Envelope>';
      
      const action = params.urn + '#' + params.action;
      
      // Initialize challenge with Fritz!Box
      var url = 'http://' + params.ip + ':49000' + params.url;
      const request = new HttpRequest();
      request.addHeader('Content-Type: text/xml; charset="utf-8"');
      request.addHeader('User-Agent: AVM UPnP/1.0 Client 1.0');
      request.addHeader('SoapAction: ' + action);
      var response = request.post(url, requestBody);
      
      var statusCode = request.getStatus();
      if (statusCode != 200) {
          throw 'Error ' + statusCode + ' initializing authentication!';
      } else {
          // Calculate authentication
          const nonce = XML.query(response, '//Nonce/text()');
          const realm = XML.query(response, '//Realm/text()');
          const secret = md5(params.username + ':' + realm + ':' + params.password);
          const auth = md5(secret + ':' + nonce);
      
          // Get values with authentication
          requestBody = '<?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:Header>' +
          '        <h:ClientAuth xmlns:h="http://soap-authentication.org/digest/2001/10/" s:mustUnderstand="1">' +
          '            <Nonce>' + nonce + '</Nonce>' +
          '            <Auth>' + auth + '</Auth>' +
          '            <UserID>' + params.username + '</UserID>' +
          '            <Realm>' + realm + '</Realm>' +
          '        </h:ClientAuth>' +
          '    </s:Header>' +
          '    <s:Body>' +
          '        <u:' + params.action + ' xmlns:u="' + params.urn + '" />' +
          '    </s:Body>' +
          '</s:Envelope>';
      
          response = request.post(url, requestBody);
          var statusCode = request.getStatus();
          if (statusCode != 200) {
              throw 'Error ' + statusCode + ' sending authenticated request!';
          } else {
              return(XML.query(response, 'number(//NewForwardNumberOfEntries/text())'));
          }
      }
      

      Die Parameter "ip", "username" und "password" sollten klar sein.
      Was zusätzlich noch benötigt wird:
      "action" = "GetForwardNumberOfEntries"
      "url" = "/upnp/control/layer3forwarding"
      "urn" = "urn:dslforum-org:service:Layer3Forwarding:1"

      Jetzt werde ich nach und nach die Doku von AVM durchgehen, und sehen was da sinnvoll nutzbar ist.
      Das Ganze werde ich dann als Template für Zabbix veröffentlichen.
      Wie gesagt: Wer Vorschläge hat, darf die gerne äußern.

      Aktueller Zwischenstand:
      840cb744-a6b8-47c2-a467-1e6bae7c8a60-grafik.png

      1 Reply Last reply Reply Quote 2
      • Codierknecht
        Codierknecht Developer Most Active last edited by

        Here it is:

        https://github.com/DEV2DEV-DE/zabbix-templates/blob/main/zbx_template_fritzbox.xml

        04037cb0-8e7d-4c51-a4f1-9686c1042750-image.png

        BananaJoe 1 Reply Last reply Reply Quote 1
        • BananaJoe
          BananaJoe Most Active @Codierknecht last edited by

          @codierknecht argh, Version 6.4. Da müsste ich noch eben warten bis 7.0 raus ist ... ich setze in dem Bereich nur die LTS-Versionen ein.

          Codierknecht 2 Replies Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @BananaJoe last edited by

            @bananajoe sagte in [gelöst] - Zabbix (FritzBox etc.):

            Version 6.4

            Lässt sich das unter 6.0 importieren, wenn man einfach im XML die Versionsnummer runterdreht?
            Oder hat sich zu 6.4 das Format maßgebend geändert?

            BananaJoe 1 Reply Last reply Reply Quote 0
            • BananaJoe
              BananaJoe Most Active @Codierknecht last edited by

              @codierknecht Kollege testet gerade 🙂 Könnte reichen, ansonsten sagt er einem was ihn stört

              1 Reply Last reply Reply Quote 1
              • Codierknecht
                Codierknecht Developer Most Active last edited by

                Wenn man einmal weiß wie es geht ... wer einen Hammer hat, sieht eine Welt voller Nägel 😀

                Mittlerweile sind's > 80 Items 😉
                Obwohl so eine Fritte eigentlich recht "unkommunikativ" ist. Kein SNMP, kein Telnet, kein SSH.

                1 Reply Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active @BananaJoe last edited by

                  @bananajoe sagte in [gelöst] - Zabbix (FritzBox etc.):

                  Da müsste ich noch eben warten bis 7.0 raus ist

                  Just for info:
                  7.0 LTS ist draußen ... 😄

                  1 Reply Last reply Reply Quote 1
                  • BananaJoe
                    BananaJoe Most Active last edited by

                    Was ist neu in Zabbix 7.0?
                    https://www.youtube.com/watch?v=60Zy3bw-wOs

                    1 Reply Last reply Reply Quote 0
                    • arteck
                      arteck Developer Most Active last edited by

                      die honeycomb find ich cool

                      1 Reply Last reply Reply Quote 0
                      • S
                        schittl last edited by schittl

                        @Codierknecht

                        Vielen Dank für das Template funktioniert 1a. Nur eins was mir dabei aufgefallen ist. Hat man den PushService aktiviert bekommt man alle x-Sekunden eine Nachricht. Ich verwende upnp schon mit fritzinfluxdb (https://github.com/bb-Ricardo/fritzinfluxdb) auf die gleiche Weise nur da bekommt man nur 1x ne Mail bei der Erstanmeldung/Neustart. Sicherlich der Unterschied in der Programmiersprache 😉

                        Soll nur als Hinweis dienen und vielen Dank für deine Mühe.

                        de586c74-b145-4027-a654-7899d181d18c-image.png

                        Codierknecht 1 Reply Last reply Reply Quote 0
                        • Codierknecht
                          Codierknecht Developer Most Active @schittl last edited by

                          @schittl sagte in [gelöst] - Zabbix (FritzBox etc.):

                          bekommt man alle x-Sekunden eine Nachricht

                          Das dürfte an Deiner Einstellung "Bei Anmeldungen von Apps ..." liegen.
                          Es wird ja - je nach eingestelltem Intervall der Items - immer wieder eine Anmeldung an der Fritte durchgeführt.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          1.1k
                          Online

                          32.4k
                          Users

                          81.3k
                          Topics

                          1.3m
                          Posts

                          7
                          39
                          4100
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo