Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. NMAP liefert im ioBroker falsches Ergebnis

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    NMAP liefert im ioBroker falsches Ergebnis

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      Eggi last edited by Homoran

      Im Badezimmer verwende ich einen Echo, welcher mit Lichtschalter gekoppelt ist.
      Ziel ist es, wenn das Badezimmerlicht angeht, daß in bestimmter Radiosender gespielt wird.

      Ich verwende unter ioBroker ein Javascript (von @ruhr70), um Amazon-Echo's im Netz zu prüfen, ob diese in Netzwerk verfügbar sind - in dem Script wird nmap verwendet.

      Bei einem Echo (im Büro) funktioniert es auch gut, beim Echo im Badezimmer liefert nmap jedoch im ioBroker-Script ein falsches Ergebnis.
      Im Terminal des ioBroker-Docker wird der gleiche Befehl abgesetzt und liefert jedoch das erwünschte Ergebnis.

      in den Alexa2-Objekten ist auch der Echo zu finden und kann angesteuert werden (z.B: Pause)

      Hat jemand eine Idee, woran das liegen kann?

      Das Ergebnis aus dem Log im ioBroker (Scripte):

      13:35:02.081	info	javascript.0 (2110) script.js.AlexaEcho.CheckAlexaEchoBad: Abfrage : nmap 192.168.8.230 -sT -A -T5 --top-ports=20
      13:35:02.082	info	javascript.0 (2110) script.js.AlexaEcho.CheckAlexaEchoBad: Starting Nmap 7.70 ( https://nmap.org ) at 2021-12-29 13:35 CET Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn Nmap done: 1 IP address (0 hosts up) scanned in 2.04 seconds
      13:35:02.082	info	javascript.0 (2110) script.js.AlexaEcho.CheckAlexaEchoBad: Scan Amazon Echo :OG Bad:
      13:35:02.082	info	javascript.0 (2110) script.js.AlexaEcho.CheckAlexaEchoBad: Alexa Echo Mac-Adresse: n.e.
      13:35:02.082	info	javascript.0 (2110) script.js.AlexaEcho.CheckAlexaEchoBad: up: false
      13:35:02.082	info	javascript.0 (2110) script.js.AlexaEcho.CheckAlexaEchoBad: Latency: n.e.
      

      Das Ergebnis im Terminal:

      root@buanet-iobroker:/opt/iobroker# nmap 192.168.8.230 -sT -A -T5 --top-ports=20                                                                                                                            
      Starting Nmap 7.70 ( https://nmap.org ) at 2021-12-29 13:36 CET                                                                                                                                             
      Nmap scan report for xx-xx-xx-xx-xx-xx (192.168.8.230)                                                                                                                                                      
      Host is up (0.040s latency).                                                                                                                                                                                
                                                                                                                                                                                                                  
      PORT     STATE    SERVICE       VERSION                                                                                                                                                                     
      21/tcp   filtered ftp                                                                                                                                                                                       
      22/tcp   filtered ssh                                                                                                                                                                                       
      23/tcp   filtered telnet                                                                                                                                                                                    
      25/tcp   filtered smtp                                                                                                                                                                                      
      53/tcp   filtered domain                                                                                                                                                                                    
      80/tcp   filtered http                                                                                                                                                                                      
      110/tcp  filtered pop3                                                                                                                                                                                      
      111/tcp  filtered rpcbind                                                                                                                                                                                   
      135/tcp  filtered msrpc                                                                                                                                                                                     
      139/tcp  filtered netbios-ssn                                                                                                                                                                               
      143/tcp  filtered imap                                                                                                                                                                                      
      443/tcp  filtered https                                                                                                                                                                                     
      445/tcp  filtered microsoft-ds                                                                                                                                                                              
      993/tcp  filtered imaps                                                                                                                                                                                     
      995/tcp  filtered pop3s                                                                                                                                                                                     
      1723/tcp filtered pptp                                                                                                                                                                                      
      3306/tcp filtered mysql                                                                                                                                                                                     
      3389/tcp filtered ms-wbt-server                                                                                                                                                                             
      5900/tcp filtered vnc                                                                                                                                                                                       
      8080/tcp filtered http-proxy                                                                                                                                                                                
      MAC Address: xx-xx-xx-xx-xx-xx (Unknown)                                                                                                                                                                    
      Too many fingerprints match this host to give specific OS details                                                                                                                                           
      Network Distance: 1 hop                                                                                                                                                                                     
                                                                                                                                                                                                                  
      TRACEROUTE                                                                                                                                                                                                  
      HOP RTT      ADDRESS                                                                                                                                                                                        
      1   39.69 ms xx-xx-xx-xx-xx-xx (192.168.8.230)                                                                                                                                                              
                                                                                                                                                                                                                  
      OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .                                                                                                       
      Nmap done: 1 IP address (1 host up) scanned in 5.95 seconds
      

      Hier das Script:

      // Prüft die Verfügbarkeit eines Amazon Echos im Netz bei bekannter IP-Adresse
      // Rückmeldung der Prüfung etwas > 10 Sekunden
      // Voraussetzungen:
      // --------------------------
      // nmap muss installiert sein
      // IP-Adresse in der "abfrage" anpassen
      var alexaName       = "OG Bad";
      var alexaIP         = "192.168.8.230";
      var logOn           = true; // Logausgabe im Skript
      var forecreation    = false; // true: Datenpunkte werden überschrieben (ween z.B. Bezeichnungen geändert wurden)
      var pfad            = "Systeminfos.Alexa.Echo OG Badezimmer" + "."; // Pfad in dem die Datenpunkte angelegt werden
      // Datenpunktnamen:
      var idEchoUp            = pfad + 'up';
      var idEchoLatency       = pfad + "latency";
      var idEchoStatustime    = pfad + "timestamp";
      var idMacAddress        = pfad + "mac address";
      // regelmässige Wiederholungen der Abfrage
      var cronStr         = "*/1 * * * *";
      var abfrage         = 'nmap '+alexaIP+' -sT -A -T5 --top-ports=20';
      //var abfrage         = 'nmap '+alexaIP+' -sT -A -n -T4 --top-ports=20';
      // -----------------------------------------------------------------------------
      createState(idEchoUp, false, forecreation, {
           name: 'Alexa Echo '+alexaName+' up',
           desc: 'Alexa Echo '+alexaName+' up',
           type: 'boolean',
           unit: '',
           role: 'value'
      });
      createState(idEchoLatency, "initalisiert", forecreation, {
           name: 'Alexa Echo '+alexaName+' Latency',
           desc: 'Alexa Echo '+alexaName+' Latency',
           type: 'string',
           unit: '',
           role: 'value'
      });
      createState(idEchoStatustime, now(), forecreation, {
           name: 'Alexa Echo '+alexaName+' letzter Status',
           desc: 'Alexa Echo '+alexaName+' letzter Status',
           type: 'string',
           unit: '',
           role: 'value'
      });
      createState(idMacAddress, "initalisiert", forecreation, {
           name: 'Alexa Echo '+alexaName+' Mac Adresse',
           desc: 'Alexa Echo '+alexaName+' Mac Adresse',
           type: 'string',
           unit: '',
           role: 'value'
      });
      // -----------------------------------------------------------------------------
      function now() {
          return formatDate(new Date(), "hh:mm:ss, YYYY-MM-DD");
      }
      function abfrageConsole() {
          exec(abfrage, function(err, stdout, stderr) {
              if(logOn) log("Abfrage  : "+abfrage);
      
              if (err) {
                  log("Fehler Amazon Echo Scan: " + err,"error");
                  return;
              }
              var out = stdout.toString();
              if(logOn) log(out);
              if(!out || (!out.match("Host is up") && !out.match("Host seems down")))  log("Amazon Echo Scan unklares Ergebnis","warn");
              var up      = false;
              var latency = "n.e.";
              var mac     = "n.e.";
              if (out.match("Host is up")) {
                  up = true;
                  latency = out.match(/\(.+latency/g);
                  latency = latency.toString().replace(/ latency/,"");
                  latency = latency.toString().replace("(","");
       
                  //mac = out.match(/..:..:..:..:..:../g).toString();
                  //mac = out.match(/..-..-..-..-..-../g).toString();
                  // ..:..:..:..:..:..
              }
              setState(idEchoUp           ,up);        
              setState(idEchoLatency      ,latency);
              setState(idEchoStatustime   ,now());
              setState(idMacAddress       ,mac);
              if(logOn) log("Scan Amazon Echo :"+alexaName+": ");
              if(logOn) log("Alexa Echo Mac-Adresse: " + mac);
              if(logOn) log("up: " + up);
              if(logOn) log("Latency: " + latency);
          });
      }
      function abfragen() {
          abfrageConsole();
      }
      // regelmässige Wiederholungen
      // -----------------------------------------------------------------------------
      schedule(cronStr, abfragen);
      // main
      // -----------------------------------------------------------------------------
      function main() {
          abfragen();
      }
      // Start Skript:
      // -----------------------------------------------------------------------------
      setTimeout(main,    500);
      

      MOD-EDIT: zum dritten Mal den Code in code-tags gesetzt!!!

      Thomas Braun 1 Reply Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @Eggi last edited by

        @eggi sagte in NMAP liefert im ioBroker falsches Ergebnis:

        Hat jemand eine Idee, woran das liegen kann?

        nmap reagiert anders, jenachdem ob es als root läuft oder von einem user ohne weitere Rechte aufgerufen wird.

        E 1 Reply Last reply Reply Quote 0
        • E
          Eggi @Thomas Braun last edited by

          @thomas-braun
          Danke für Deinen Hinweis:
          Wie kann man die Rechte prüfen bzw. passend einstellen.

          Als Hinweis:
          Auf dem Echo-Dot mit der IP-Adresse 192.168.8.230 funktioniert es nicht;
          auf einem Echo-Show5 mit der IP-Adresse 192.168.8.225 im gleichen Netz geht es

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

          Support us

          ioBroker
          Community Adapters
          Donate

          914
          Online

          31.9k
          Users

          80.1k
          Topics

          1.3m
          Posts

          2
          3
          163
          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