74_Nmap

Begonnen von igami, 18 September 2016, 10:28:34

Vorheriges Thema - Nächstes Thema

igami

Irgendwie bekomme ich noch die Fehlermeldung

2016.09.24 15:53:23 1 : Error: vagariNetwork has no TYPE

Im Log steht weiterhin

2016.09.24 15:53:51 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4572.


weiß einer woran das liegen kann?
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

MadMax-FHEM

Hi igami,
habe bislang ja "nur" interessiert mitgelesen...

Super, danke!

Werde leider erst morgen oder Mo dazu kommen das Modul zu testen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

P.A.Trick

Can't locate Nmap/Parser.pm in @INC (@INC contains: /opt/lib/perl5/5.10.0/arm-linux /opt/lib/perl5/5.10.0 /opt/lib/perl5/site_perl/5.10.0/arm-linux /opt/lib/perl5/site_perl/5.10.0 . ./FHEM) at ./FHEM/74_Nmap.pm line 18.
BEGIN failed--compilation aborted at ./FHEM/74_Nmap.pm line 18.


Welche Lib muss denn noch installiert werden? XML Parser?
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

igami

Zitat von: igami am 24 September 2016, 15:54:51
Irgendwie bekomme ich noch die Fehlermeldung

2016.09.24 15:53:23 1 : Error: vagariNetwork has no TYPE

Im Log steht weiterhin

2016.09.24 15:53:51 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4572.


weiß einer woran das liegen kann?
Lag wohl daran, dass ich aus

my $name = @_;


my ($name) = @_;

machen musste. Aktuelle Version Packe ich mal an den ersten Beitrag.

Zitat von: P.A.Trick am 24 September 2016, 17:15:46
Can't locate Nmap/Parser.pm in @INC (@INC contains: /opt/lib/perl5/5.10.0/arm-linux /opt/lib/perl5/5.10.0 /opt/lib/perl5/site_perl/5.10.0/arm-linux /opt/lib/perl5/site_perl/5.10.0 . ./FHEM) at ./FHEM/74_Nmap.pm line 18.
BEGIN failed--compilation aborted at ./FHEM/74_Nmap.pm line 18.


Welche Lib muss denn noch installiert werden? XML Parser?
Eigentlich nur Nmap::Parser
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

igami

#19
Was wären denn noch interessante Readings?
IPv4
IPv6
hostname
status (up|down)
macAddress
macVendor
OS
uptime
last_seen
scanned_hosts (Wie viele Adressen wurden gescannt)
scan_time (Wie lange hat der Scan gedauert)

Kenne mich selbst mit Nmap nicht so gut aus.

Weiterhin Attribute die man setzen könnte:
absenceThreshold (wie bei Presence)
devAlias (wie bei Unifi)
excludeHosts (IPs die nicht gescannt werden sollen)
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

igami

So, neue Version im ersten Beitrag:
Folgende Readings werden nun erzeugt:
- hostname
- macAddress
- macVendor
- hostsScanned
- hostsUp
- NmapVersion
- scanDuration

Für die mac Readings ist es notwendig, dass das Attribut "sudo 1" gesetzt ist. Um dem fhem user die root rechte ohne Passwort zu geben muss weiterhin die /etc/sudoers editiert werden und im Abschnitt # User privilege specification die Zeile fhem    ALL=(ALL) NOPASSWD: /usr/bin/nmap eingefügt werden.

ToDo:
- args konfigurierbar machen
- disabled einbauen
- CommandRef schreiben
- absenceThreshold wie bei Presence hinzufügen
- state, uptime, last_seen, OS als Readings hinzufügen
- zwischen IPv4/IPv6 umschaltbar machen
- devAlias wie bei Unifi hinzufügen
- excludeHosts als Attribut hinzufügen
- Logeinträge hinzufügen
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

androsch

Hallo igami,

gute Arbeit läuft bei mir auf Anhieb, werds mal etwas beobachten, momentan findet er nicht alle Rechner im Netz, das ist aber in nmap im Terminal sporadisch auch so. Normalerweise sollte er ja dann die fehlenden Readings nach und nach erzeugen oder löscht du die bei jedem Durchlauf?

Ansonsten meldet das log noch


adjust_timeouts2: packet supposedly had rtt of -98090 microseconds.  Ignoring time.
adjust_timeouts2: packet supposedly had rtt of -98155 microseconds.  Ignoring time.
adjust_timeouts2: packet supposedly had rtt of -100023 microseconds.  Ignoring time.
adjust_timeouts2: packet supposedly had rtt of -99953 microseconds.  Ignoring time.
adjust_timeouts2: packet supposedly had rtt of -99819 microseconds.  Ignoring time.
adjust_timeouts2: packet supposedly had rtt of -99008 microseconds.  Ignoring time.
adjust_timeouts2: packet supposedly had rtt of -101971 microseconds.  Ignoring time.
adjust_timeouts2: packet supposedly had rtt of -101029 microseconds.  Ignoring time.
adjust_timeouts2: packet supposedly had rtt of -99516 microseconds.  Ignoring time.
adjust_timeouts2: packet supposedly had rtt of -99553 microseconds.  Ignoring time.


aber das ist wohl meinen diversen SBC geschuldet, die nicht alle mit einem NTP-Server abgeglichen sind....

Ansonsten thumbs-up!
RaspberryPi3+ | RaspberryPi2+ | Pine64 | FHEM 5.9
HomeMatic | MAX!-Heizkörper | FS20-Steckdosen | nanoCul433 | Max-nanoCul | nanoCUL868 | HM-UART | AMAD | diverse Dienste+TabletUIs | 433MHz-Temperatursensoren | FritzBox7490 und 7412 | KODI und MPD | sonstiger Kleinkram

igami

Zitat von: androsch am 27 September 2016, 14:59:47
aber das ist wohl meinen diversen SBC geschuldet, die nicht alle mit einem NTP-Server abgeglichen sind....
Bekomme diese Meldungen aber auch, mal schauen ob man die unterbinden kann.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

igami

Ist das eine gute Idee?

open(STDERR, ">", "/dev/null");

Scheint die Meldungen zu unterbinden, aber ich habe keine Ahnung was für Nebenwirkungen auftreten können  :-[
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Andy89

Servus,
bin durch Zufall heute über dein Modul gestolpert. Finde ich ziemlich cool =)
Eine Frage/Idee hätte ich: Könnte man per Attribut mitgeben, ob die IP immer 3-stellig angegeben wird? Hintergrund deswegen ist, so wären die Geräte nach aufsteigender Nummer in den Readings sortiert und nicht "durcheinander".

Danke schon mal  :) :)

Beste Grüße
Andy
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

igami

Zitat von: Andy89 am 28 September 2016, 10:34:27
Eine Frage/Idee hätte ich: Könnte man per Attribut mitgeben, ob die IP immer 3-stellig angegeben wird?

Da ich mir nicht sicher war habe ich es gerade mal getestet

8.8.8.8 != 008.008.008.008

Daher würde ich das nicht einbauen.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Andy89

Zitat von: igami am 28 September 2016, 10:59:36
Da ich mir nicht sicher war habe ich es gerade mal getestet

8.8.8.8 != 008.008.008.008

Daher würde ich das nicht einbauen.

ehrlich gesagt, weiß ich nicht, was du mir damit sagen willst?
mir gehts ja nur um die Speicherung, vor allem reicht mir da die Veränderung des letzten Parts. Ich hab folgendes nun in der sub Nmap_done($) in der Zeile 121 reingeschrieben. Quasi nach dem Split in der for (@hostsUp)-Schleife und vor dem FHEM-Trigger:

my @ip_old = split('\.', $ip);
    while (length(@ip_old[3]) != 3){
      $ip_old[3] = "0".$ip_old[3];
    }
    $ip = $ip_old[0].".".$ip_old[1].".".$ip_old[2].".".$ip_old[3];


Wahrscheinlich nicht schön, aber ich habe noch nie in Perl programmiert :/

Hiermit wird auf jeden Fall folgendes gemacht:
aus 192.168.1.1   wird 192.168.1.001
aus 192.168.1.10 wird 192.168.1.010
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

igami

Zitat von: Andy89 am 28 September 2016, 11:53:28
ehrlich gesagt, weiß ich nicht, was du mir damit sagen willst?
mach doch mal bitte ein

ping 192.168.1.001

Ich habe das eben mal mit der Adresse 8.8.8.008 getestet und bekomme dann keine Antwort. Deswegen würde ich das nicht einbauen, weil es dann eine nicht funktionierende IP ist. Die Umsetzung wäre nicht das Problem.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Andy89

Zitat von: igami am 28 September 2016, 12:40:00
Ich habe das eben mal mit der Adresse 8.8.8.008 getestet und bekomme dann keine Antwort.

ping 192.168.1.006
PING 192.168.1.006 (192.168.1.6): 56 data bytes
64 bytes from 192.168.1.6: icmp_seq=0 ttl=63 time=186.543 ms
64 bytes from 192.168.1.6: icmp_seq=1 ttl=63 time=276.870 ms
...
^C
--- 192.168.1.006 ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss

also theorteisch geht des bei mir^^

Andere Frage. Benutzt du die Readings denn für ein erneutes Auslesen? Weil bei einem Statusrequest wird ja alles durchgepingt und dann wird ja erst der Name angelegt (wenn ich das richtig interpretier', was in dem Modul passiert). Zumindest wird bei einem neuem statusRequest die Zeit der Readings angepasst.
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

igami

Zitat von: Andy89 am 28 September 2016, 13:07:21
also theorteisch geht des bei mir^^
Ich habe es von einem Windows PC versucht  ::)

Zitat von: Andy89 am 28 September 2016, 13:07:21
Andere Frage. Benutzt du die Readings denn für ein erneutes Auslesen? Weil bei einem Statusrequest wird ja alles durchgepingt und dann wird ja erst der Name angelegt (wenn ich das richtig interpretier', was in dem Modul passiert). Zumindest wird bei einem neuem statusRequest die Zeit der Readings angepasst.
Das Reading benutze ich nur für den Trigger "new host"

Ich werde mir das nachher nochmal anschauen.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED