FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: igami am 18 September 2016, 10:28:34

Titel: 74_Nmap
Beitrag von: igami am 18 September 2016, 10:28:34
Nmap ist das FHEM Modul um einen Netzwerkscan mit Nmap durchzuführen und Informationen über die erreichbaren Netzwerkgeräte darzustellen.

Das Modul ist ab dem 23.03.2016 per update verfügbar.

Originalbeitrag


Hi zusammen,

ich überlege gerade wie es möglich ist, einen nmap scan über das Netzwerk durchzuführen und auszuwerten.
Dadurch soll z.B. eine Gäste erkennung stattfinden (https://forum.fhem.de/index.php/topic,55159.15.html).

Umsetzten würde ich das ganze mit einem at welchem dann die Readings <hostname>_ip, <hostname>_latency und <hostname>_MAC gegeben werden. (Ähnlich wie bei dem unifi Modul)

Es gibt auch den Nmap::Parser (http://search.cpan.org/~apersaud/Nmap-Parser/Parser.pm)

Da ich mit zusätlichen Perl Modulen bisher noch nicht gearbeitet habe scheitert es bei mir noch an dem Verständnis wie das angewendet wird.
Bisher habe ich mir eine sub in den myUtils angelegt

sub nmap {
  my $np = new Nmap::Parser;
  $np->parsescan("/usr/bin/nmap", "-sn", "192.168.1.2/24");
  return;
}

beim Aufruf erhalte ich jedoch die Fehlermeldung Edit: man sollte auch "usr" statt "urs" im Pfad angeben :D

Vielleicht kann mir ja jemand einen Tip geben wie ich weiter komme.

Grüße
igami
Titel: Antw:Nmap Scanner
Beitrag von: igami am 18 September 2016, 15:20:27
Soweit, sogut.


Voraussetzung:
nmap und Nmap::Parser müssen installiert sein. Bei Debian geht das mittels

sudo apt-get install nmap libnmap-parser-perl


myUtils erweitern:

use Nmap::Parser;

sub nmap($$) {
  my ($name, $network) = @_;
  my $hash = $defs{$name};
  my $np = new Nmap::Parser;
  $np->parsescan("/usr/bin/nmap", "-sn", $network);
 
  my @hosts_up = $np->all_hosts("up");
  readingsBeginUpdate($hash);
  readingsBulkUpdate($hash, "hosts_up", int(@hosts_up));
  for (@hosts_up){
    my $hostname = $_->hostname() ? $_->hostname() : $_->addr();
    fhem("trigger $name new host: $hostname") if(!$hash->{READINGS}{$hostname});
    readingsBulkUpdate($hash, $hostname, $_->addr());
  }
  readingsEndUpdate($hash, 1);
  return;
}


Gerät in fhem anlegen:

define nmap at +*00:15:00 {nmap("nmap", "192.168.1.0/24")}



Nun bekommen wir alle 15 Minuten die Meldung wie viele Geräte erreichbar sind und welchen hostname und IP sie haben.
Zusätzlich wird bei neuen Geräten ein Event erzeugt.

Vielleicht kann es ja noch jemand gebrauchen.

Grüße
igami

PS: wie geht das nun mit dem nonblocking?
Titel: Antw:Nmap Scanner
Beitrag von: igami am 18 September 2016, 16:28:44
Zitat von: igami am 18 September 2016, 15:20:27
PS: wie geht das nun mit dem nonblocking?
Die minimale myUtils sollte nun so aussehen:

package main;
  use strict;
  use warnings;
  use POSIX;

  use Blocking;
 
  use Nmap::Parser;

sub myUtils_Initialize($$) {
  my ($hash) = @_;
}

sub nmapPingScan($$){
  my ($name, $network) = @_;
  my $hash = $defs{$name};
  $hash->{helper}{RUNNING_PID} = BlockingCall("blocking_nmapPingScan", $name."|".$network, "nmapPingScan_Done", 300, "nmapPingScan_Aborted", $hash) unless(exists($hash->{helper}{RUNNING_PID}));
  return;
}

sub blocking_nmapPingScan($$) {
  my ($string) = @_;
  my ($name, $network) = split("\\|", $string);
  my $hash = $defs{$name};
  my $np = new Nmap::Parser;
  $np->parsescan("/usr/bin/nmap", "-sn", $network);

  my @ret = $name;
 
  my @hosts_up = $np->all_hosts("up");

  for (@hosts_up){
    my $hostname = $_->hostname() ? $_->hostname() : $_->addr();
    push(@ret, "$hostname|".$_->addr());
  }
  return join("||", @ret);
}

sub nmapPingScan_Done($) {
  my ($string) = @_;
 
  return unless(defined($string));

  my @hosts_up = split("\\|\\|", $string);
  my $name  = shift @hosts_up;
  my $hash = $defs{$name};

  delete($hash->{helper}{RUNNING_PID});

  readingsBeginUpdate($hash);
  readingsBulkUpdate($hash, "hosts_up", int(@hosts_up));
  for (@hosts_up){
    my ($hostname, $ip) = split("\\|", $_);
    fhem("trigger $name new host: $hostname") if(!$hash->{READINGS}{$hostname});
    readingsBulkUpdate($hash, $hostname, $ip);
  }
  readingsEndUpdate($hash, 1);
  return;
}

sub nmapPingScan_Aborted($) {
  my ($hash) = @_;
  delete($hash->{helper}{RUNNING_PID});
}

1;

Die DEF vom at ändert sich zu

define nmap at +*00:15:00 {nmapPingScan("nmap", "192.168.1.0/24")}

Titel: Antw:Nmap Scanner
Beitrag von: Otto123 am 18 September 2016, 17:52:23
Hallo igami,

ich finde das interessant. Ich wollte vorhin mal mit wegen non Blocking schauen (obwohl ich zugegeben wenig Ahnung von Perl habe) und bevor ich alles richtig probiert hatte kamst Du mit der neuen Version  8)

Was mir auffällt, irgendwie wird die Anzahl begrenzt. Von meinen 24 Geräten (mit Fing unter Android ermittelt) werden nur 16 angezeigt plus hosts_up und state.
Wobei ein paar Geräte mehrere IPs haben.
nmap auf der Kommandozeile liefert sie alle, allerdings bei meinem Pi3 kann er die Mac Adressen nicht ermitteln.

Eigenartig, hast Du da eine Idee? Ist irgendwie die Zahl/Größe der Readings beschränkt?

Gruß Otto
Titel: Antw:Nmap Scanner
Beitrag von: igami am 18 September 2016, 18:11:06
Zitat von: Otto123 am 18 September 2016, 17:52:23
Wobei ein paar Geräte mehrere IPs haben.
Zitat
addr()
    Returns the main IP address of the host. This is usually the IPv4 address. If there is no IPv4 address, the IPv6 is returned (hopefully there is one).
Könnte damit zusammenhängen.
Zitat von: Otto123 am 18 September 2016, 17:52:23
nmap auf der Kommandozeile liefert sie alle, allerdings bei meinem Pi3 kann er die Mac Adressen nicht ermitteln.
MAC Adresse wird nur beim ausführen als root angezeigt
Zitat von: Otto123 am 18 September 2016, 17:52:23
Eigenartig, hast Du da eine Idee? Ist irgendwie die Zahl/Größe der Readings beschränkt?
Muss ich mir gleich nochmal anschauen wie man alle Adressen bekommt. Dann müsste ich aber auch den Namen des Readings eindeutiger machen, ist ja bisher Hostname, bzw. IP falls das Gerät keinen Hostname sendet
Titel: Antw:Nmap Scanner
Beitrag von: Otto123 am 18 September 2016, 18:33:45
Also ganz praktisch. Das liefert nmap (als root)  8)
Starting Nmap 6.47 ( http://nmap.org ) at 2016-09-18 18:24 CEST
Nmap scan report for fritz.box (192.168.178.1)
Host is up (0.00045s latency).
MAC Address: 38:10:D5:0F:98:0F (Unknown)
Nmap scan report for 192.168.178.3
Host is up (0.00059s latency).
MAC Address: 9C:C7:A6:FA:D2:BD (AVM GmbH)
Nmap scan report for SonosZP.fritz.box (192.168.178.20)
Host is up (0.00083s latency).
MAC Address: 00:0E:58:AA:AD:9C (Sonos)
Nmap scan report for NEXUS7.fritz.box (192.168.178.23)
Host is up (0.11s latency).
MAC Address: AC:22:0B:A3:1B:09 (Asustek Computer)
Nmap scan report for NEXUS5-2.fritz.box (192.168.178.24)
Host is up (0.010s latency).
MAC Address: CC:FA:00:F0:3D:0D (LG Electronics)
Nmap scan report for LSK2012.fritz.box (192.168.178.32)
Host is up (-0.10s latency).
MAC Address: 78:24:AF:43:AC:E5 (Asustek Computer)
Nmap scan report for et9x00.fritz.box (192.168.178.33)
Host is up (-0.099s latency).
MAC Address: 00:16:B4:03:F5:0E (Private)
Nmap scan report for WBP-A78C.fritz.box (192.168.178.34)
Host is up (-0.100s latency).
MAC Address: 00:24:E4:10:A7:8C (Withings)
Nmap scan report for AsusTransformer.fritz.box (192.168.178.35)
Host is up (-0.089s latency).
MAC Address: F4:6D:04:4D:A5:AC (Asustek Computer)
Nmap scan report for SonosZP.fritz.box (192.168.178.40)
Host is up (-0.069s latency).
MAC Address: 00:0E:58:6B:E2:A2 (Sonos)
Nmap scan report for openmediavault.fritz.box (192.168.178.44)
Host is up (0.00025s latency).
MAC Address: 00:26:2D:00:10:91 (Wistron)
Nmap scan report for SonosZP.fritz.box (192.168.178.45)
Host is up (-0.060s latency).
MAC Address: 00:0E:58:F4:2D:52 (Sonos)
Nmap scan report for SonosZP.fritz.box (192.168.178.46)
Host is up (-0.059s latency).
MAC Address: 00:0E:58:C7:7D:38 (Sonos)
Nmap scan report for SonosZP.fritz.box (192.168.178.48)
Host is up (-0.057s latency).
MAC Address: 00:0E:58:C7:89:4E (Sonos)
Nmap scan report for All3691.fritz.box (192.168.178.49)
Host is up (-0.10s latency).
MAC Address: 00:0F:C9:01:1B:96 (Allnet GmbH)
Nmap scan report for fritz.repeater (192.168.178.52)
Host is up (-0.097s latency).
MAC Address: 3E:10:D5:14:82:B7 (Unknown)
Nmap scan report for LPK10.fritz.box (192.168.178.54)
Host is up (0.00019s latency).
MAC Address: 9C:5C:8E:74:85:26 (Unknown)
Nmap scan report for LEQ0102164.fritz.box (192.168.178.66)
Host is up (-0.100s latency).
MAC Address: 00:1A:22:04:3F:3E (eQ-3 Entwicklung GmbH)
Nmap scan report for LGwebOSTV.fritz.box (192.168.178.70)
Host is up (-0.100s latency).
MAC Address: 3C:CD:93:99:10:33 (LG Electronics)
Nmap scan report for raspib.fritz.box (192.168.178.80)
Host is up (0.00034s latency).
MAC Address: E8:DE:27:14:42:68 (Tp-link Technologies Co.)
Nmap scan report for raspibplus.fritz.box (192.168.178.81)
Host is up (-0.100s latency).
MAC Address: B8:27:EB:9C:45:06 (Raspberry Pi Foundation)
Nmap scan report for raspib2.fritz.box (192.168.178.82)
Host is up (-0.10s latency).
MAC Address: B8:27:EB:AE:D5:C8 (Raspberry Pi Foundation)
Nmap scan report for raspib.fritz.box (192.168.178.90)
Host is up (0.00042s latency).
MAC Address: E8:DE:27:14:42:68 (Tp-link Technologies Co.)
Nmap scan report for 192.168.178.201
Host is up (0.38s latency).
MAC Address: 38:10:D5:0F:98:0F (Unknown)
Nmap scan report for raspib3.fritz.box (192.168.178.83)
Host is up.
Nmap scan report for raspib3.fritz.box (192.168.178.93)
Host is up.
Nmap done: 256 IP addresses (26 hosts up) scanned in 4.68 seconds

Diese Readings stehen in FHEM: 192.168.178.3 192.168.178.3 2016-09-18 18:18:49
All3691.fritz.box 192.168.178.49 2016-09-18 18:18:49
AsusTransformer.fritz.box 192.168.178.35 2016-09-18 18:18:49
LEQ0102164.fritz.box 192.168.178.66 2016-09-18 18:18:49
LGwebOSTV.fritz.box 192.168.178.70 2016-09-18 18:18:49
NEXUS5.fritz.box 192.168.178.26 2016-09-18 18:03:49
NEXUS7.fritz.box 192.168.178.23 2016-09-18 17:34:07
SonosZP.fritz.box 192.168.178.48 2016-09-18 18:18:49
WBP-A78C.fritz.box 192.168.178.34 2016-09-18 18:18:49
et9x00.fritz.box 192.168.178.33 2016-09-18 18:18:49
fritz.box 192.168.178.1 2016-09-18 18:18:49
fritz.repeater 192.168.178.52 2016-09-18 18:18:49
hosts_up 21 2016-09-18 18:18:49
openmediavault.fritz.box 192.168.178.44 2016-09-18 18:18:49
raspib.fritz.box 192.168.178.90 2016-09-18 18:18:49
raspib2.fritz.box 192.168.178.82 2016-09-18 18:18:49
raspib3.fritz.box 192.168.178.93 2016-09-18 18:18:49
raspibplus.fritz.box 192.168.178.81 2016-09-18 18:18:49
state Next: 18:33:46 2016-09-18 18:18:46


Verstehe mich nicht falsch, Du musst das für mich nicht lösen.  8)
Ich finde bloß die geringere Anzahl irgendwie unklar, zumal sie sich vorhin auf 19 erhöht hat. Ja, dass was nmap bei mir ermittelt ist auch nicht ganz konstant, wahrscheinlich schlafen immer mal ein WLAN Geräte.

Edit: Und irgendwie wird es in jeder Runde ein reading mehr  :o
Titel: Antw:Nmap Scanner
Beitrag von: igami am 18 September 2016, 19:09:48
Aber ich sollte schonmal berücksichtigen, dass die IP eindeutig ist und der hostname nicht.
Habe Name und Wert vom Reading mal umgedreht und statt all_hosts($status) wird nun iget_ips($status) geprüft.

package main;
  use strict;
  use warnings;
  use POSIX;

  use Blocking;
 
  use Nmap::Parser;

sub myUtils_Initialize($$) {
  my ($hash) = @_;
}

sub nmapPingScan($$){
  my ($name, $network) = @_;
  my $hash = $defs{$name};
  $hash->{helper}{RUNNING_PID} = BlockingCall("blocking_nmapPingScan", $name."|".$network, "nmapPingScan_Done", 300, "nmapPingScan_Aborted", $hash) unless(exists($hash->{helper}{RUNNING_PID}));
  return;
}

sub blocking_nmapPingScan($$) {
  my ($string) = @_;
  my ($name, $network) = split("\\|", $string);
  my $hash = $defs{$name};
  my $np = new Nmap::Parser;
  $np->parsescan("/usr/bin/nmap", "-sn", $network);

  my @ret = $name;
 
  my @hosts_up = $np->get_ips("up");

  for (@hosts_up){
    my $hostname = $_->hostname() ? $_->hostname() : $_->addr();
    push(@ret, $_->addr()."|$hostname");
  }
  return join("||", @ret);
}

sub nmapPingScan_Done($) {
  my ($string) = @_;
 
  return unless(defined($string));

  my @hosts_up = split("\\|\\|", $string);
  my $name  = shift @hosts_up;
  my $hash = $defs{$name};

  delete($hash->{helper}{RUNNING_PID});

  readingsBeginUpdate($hash);
  readingsBulkUpdate($hash, "hosts_up", int(@hosts_up));
  for (@hosts_up){
    my ($ip, $hostname) = split("\\|", $_);
    fhem("trigger $name new host: $hostname ($ip)") if(!$hash->{READINGS}{$ip});
    readingsBulkUpdate($hash, $ip, $hostname);
  }
  readingsEndUpdate($hash, 1);
  return;
}

sub nmapPingScan_Aborted($) {
  my ($hash) = @_;
  delete($hash->{helper}{RUNNING_PID});
}

1;
Titel: Antw:Nmap Scanner
Beitrag von: Otto123 am 18 September 2016, 19:42:50
Aber damit funktioniert es nicht mehr, die readings bleiben leer...
Titel: Antw:Nmap Scanner
Beitrag von: igami am 18 September 2016, 19:46:39
Zitat von: igami am 18 September 2016, 19:09:48
... und statt all_hosts($status) wird nun iget_ips($status) geprüft.
Damit scheint es nicht zu funktionieren, also wieder zurück. Aber ich habe gesehen, dass hosts_up auch mehr zählt als Readings angelegt wurden, also alles ok.
Readings werden dann auch wieder gefüllt :)

package main;
  use strict;
  use warnings;
  use POSIX;

  use Blocking;
 
  use Nmap::Parser;

sub myUtils_Initialize($$) {
  my ($hash) = @_;
}

sub nmapPingScan($$){
  my ($name, $network) = @_;
  my $hash = $defs{$name};
  $hash->{helper}{RUNNING_PID} = BlockingCall("blocking_nmapPingScan", $name."|".$network, "nmapPingScan_Done", 300, "nmapPingScan_Aborted", $hash) unless(exists($hash->{helper}{RUNNING_PID}));
  return;
}

sub blocking_nmapPingScan($$) {
  my ($string) = @_;
  my ($name, $network) = split("\\|", $string);
  my $hash = $defs{$name};
  my $np = new Nmap::Parser;
  $np->parsescan("sudo /usr/bin/nmap", "-sn", $network);

  my @ret = $name;
 
  my @hosts_up = $np->all_hosts("up");

  for (@hosts_up){
    my $hostname = $_->hostname() ? $_->hostname() : $_->addr();
    push(@ret, $_->addr()."|$hostname");
  }
  return join("||", @ret);
}

sub nmapPingScan_Done($) {
  my ($string) = @_;
 
  return unless(defined($string));

  my @hosts_up = split("\\|\\|", $string);
  my $name  = shift @hosts_up;
  my $hash = $defs{$name};

  delete($hash->{helper}{RUNNING_PID});

  readingsBeginUpdate($hash);
  readingsBulkUpdate($hash, "hosts_up", int(@hosts_up));
  for (@hosts_up){
    my ($ip, $hostname) = split("\\|", $_);
    fhem("trigger $name new host: $hostname ($ip)") if(!$hash->{READINGS}{$ip});
    readingsBulkUpdate($hash, $ip, $hostname);
  }
  readingsEndUpdate($hash, 1);
  return;
}

sub nmapPingScan_Aborted($) {
  my ($hash) = @_;
  delete($hash->{helper}{RUNNING_PID});
}

1;
Titel: Antw:Nmap Scanner
Beitrag von: igami am 18 September 2016, 20:27:55
Hmm, irgendwie werden sehr viele perl Prozesse erzeugt. Bitte nicht im Produktivsystem testen!
Titel: Antw:Nmap Scanner
Beitrag von: Otto123 am 19 September 2016, 09:57:59
Kann ich nur unterstreichen. Hat auf meinem Testsystem gestern ziemliches Chaos im Logfile erzeugt und irgendwann dem FHEM das Leben ausgehaucht...
Titel: Antw:Nmap Scanner
Beitrag von: igami am 23 September 2016, 19:59:16
So, nachdem ich nun die ganze Woche beruflich unterwegs war hab ich nun wieder Zeit mich dem Scanner zu widmen.
Hast du selbst schon weiter gebastelt?
Ich überlege ob ich nicht einfach ein kleines Modul draus machen soll. Ich befürchte nur, dass das Potential hat kein kleines Modul zu bleiben :D Nmap ist ja schon mächtig.
Titel: Antw:Nmap Scanner
Beitrag von: igami am 23 September 2016, 20:38:37
Zitat von: chris1284 am 23 September 2016, 20:13:17
nicht überlegen, ... machen ;-)
Schon dabei!
Titel: Antw:Nmap Scanner
Beitrag von: Otto123 am 23 September 2016, 20:45:15
Zitat von: igami am 23 September 2016, 19:59:16
Hast du selbst schon weiter gebastelt?
Ne war mir zu heiß  :-X und ich habe von Perl noch relativ wenig Ahnung.

Gruß Otto
Titel: Antw:Nmap Scanner
Beitrag von: igami am 24 September 2016, 14:41:59
So, anbei die erste Version. Bitte mal vorsichtig testen. Läuft bei mir soweit ganz gut.

Voraussetzungen

sudo apt-get install nmap libnmap-parser-perl


define

define <name> Nmap <target specification>


set

Attribute

ToDo
- sudo / MAC-Adressen
- args
- disabled
- CommandRef

Ich freue mich auf eure Rückmeldungen.

Grüße
igami

Edit: Aktuelle Version im ersten Beitrag
Titel: Antw:Nmap Scanner
Beitrag 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?
Titel: Antw:Nmap Scanner
Beitrag von: MadMax-FHEM am 24 September 2016, 16:09:35
Hi igami,
habe bislang ja "nur" interessiert mitgelesen...

Super, danke!

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

Gruß, Joachim
Titel: Antw:Nmap Scanner
Beitrag 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?
Titel: Antw:Nmap Scanner
Beitrag von: igami am 24 September 2016, 17:18:15
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
Titel: Antw:Nmap Scanner
Beitrag von: igami am 25 September 2016, 18:05:58
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)
Titel: Antw:Nmap Scanner
Beitrag von: igami am 26 September 2016, 16:25:28
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
Titel: Antw:neues Modul 74_Nmap
Beitrag von: androsch am 27 September 2016, 14:59:47
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!
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 27 September 2016, 17:21:13
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.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 27 September 2016, 20:37:55
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  :-[
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Andy89 am 28 September 2016, 10:34:27
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
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 28 September 2016, 10:59:36
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.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Andy89 am 28 September 2016, 11:53:28
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
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 28 September 2016, 12:40:00
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.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Andy89 am 28 September 2016, 13:07:21
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.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 28 September 2016, 16:06:20
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.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Andy89 am 28 September 2016, 16:16:45
Zitat von: igami am 28 September 2016, 16:06:20
Ich habe es von einem Windows PC versucht  ::)
ich hab's auf meinem MacBook angeschaut.

Zitat von: igami am 28 September 2016, 16:06:20
Das Reading benutze ich nur für den Trigger "new host"
Ich werde mir das nachher nochmal anschauen.
dann sollte das mit meiner kleinen Umschreibung ja funktionieren, da ich die Umbennung der letzten 3-stelligen Zahl direkt vor dem Trigger reingeschrieben habe. Mit einem zusätzlichen Attribut (zB sortByIP, standardmäßig 0) könnte ja jeder selbst entscheiden, ob er die letzte Zahl 3-stellig haben will, oder nicht?
ich würde es bevorzugen :-X :-X
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 28 September 2016, 18:16:40
ich hab eben hier: https://forum.fhem.de/index.php/topic,14425.msg496332.html#msg496332 (https://forum.fhem.de/index.php/topic,14425.msg496332.html#msg496332) einen vorschlag gepostet mit dem man mit einer readingsGroup readings wie sie hier oder im ubiquity modul oder in kalender modulen entstehen darstellen kann.

vielleicht nützt es ja noch jemandem oder es gibt noch ideen dazu.

gruss
  andre
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 28 September 2016, 19:47:11
Mal schauen wie weit ich heute noch komme. Die Attribute "leadingZeros" und "disabled" habe ich nun erstmal implementiert. Fehlen noch die Attribute "devAlias" und "excludeHosts" sowie das Erzeugen von Logeinträgen und das schreiben von der CommandRef.

Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 28 September 2016, 22:19:25
Ich denke ich bin soweit erstmal fertig. Neue Version im ersten Beitrag.
- Fehlermeldung "adjust_timeouts2" unterdrückt
- disabled wird ausgewertet
- Logeinträge werden bei verbose 4 erzeugt
- leadingZeros als Attribut hinzugefügt
- devAlias als Attribut hinzugefügt
- excludeHosts als Attribut hinzugefügt
- deutsche CommandRef geschrieben

ToDo:
- Englische CommandRef schreiben
- Flüchtigkeitsfehler aus der CommandRef entfernen ;)
- Fehlermeldung "adjust_timeouts2" als Logeintrag anzeigen, anstatt zu unterdrücken
- state, uptime, last_seen, OS als Readings hinzufügen
- absenceThreshold wie bei Presence hinzufügen
- args konfigurierbar machen?
- zwischen IPv4/IPv6 umschaltbar machen?

Auf meinem Testsystem läuft alles soweit ganz gut.
Ich hoffe die Commandref ist Verständlich, ansonsten Bescheid geben.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: androsch am 28 September 2016, 23:43:55
Hallo,

bei mir stürzt FHEM jetzt kommentarlos mit dem Modul ab, egal ob alte Version oder die letzte von 22:37 Uhr  :-X

Soll ich mal sicherheitshalber auch die alten readingsGroups löschen und FHEM bereinigen?

Gute Nacht...

Andreas
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 28 September 2016, 23:53:02
ich habe in die oben verlinkte readingsGroup version die möglichkeit eingebaut auch ip adressen richtig zu sortieren.

gruss
  andre
Titel: Antw:neues Modul 74_Nmap
Beitrag von: mahowi am 28 September 2016, 23:57:43
Zitat von: commandrefdevAlias <ID>:<ALIAS> <ID2>:<ALIAS2> ...
Was ist denn hier mit ID gemeint?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 29 September 2016, 04:55:12
Zitat von: mahowi am 28 September 2016, 23:57:43
Was ist denn hier mit ID gemeint?
Hatte das gestern so aus dem Unifi Modul übernommen  ::)
Mit ID ist der Wert den das <IPv4>_hostname Reading hat gemeint, also entweder der hostname, oder falls dieser nicht verfügbar ist, die IPv4-Adresse.
Habe das in der CommandRef mal auf <hostname> geändert, aber noch keine neue Version hochgeladen.

Zitat von: androsch am 28 September 2016, 23:43:55
bei mir stürzt FHEM jetzt kommentarlos mit dem Modul ab, egal ob alte Version oder die letzte von 22:37 Uhr  :-X
Wie hast du die neue Version denn eingespielt?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: mahowi am 29 September 2016, 08:10:28
Zitat von: igami am 29 September 2016, 04:55:12
Hatte das gestern so aus dem Unifi Modul übernommen  ::)
Mit ID ist der Wert den das <IPv4>_hostname Reading hat gemeint, also entweder der hostname, oder falls dieser nicht verfügbar ist, die IPv4-Adresse.

Ok.  :)
Wäre es hier vielleicht möglich, auch die MAC-Adresse zu nehmen? Ich bekomme von den meisten Geräten nur die IP-Adresse als hostname zurück. Da sich die aber bei dynamischen IPs ändern kann, wäre der einzig feste Wert die MAC.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 29 September 2016, 08:42:34
Zitat von: mahowi am 29 September 2016, 08:10:28
Wäre es hier vielleicht möglich, auch die MAC-Adresse zu nehmen?
Die MAC Adresse bekomme ich nicht von allen Geräten (z.B. nicht von dem host, der die Anfrage sendet) und auch nur wenn der scan mit Root Rechten ausgeführt wird.
Zitat von: mahowi am 29 September 2016, 08:10:28
Da sich die aber bei dynamischen IPs ändern kann, wäre der einzig feste Wert die MAC.
Und wie oft ändert sie sich tatsächlich?

Bin für Vorschläge offen, aber hostname und MAC-Adresse als bezeichner von Readings scheiden aus, da hostnames nicht eindeutig sind und MAC-Adressen nicht immer verfügbar sind.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: mahowi am 29 September 2016, 09:09:36
Jetzt, wo Du es sagst, fällt mir auch auf, daß die MAC vom sendenden Pi nicht angezeigt wird. Der gibt noch nicht mal den Hostname zurück.

Zumindest bei den mobilen Geräten ändert sich die IP öfters. Aber im Moment fällt mir da jetzt auch nichts weiter ein.  :-\
Titel: Antw:neues Modul 74_Nmap
Beitrag von: androsch am 29 September 2016, 10:45:37
Hallo,

habe jetzt mal alle Definitionen gelöscht (auch die readingsGroups) und alles neu angelegt mit dem neuen Modul, nun läufts. Danke!

Gruß
Andreas
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 29 September 2016, 11:03:04
den alias auch auf mac basis zu vergeben wäre sehr sinnvoll. vor allem für dns/dhcp server die nicht zusammen arbeiten.

vielleicht baust du ja ein das intern an allen drei stellen gesucht wird. mac,ip, name.

gruss
  andre
Titel: Antw:neues Modul 74_Nmap
Beitrag von: MadMax-FHEM am 29 September 2016, 17:13:05
Hallo igami,

super Arbeit!

Hab's eben runtergeladen und installiert...

Läuft einwandfrei!

Danke, Joachim
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 29 September 2016, 17:46:07
Zitat von: justme1968 am 29 September 2016, 11:03:04
vielleicht baust du ja ein das intern an allen drei stellen gesucht wird. mac,ip, name.
Erledigt. Neue Version im ersten Beitrag.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: oniT am 02 Oktober 2016, 11:08:41
Hallo igami,

wenn ich mich nicht irre, sind doch MAC Adressen herstellerspezifisch. Ich hätte mal noch eine Anforderung, ist es möglich alle IP Adressen ausgeben zu lassen wo nur die ersten 4 Stellen bekannt sind?

Zum Beispiel nur die IP Adressen von: 12:34:xx:xx:xx:xx

xx ist somit nicht bekannt.

Danke
Gruß
Tino

Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 02 Oktober 2016, 11:27:44
wenn es dir nur um die anzeige geht: schau dir mal diebinnen verlinkte readingsGroup version an. damit geht das.

gruss
  andre 
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 02 Oktober 2016, 12:17:57


Zitat von: oniT am 02 Oktober 2016, 11:08:41
Ich hätte mal noch eine Anforderung, ist es möglich alle IP Adressen ausgeben zu lassen wo nur die ersten 4 Stellen bekannt sind?

Zum Beispiel nur die IP Adressen von: 12:34:xx:xx:xx:xx

Da verstehe ich nicht, was du möchtest. Nmap ist ein IP basierter scanner. Eine Mac Adresse als Ziel anzugehen ist nicht möglich.
Vielleicht gibt es ein Argument um nur bestimmte Adressen zurück zu geben. Da müsstest du aber mal in der nmap man Page gucken.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: oniT am 02 Oktober 2016, 16:32:24
Hallo igami,
Hallo andre,

ich glaube jetzt war ich viel zu kompliziert und stand auf dem Schlauch. Wenn mir das Modul nmap in den Readings die Ip Adresse und die dazugehörige MAC Adresse zurück gibt, dann brauche ich ja eigentlich doch nur noch nach den gesuchten Stellen der MAC Adresse zu suchen und las mir dann alle IP Adressen dieses MAC Adressbereichs ausgeben :) oder?

Ansonten, ja readingsGroup zur reinen Anzeige geht natürlich auch ...

Danke
Gruß
Tino
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 03 Oktober 2016, 17:07:55
ich hätte da noch einen wunsch/vorschlag :)

wenn ein host mit schon bekannter mac eine neue ip bekommt wäre es schön wenn (optional) die alten readings unter der alten ip gelöscht würden.

gruss
  andre
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 03 Oktober 2016, 17:50:09
Zitat von: oniT am 02 Oktober 2016, 16:32:24
oder?
Ja? Hast du es gelöst bekommen?

Zitat von: justme1968 am 03 Oktober 2016, 17:07:55
wenn ein host mit schon bekannter mac eine neue ip bekommt wäre es schön wenn (optional) die alten readings unter der alten ip gelöscht würden.
Hatte ich auch schon drüber nachgedacht und auch das Event würde ich dann auf "new IP" statt "new host" ändern.
Vorschläge für einen Attribut Namen? deleteOldReadings ?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 03 Oktober 2016, 17:54:02
klingt gut.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 04 Oktober 2016, 17:58:34
Neue Version im ersten Beitrag:
- args als Attribut hinzugefügt
- deleteOldReadings als Attribut hinzugefügt
- "<name> new IP: <hostname> (<IPv4>)" als Event hinzugefügt

PS: Wer kann mir nun erklären wie das mit dem SVN funktioniert?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: dev0 am 04 Oktober 2016, 18:23:41
Im Wiki findest du einen Beitrag zum svn: http://www.fhemwiki.de/wiki/SVN_Nutzungsregeln
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 04 Oktober 2016, 19:14:40
Zitat von: dev0 am 04 Oktober 2016, 18:23:41
Im Wiki findest du einen Beitrag zum svn: http://www.fhemwiki.de/wiki/SVN_Nutzungsregeln
Das setzt ja voraus, dass ich weiß, wie man mit SVN umgeht ::)
Mal schauen, was sich so an Einsteiger-Lektüre findet ;D
Titel: Antw:neues Modul 74_Nmap
Beitrag von: oniT am 04 Oktober 2016, 19:30:38
Zitat von: igami am 03 Oktober 2016, 17:50:09
Ja? Hast du es gelöst bekommen?

Hi,

nein leider noch nicht. Ich wollte es in einer readingsGroup zumindest anzeigen, leider scheitere ich nur die IP's eines bestimmten Mac Adressbereichs anzeigen zu lassen.

Gruß
Tino
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 04 Oktober 2016, 19:41:17
eine valueFormat routine einbauen die bei nicht gewünschten mac adressen undef zurück gibt und sonst $VALUE.

alle zeilen mit undef werden ausgelassen.

gruss
  andre
Titel: Antw:neues Modul 74_Nmap
Beitrag von: VB90 am 04 Oktober 2016, 19:45:00
mal für mich zum Verständnis...

Ließe sich mit diesem Modul z.B. Presence "vereinfachen"?
Nicht wegen dem anlegen der Devices, sondern wegen der ganzen Abfragen die zu starten sind, wenn man mehrere Geräte engmaschig, also zeitnah, überwachen will?

vb
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 04 Oktober 2016, 19:47:28
eher nicht. ein nmap scan dauert recht lange.

presence ist für geräte die du kennst und gezielt überwachen willst. auch engmaschig.

nmap ist um zu erfahren ob es plötzlich neue geräte im netz gibt.

gruss
  andre
Titel: Antw:neues Modul 74_Nmap
Beitrag von: dev0 am 04 Oktober 2016, 19:48:03
Zitat von: igami am 04 Oktober 2016, 19:14:40
Das setzt ja voraus, dass ich weiß, wie man mit SVN umgeht ::)
Als ich im Developerbereich nach einer Kurzanleitung gefragt hatte wurde mir diese Lektüre nahegelegt: http://svnbook.red-bean.com/index.de.html
Ein kurzes Howto im Wiki ist anscheinend nicht erwünscht. Ich persönlich habe mich aber gegen das FHEM svn entschieden und lasse meine Files auf Github liegen. Wer möchte, kann auch diese files ins Update einbinden.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 04 Oktober 2016, 19:53:18
naja... so ein hexenwerk ist es ja nicht.

wichtig ist das hier: http://www.fhemwiki.de/wiki/SVN_Nutzungsregeln (http://www.fhemwiki.de/wiki/SVN_Nutzungsregeln)

dann ein mal alles von sourceforge auschecken, dann ein mal svn add und ab dann nur noch svn commit.

gruss
  andre
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 04 Oktober 2016, 20:32:37
Zitat von: justme1968 am 04 Oktober 2016, 19:53:18
naja... so ein hexenwerk ist es ja nicht.
Habe ich auch nicht vermutet, aber nun wieder lesen :-\
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 05 Oktober 2016, 11:09:53
es sind wirklich nur die drei kommandos. zwei einmalig und dann nur noch commit.

aber was ganz anderes... beim benutzen des moduls und weiter drüber nachdenken:

wäre es nicht logischer wenn man die readings umgekehrt aufzieht? d.h. nicht über die ip adressen sondern über die mac adressen. die mac adressen sind ja das was eindeutig einen host identifiziert und stabil bleibt. die ip adressen können über die zeit wechseln.

dann wäre man auch das problem der alten readings wenn ein host unterschiedliche ip adressen bekommt los. umgekehrt sieht man (wenn man nichts löscht) direkt welche hosts wann zuletzt im netz waren.

wenn man regeln einbaut um hosts nach x tagen zu löschen ist das eigentlich auch logischer wenn man den host identifiziert und nicht die ip die er zuletzt hatte.

die anzeige über die readingsGroup würde immer noch funktionieren man muss nur die regex beim gruppieren anpassen und ein mal ipAdress statt macAdress verwenden. beim sortieren müsste ich eventuell noch was einbauen. das sollte aber kein problem sein.

gruss
  andre
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 05 Oktober 2016, 13:13:44
Zitat von: justme1968 am 05 Oktober 2016, 11:09:53
wäre es nicht logischer wenn man die readings umgekehrt aufzieht? d.h. nicht über die ip adressen sondern über die mac adressen. die mac adressen sind ja das was eindeutig einen host identifiziert und stabil bleibt. die ip adressen können über die zeit wechseln.
Das Problem ist, dass die MAC-Adressen nicht immer zurück gegeben werden. Generell nur bei einem Scan mit root-Rechten und für den Rechner, von dem der Scan gestartet wurde, auch dann nicht. Kann man wahrscheinlich mit leben, da der host wohl online sein wird, wenn er den Scan ausführt.
Was ist mit einem Kompromiss:MAC-Adresse falls verfügbar, sonst IP?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 05 Oktober 2016, 14:08:59
oder konfigurierbar? mac wenn vorhanden sonst ip oder nur ip
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 05 Oktober 2016, 14:41:11
Zitat von: justme1968 am 05 Oktober 2016, 14:08:59
oder konfigurierbar? mac wenn vorhanden sonst ip oder nur ip
Als Attribut metaReading:ip,macAddress?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 05 Oktober 2016, 14:51:20
ja. das klingt gut
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 08 Oktober 2016, 19:34:44
Neue Version im ersten Beitrag:
- metaReading als Attribut hinzugefügt
Titel: Antw:neues Modul 74_Nmap
Beitrag von: supernova1963 am 09 Oktober 2016, 12:45:36
Ich finde das nmap Modul hoch interessant und bedanke mich bei allen Beteiligten für die tolle Arbeit.
Frage an die Experten: Woran scheitert die Ausführung mit Attr sudo=1 bei mir?
Wenn ich das "Attr sudo=1" setze und "set nmap statusRequest" ausführe ändert sich der Status auf "running" und hängt für lange Zeit (Minuten und Stunden, bis ich das attr disable=1 setze).

Meine Konfiguration:
Ubuntu Server 16.04 in Parallels 12 unter OS X 10.12 (heute updates, upgrades und aktualisierbaren Pakete aktualisiert)
Fhem läuft sonst einwandfrei und ist auf dem aktuellen Stand (web: https=1)

Meine sudoers File:
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
fhem    ALL=(ALL) NOPASSWD:/etc/init.d/homebridge
fhem    ALL=(ALL) NOPASSWD: /usr/bin/nmap

# Members of the admin group may gain root privileges
%admin  ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d



Ausführen auf ssh mit sudo; Keine Kennwort Anforderung (XX:XX:XX:XX:XX:XX = MAC Address ersetzt):
sudo nmap -sn 192.168.1.0/24

Starting Nmap 7.01 ( https://nmap.org ) at 2016-10-09 12:01 CEST
Nmap scan report for 192.168.1.1
Host is up (0.010s latency).
MAC Address: XX:XX:XX:XX:XX:XX (Huawei Technologies)
Nmap scan report for 192.168.1.2
Host is up (0.0023s latency).
MAC Address: XX:XX:XX:XX:XX:XX (Apple)
Nmap scan report for 192.168.1.3
Host is up (0.0039s latency).
MAC Address: 20:C9:D0:9F:D4:56 (Apple)
Nmap scan report for 192.168.1.7
Host is up (0.0038s latency).
MAC Address: XX:XX:XX:XX:XX:XX (Gheo SA)
Nmap scan report for 192.168.1.8
Host is up (0.0070s latency).
MAC Address: XX:XX:XX:XX:XX:XX (Unknown)
Nmap scan report for 192.168.1.9
Host is up (0.051s latency).
MAC Address: XX:XX:XX:XX:XX:XX (Slim Devices)
Nmap scan report for 192.168.1.10
Host is up (0.00015s latency).
MAC Address: XX:XX:XX:XX:XX:XX (Apple)
Nmap scan report for 192.168.1.20
Host is up (0.064s latency).
MAC Address: XX:XX:XX:XX:XX:XX (Espressif)
Nmap scan report for 192.168.1.101
Host is up (0.013s latency).
MAC Address: XX:XX:XX:XX:XX:XX (Apple)
Nmap scan report for 192.168.1.102
Host is up (0.0074s latency).
MAC Address: XX:XX:XX:XX:XX:XX (Pace plc)
Nmap scan report for 192.168.1.103
Host is up (-0.094s latency).
MAC Address: XX:XX:XX:XX:XX:XX (Apple)
Nmap scan report for 192.168.1.5
Host is up.
Nmap done: 256 IP addresses (12 hosts up) scanned in 25.96 seconds


Ergebnis in Fhem nmap device mit Attr sudo=0:
Internals:
   ARGS       -sn
   DEF        192.168.1.1/24
   INTERVAL   900
   NAME       nmap
   NR         153
   PATH       /usr/bin/nmap
   STATE      done
   TYPE       Nmap
   Helper:
     Dblog:
       192.168.1.101_hostname:
         Dblogging:
           TIME       1476007747.5286
           VALUE      192.168.1.101
       192.168.1.101_ip:
         Dblogging:
           TIME       1476007747.5286
           VALUE      192.168.1.101
       192.168.1.102_hostname:
         Dblogging:
           TIME       1476007747.49564
           VALUE      192.168.1.102
       192.168.1.102_ip:
         Dblogging:
           TIME       1476007747.49564
           VALUE      192.168.1.102
       192.168.1.103_hostname:
         Dblogging:
           TIME       1476007747.54418
           VALUE      192.168.1.103
       192.168.1.103_ip:
         Dblogging:
           TIME       1476007747.54418
           VALUE      192.168.1.103
       192.168.1.10_hostname:
         Dblogging:
           TIME       1476007747.51121
           VALUE      192.168.1.10
       192.168.1.10_ip:
         Dblogging:
           TIME       1476007747.51121
           VALUE      192.168.1.10
       192.168.1.1_hostname:
         Dblogging:
           TIME       1476007747.51895
           VALUE      192.168.1.1
       192.168.1.1_ip:
         Dblogging:
           TIME       1476007747.51895
           VALUE      192.168.1.1
       192.168.1.20_hostname:
         Dblogging:
           TIME       1476007747.55184
           VALUE      192.168.1.20
       192.168.1.20_ip:
         Dblogging:
           TIME       1476007747.55184
           VALUE      192.168.1.20
       192.168.1.2_hostname:
         Dblogging:
           TIME       1476007747.53654
           VALUE      192.168.1.2
       192.168.1.2_ip:
         Dblogging:
           TIME       1476007747.53654
           VALUE      192.168.1.2
       192.168.1.3_hostname:
         Dblogging:
           TIME       1476007747.56677
           VALUE      192.168.1.3
       192.168.1.3_ip:
         Dblogging:
           TIME       1476007747.56677
           VALUE      192.168.1.3
       192.168.1.5_hostname:
         Dblogging:
           TIME       1476007747.57412
           VALUE      192.168.1.5
       192.168.1.5_ip:
         Dblogging:
           TIME       1476007747.57412
           VALUE      192.168.1.5
       192.168.1.8_hostname:
         Dblogging:
           TIME       1476007747.50333
           VALUE      192.168.1.8
       192.168.1.8_ip:
         Dblogging:
           TIME       1476007747.50333
           VALUE      192.168.1.8
       192.168.1.9_hostname:
         Dblogging:
           TIME       1476007747.5592
           VALUE      192.168.1.9
       192.168.1.9_ip:
         Dblogging:
           TIME       1476007747.5592
           VALUE      192.168.1.9
       Nmapversion:
         Dblogging:
           TIME       1476007747.47888
           VALUE      7.01
       Hostsscanned:
         Dblogging:
           TIME       1476007747.47888
           VALUE      256
       Hostsup:
         Dblogging:
           TIME       1476007747.47888
           VALUE      11
       New host:
         Dblogging:
           TIME       1476007747.56677
           VALUE      192.168.1.5 (192.168.1.5)
       Scanduration:
         Dblogging:
           TIME       1476007747.47888
           VALUE      3
       State:
         Dblogging:
           TIME       1476007747.57412
           VALUE      done
   Readings:
     2016-10-09 12:09:07   192.168.1.101_hostname 192.168.1.101
     2016-10-09 12:09:07   192.168.1.101_ip 192.168.1.101
     2016-10-09 12:09:07   192.168.1.102_hostname 192.168.1.102
     2016-10-09 12:09:07   192.168.1.102_ip 192.168.1.102
     2016-10-09 12:09:07   192.168.1.103_hostname 192.168.1.103
     2016-10-09 12:09:07   192.168.1.103_ip 192.168.1.103
     2016-10-09 12:09:07   192.168.1.10_hostname 192.168.1.10
     2016-10-09 12:09:07   192.168.1.10_ip 192.168.1.10
     2016-10-09 12:09:07   192.168.1.1_hostname 192.168.1.1
     2016-10-09 12:09:07   192.168.1.1_ip  192.168.1.1
     2016-10-09 12:09:07   192.168.1.20_hostname 192.168.1.20
     2016-10-09 12:09:07   192.168.1.20_ip 192.168.1.20
     2016-10-09 12:09:07   192.168.1.2_hostname 192.168.1.2
     2016-10-09 12:09:07   192.168.1.2_ip  192.168.1.2
     2016-10-09 12:09:07   192.168.1.3_hostname 192.168.1.3
     2016-10-09 12:09:07   192.168.1.3_ip  192.168.1.3
     2016-10-09 12:09:07   192.168.1.5_hostname 192.168.1.5
     2016-10-09 12:09:07   192.168.1.5_ip  192.168.1.5
     2016-10-09 12:09:07   192.168.1.8_hostname 192.168.1.8
     2016-10-09 12:09:07   192.168.1.8_ip  192.168.1.8
     2016-10-09 12:09:07   192.168.1.9_hostname 192.168.1.9
     2016-10-09 12:09:07   192.168.1.9_ip  192.168.1.9
     2016-10-09 12:09:07   NmapVersion     7.01
     2016-10-09 12:09:07   hostsScanned    256
     2016-10-09 12:09:07   hostsUp         11
     2016-10-09 12:09:07   scanDuration    3
     2016-10-09 12:09:07   state           done
   Helper:
Attributes:
   args       -sn
   deleteOldReadings 1
   disable    0
   room       Informationen
   sudo       0


Danke

Gernot
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 09 Oktober 2016, 14:57:24
Hallo Gernot,

ich kann leider keine Fehler in deiner Konfiguration feststellen. Ich werde mal einen Logeintrag hinzufügen, in dem steht ob der Benutzer die notwendigen Rechte hat.
Läuft FHEM bei dir denn unter dem Benutzer fhem?

Grüeß
igami
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 09 Oktober 2016, 15:12:49
Zitat von: igami am 08 Oktober 2016, 19:34:44
Neue Version im ersten Beitrag:
- metaReading als Attribut hinzugefügt
Gerade ist mir aufgefallen, dass ich die : nicht im Reading Namen verwenden sollte
Zitat
2016.10.09 15:08:17 3: WARNING: unsupported character in reading 2C:8A:72:DC:1E:8C_hostname (not A-Za-z/\d_\.-), notify the Nmap module maintainer.
Ich würde die Doppelpunkte durch Bindestriche ersetzen, oder spricht da etwas gegen?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 09 Oktober 2016, 15:22:16
ja. bindestriche.

gruss
  andre
Titel: Antw:neues Modul 74_Nmap
Beitrag von: supernova1963 am 09 Oktober 2016, 16:25:05
Zitat von: igami am 09 Oktober 2016, 14:57:24
Hallo Gernot,

ich kann leider keine Fehler in deiner Konfiguration feststellen. Ich werde mal einen Logeintrag hinzufügen, in dem steht ob der Benutzer die notwendigen Rechte hat.
Läuft FHEM bei dir denn unter dem Benutzer fhem?

Grüeß
igami

Hallo igami,

vielen Dank für die Prüfung; ja, fhem läuft unter dem Benutzer fhem.

Ich habe jedoch nach einem Neustart festgestellt, dass ich nach den Aufruf von:

fhem@SERVERFHEM:~$ sudo nmap -sn 192.168.1.0/24

nach einem Passwort gefragt wurde. Es ist also kein Problem des Moduls sonder eher meiner Datei "sudoers", die scheinbar so bei mir nicht funktioniert.

Kann mir einer einen Tip geben, wo ich für die Problemlösung ansetzen kann?

Danke

Gernot

Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 09 Oktober 2016, 17:23:28
mach mal bitte im Terminal ein

which nmap
Titel: Antw:neues Modul 74_Nmap
Beitrag von: supernova1963 am 09 Oktober 2016, 18:55:03
Zitat von: igami am 09 Oktober 2016, 17:23:28
mach mal bitte im Terminal ein

which nmap


Ergebnis:
fhem@SERVERFHEM:~$ which nmap
/usr/bin/nmap
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 09 Oktober 2016, 20:07:03
und nun noch ein

sudo /usr/bin/nmap -sn 192.168.1.0/24

Ich vermute, dass der Pfad mit angegeben werden muss, damit die sudoers file greift
Titel: Antw:neues Modul 74_Nmap
Beitrag von: supernova1963 am 09 Oktober 2016, 22:09:41
Das war's auch nicht. Das Passwort muss ich eingeben, dass sudoers file greift trotz Pfadangabe nicht.

Kann es sein, dass es mit meiner Installation von OpenSSL und/oder Webmni zusammenhängt?
Das waren meine letzten Änderungen.

Danke für deine Unterstützung, igami.

Gernot
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 10 Oktober 2016, 04:52:55
Zitat von: supernova1963 am 09 Oktober 2016, 22:09:41
Kann es sein, dass es mit meiner Installation von OpenSSL und/oder Webmni zusammenhängt?
Dazu kann ich leider nichts sagen.

Funktioniert denn der andere sudo Befehl der noch für fhem in deiner sudoers file steht?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: supernova1963 am 10 Oktober 2016, 06:04:15
Nein, sudo /etc/init.d/homebridge läßt sich auch nicht ohne Passwort ausführen.
Es scheint so, als würden die Vorgaben in sudoers nicht berücksichtigt.
Derzeit durchforste ich das Internet und die sudo Dokumentationen nach diesen Auswirkungen, bisher leider noch ohne Erfolg.
Ich habe es doch richtig interpretiert, dass mit der Definition "NOPASSWD" in sudoers der angegebene User sudo mit der angegebenen ausführbaren Datei ohne Passwort Eingabe ausführen kann?

Vielen Dank für Deine Unterstützung,

Gernot
Titel: Antw:neues Modul 74_Nmap
Beitrag von: supernova1963 am 10 Oktober 2016, 06:30:50
Ich hab's gefunden, die Reihenfolge war entscheidend (http://askubuntu.com/questions/504652/adding-nopasswd-in-etc-sudoers-doesnt-work (http://askubuntu.com/questions/504652/adding-nopasswd-in-etc-sudoers-doesnt-work)).
Neue sudoers:
root@SERVERFHEM:/etc# cat sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
#fhem   ALL=(ALL) NOPASSWD:/opt/fhem/FHEM/backup.sh, /etc/init.d/homebridge, /usr/bin/nmap

# Members of the admin group may gain root privileges
%admin  ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
fhem    ALL=(ALL) NOPASSWD:/opt/fhem/FHEM/backup.sh, /etc/init.d/homebridge, /usr/bin/nmap
# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

So läuft das Modul auch mit sudo=1.

Was habe ich gelernt: Änderungen nicht nur mit copy&paste einsetzen, sondern vorher lesen und die Empfehlungen ernst nehmen. Ich werde zukünftige Ergänzungen in sudoers.d vornehmen (und die Reihenfolge beachten).

Noch einmal vielen Dank für die Unterstützung, igami.

Gernot
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 10 Oktober 2016, 06:58:07
Schön, dass es nun funktioniert. Ganz nachvollziehen kann ich das noch nicht. Ich glaube ich muss mir den Thread den du verlinkt hast noch mal in Ruhe durchlesen.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: supernova1963 am 11 Oktober 2016, 18:27:37
So habe ich es letztendlich aufgrund des Threads und der Empfehlung in der Datei 'sudoers' gemacht:

1. Folgende Zeilen in die Zwischenablage kopieren (Markieren und [Strg]+c drücken):
#Damit der Benutzer fhem bei der Ausführung von 'sudo /usr/bin/nmap' kein Passwort eingeben muss.
#Wird für das Modul 74_nmap.pm in Fhem benötigt um das Attribut 'sudo=1' zu nutzen.
fhem ALL=(ALL) NOPASSWD: /usr/bin/nmap

2. Danach neue Datei in /etc/suedoers.d/myoverrides erstellen:
sudo visudo -f /etc/sudoers.d/myoverrides
3. Zwischenablage einfügen ([Strg]+v)

Anschließend habe ich die (vergeblichen) Änderungen aus meiner Datei sudoers ebenfalls zu /etc/sudoers.d/myoverrides hinzugefügt und in der Datei sudoers gelöscht:
#Damit der Benutzer fhem bei der Ausführung von 'sudo /etc/init.d/homebridge' kein Passwort eingeben muss.
#Wird für 'FHEM.Homebridge.DOIF' in Fhem benötigt um den Status zu lesen/ändern.
fhem ALL=(ALL) NOPASSWD: /etc/init.d/homebridge

#Damit der Benutzer fhem bei der Ausführung von '/opt/fhem/FHEM/backup.sh' kein Passwort eingeben muss.
#Wird für Befehl 'backup' in Fhem benötigt.
fhem ALL=(ALL) NOPASSWD: /opt/fhem/FHEM/backup.sh


4. Prüfen und Verlassen: [Strg]+x

Sollte ein Fehler gefunden werden nicht speichern bzw. ignorieren, sondern Änderungen löschen/korrigieren!

Das Modul nmap läuft seitdem einwandfrei.
Vielen Dank noch einmal auch für die geduldige Unterstützung.

Gernot
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 16 Oktober 2016, 18:21:22
Neue Version im ersten Beitrag:
- bei metaReading macAddress werden die Doppelpunkte durch Bindestriche ersetzt
- es erfolgt ein Abbruch wenn versucht wird ein scann mit sudo 1 auszuführen, ohne dass der Benutzer die Rechte hat
Titel: Antw:neues Modul 74_Nmap
Beitrag von: hartenthaler am 25 Oktober 2016, 16:24:32
Super! Dank @igami!

Ich hatte erst das gleiche Problem mit meiner /etc/sudoers, dass die Berechtigungen nicht anerkannt worden sind. Dank an @supernova1963 wg. deiner Lösung!

Dann habe ich mich erst vergeblich an der Lösung zur Erstellung einer readingsGroup versucht. Aber da hat @justme1968 ganze Arbeit geleistet und nachdem ich seinen Link hier gefunden hatte, war es kein Problem mehr (wobei ich noch nicht behaupten möchte, dass ich seine Lösung zu 100% verstehe). Hier mein List der readingsGroup (mein nmap-Device heißt "Netzueberwachung"):

Internals:
   CFGFN
   DEF        <IP-Adresse>,<Rechner-Name>,<MAC>,<Hersteller>
Netzueberwachung:@2,<#1>,(.*)_hostname,#1_macAddress,#1_macVendor
   NAME       Netzgeraeteuebersicht
   NR         1344
   NTFY_ORDER 50-Netzgeraeteuebersicht
   STATE      Initialized
   TYPE       readingsGroup
...
Attributes:
   nonames    1
   room       Datennetz
   sortFn     rgSortIP


Was mir jetzt noch fehlt ist das notify das mir meldet (etwa per pushover) sobald ein neues Gerät (d.h. neue Mac-Adresse) auftaucht. Wie habt ihr das gelöst?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 25 Oktober 2016, 17:17:13
Zitat von: hartenthaler am 25 Oktober 2016, 16:24:32
Was mir jetzt noch fehlt ist das notify das mir meldet (etwa per pushover) sobald ein neues Gerät (d.h. neue Mac-Adresse) auftaucht. Wie habt ihr das gelöst?
Siehe Commandref:
Zitat
Wird ein neues Gerät erkannt wird ein Event "<name> new host: <hostname> (<IPv4>)" erzeugt.
Wird erkannt, dass ein Gerät mit bekannter MAC-Adresse eine neue IP erhalten hat wird ein Event "<name> new IP: <hostname> (<IPv4>)" erzeugt.
Selbst habe ich in der hinsicht aber noch keine Auswertung/Benachrichtigung umgesetzt.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 02 November 2016, 11:26:25
mir ist gerade noch ein problem aufgefallen: du baust im define $hash->{PATH} zusammen. beim ersten define bzw. neu start sind die gesetzten attribute noch nicht wieder eingelesen. wenn du den path schon vorbereitest musst du das auch in der AttrFn noch machen.

gruss
  andre
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 02 November 2016, 17:27:56
Zitat von: justme1968 am 02 November 2016, 11:26:25
wenn du den path schon vorbereitest musst du das auch in der AttrFn noch machen.
Ist irgendwie untergegangen  ::)
Neue Version im ersten Beitrag.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 05 Dezember 2016, 05:52:25
Nachdem ich nun gestern eine FritzBox bekommen und alles umgestellt habe, musste ich nun feststellen, dass diese zwei IP-Addressen mit der selben MAC-Adresse hat

2016-12-05 05:46:05 Nmap vagariNetwork new IP: fritz.box (192.168.178.1)
2016-12-05 05:46:05 Nmap vagariNetwork 34-81-C4-16-28-30_hostname: fritz.box
2016-12-05 05:46:05 Nmap vagariNetwork 34-81-C4-16-28-30_ip: 192.168.178.1
2016-12-05 05:46:05 Nmap vagariNetwork new IP: 192.168.178.201 (192.168.178.201)
2016-12-05 05:46:05 Nmap vagariNetwork 34-81-C4-16-28-30_hostname: 192.168.178.201
2016-12-05 05:46:05 Nmap vagariNetwork 34-81-C4-16-28-30_ip: 192.168.178.201

Wie sollte man mit sowas umgehen? Nur die erste IP Addresse anzeigen? Oder eine Möglichkeit einbauen neben dem hostname auch eine default IP Addresse vorzugeben?

Edit: Habe jetzt einfach mal das excludeHosts Attribut genutzt um die 192.168.178.201zu überspringen.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 05 Dezember 2016, 15:34:21
wie wäre es einfach im reading alle zugehörigen ip adressen mit komma getrennt aufzuführen?

gruss
  andre
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 06 Dezember 2016, 21:30:45
ich glaube es wird einfacher, wenn ich rootrechte als Bedinung voraussetze.

In meinem Fall bekomme ich ja als hostname auch die IP Adresse, sodass es ohne MAC Adresse keine zuordnung der beiden Einträge zueinander gibt.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: mahowi am 13 Dezember 2016, 12:08:54
Gibt es noch Probleme mit den Doppelpunkten in der MAC-Adresse? Ich bekomme nämlich immer folgendes im Log:

2016.12.13 09:55:27.564 3: WARNING: unsupported character in reading 00:04:20:05:AB:83_hostname (not A-Za-z/\d_\.-), notify the Nmap module maintainer.
2016.12.13 09:55:27.565 3: WARNING: unsupported character in reading 00:04:20:05:AB:83_ip (not A-Za-z/\d_\.-), notify the Nmap module maintainer.
2016.12.13 09:55:27.566 3: WARNING: unsupported character in reading 00:04:20:05:AB:83_macAddress (not A-Za-z/\d_\.-), notify the Nmap module maintainer.
2016.12.13 09:55:27.566 3: WARNING: unsupported character in reading 00:04:20:05:AB:83_macVendor (not A-Za-z/\d_\.-), notify the Nmap module maintainer.


Als Attribut habe ich metaReading macAddress

Hier mal das komplette list:
Internals:
   ARGS       -sn
   CFGFN
   DEF        192.168.1.0/24
   INTERVAL   900
   NAME       Netzwerk
   NR         178
   PATH       /usr/bin/nmap
   STATE      done
   TYPE       Nmap
   Readings:
     2016-12-13 11:55:32   00:04:20:05:AB:83_hostname 192.168.1.206
     2016-12-13 11:55:32   00:04:20:05:AB:83_ip 192.168.1.206
     2016-12-13 11:55:32   00:04:20:05:AB:83_macAddress 00:04:20:05:AB:83
     2016-12-13 11:55:32   00:04:20:05:AB:83_macVendor Slim Devices
     [...]
     2016-12-13 11:55:32   NmapVersion     7.31
     2016-12-13 11:55:32   hostsScanned    256
     2016-12-13 11:55:32   hostsUp         7
     2016-12-13 11:55:32   scanDuration    9
     2016-12-13 11:55:32   state           done
   Helper:
Attributes:
   deleteOldReadings 1
   devAlias   192.168.1.1:Speedport 192.168.1.205:Milight EC:E5:12:00:2A:92:Tado_Bridge 4C:66:41:46:44:2D:S7_Edge 192.168.1.222:Raspberry_Pi_3 48:A2:2D:C8:74:84:Lifetab
   metaReading macAddress
   sudo       1
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 13 Dezember 2016, 12:43:12
Zitat von: mahowi am 13 Dezember 2016, 12:08:54
Gibt es noch Probleme mit den Doppelpunkten in der MAC-Adresse?
Zitat von: igami am 09 Oktober 2016, 15:12:49
Gerade ist mir aufgefallen, dass ich die : nicht im Reading Namen verwenden sollteIch würde die Doppelpunkte durch Bindestriche ersetzen, oder spricht da etwas gegen?
Habe ich damals geändert, vielleicht hast du nicht die aktuelle version?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: mahowi am 13 Dezember 2016, 15:00:56
Ich lad mir heute abend nochmal die aktuelle Version runter. Vielleicht liegt's ja wirklich daran. Leider gibt das Modul keine Versionsnummer aus.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: mahowi am 14 Dezember 2016, 13:16:39
Ok, Problem ist behoben. Ich hatte die alten Readings nicht gelöscht, daher waren noch die Doppelpunkte drin. Nach "clear readings" und "statusRequest" sind jetzt alle mit Bindestrich angelegt ohne Fehlermeldung.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: teufelchen am 17 Dezember 2016, 14:37:31
Hallo,

ich habe das Modul aus Beitrag 1 und die Einstellungen aus Beitrag 2 genommen. 
Wenn das die Abfrage startet ist mein Fhem am Raspi nicht mehr Anspechenbar.
Nur ein Neustart hilft wieder auf Fhem zuzugreifen.

Kann jemand helfen?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 17 Dezember 2016, 22:23:13
Modul aus dem ersten Beitrag ist korrekt.
Einstellungen aus dem 2. Beitrag? Was genau meinst du damit?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: teufelchen am 18 Dezember 2016, 00:30:33
Ich habe auch Beitrag 2
die 99myutil entsprechend angepasst und das Gerät in FHEM angelegt
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 18 Dezember 2016, 08:35:48
Das war eine erste Versision, die nicht mehr benötigt wird. Einfach das Modul aus dem ersten Beitrag installieren und definieren.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: rin67630 am 24 Dezember 2016, 10:26:34
Zitat von: igami am 18 Dezember 2016, 08:35:48
Einfach das Modul aus dem ersten Beitrag installieren und definieren.

Entschuldigung, wenn ich eine etwas unbedarfte Frage stelle. Können sie noch kurz erklären, wo ich den Code für ihre inoffizielle Version finden kann, um sie meinem FHEM bekannt machen zu können?

Vielen Dank dafür und schöne Weihnachten!
Laszlo
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 24 Dezember 2016, 10:41:56
Zitat von: rin67630 am 24 Dezember 2016, 10:26:34
Entschuldigung, wenn ich eine etwas unbedarfte Frage stelle. Können sie noch kurz erklären, wo ich den Code für ihre inoffizielle Version finden kann, um sie meinem FHEM bekannt machen zu können?
Hallo Laszlo,
wir können uns gerne duzen ;)
Im ersten Beitrag gibt es einen Anhang (74_Nmap.pm). Diese Datei runterladen und im FHEM Verzeichnis abspeichern. Danach fhem neustarten und mit "define ..." das device anlegen.

Grüße und frohe Weihnachten
igami
Titel: Antw:neues Modul 74_Nmap
Beitrag von: teufelchen am 24 Dezember 2016, 14:40:59
Hallo,

danke für das super Modul. Funktioniert einwandfrei.
Versuche nun als nächstes die Readings über Telegram zu schicken.

Frohe Weihnachten
Titel: Antw:neues Modul 74_Nmap
Beitrag von: RaspiLED am 25 Dezember 2016, 02:18:20
Hi, Danke für das Modul! Ich lasse mir jetzt in der Eve App bzw. über Homebridge die Anzahl der Geräte als Thermometer anzeigen ;-)

genericDeviceType
thermometer

homebridgeMapping
CurrentTemperature=hostsUp,minValue=0,maxValue=256,minStep=1

Frohe Weihnachten
Arnd


Gesendet von iPhone mit Tapatalk
Titel: Antw:neues Modul 74_Nmap
Beitrag von: RaspiLED am 25 Dezember 2016, 02:18:52
Hi, Danke für das Modul! Ich lasse mir jetzt in der Eve App bzw. über Homebridge die Anzahl der Geräte als Thermometer anzeigen ;-)

genericDeviceType
thermometer

homebridgeMapping
CurrentTemperature=hostsUp,minValue=0,maxValue=256,minStep=1

Frohe Weihnachten
Arnd


Gesendet von iPhone mit Tapatalk
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Marlen am 09 Januar 2017, 21:25:39
Hi,

ich habe das Intervall auf 10 gestellt, tatsächlich wir aber nur alle 30 sek. gescannt!

Ist 30 Sek. wohl das minimum?

LG
  Marlen
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 09 Januar 2017, 22:16:50
Ja, das ist das minimum. Ist aber nur im Modul programmiert und hat keine echte Bewandtnis. Ich hatte nur mal einen Werte von 1 einstellt und dann wahr mein fhem etwas überlastet. Damit das keinem anderen passiert habe ich das eingebaut. Bei bedarf kann ich das minimum auf einen anderen wert setzen oder entfernen.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Marlen am 09 Januar 2017, 22:33:23
Hab's schon gefunden, hab es auf 10 geändert!
Ja, da hab ich auch immer angst, dass ich mein System überlaste, hab aber derzeit ein load von 0,05!!!

LG
  Marlen
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 09 Januar 2017, 22:48:20
da ich gerade netzwerk und dhcp umgestellt habe ist mir aufgefallen das sehr praktisch wäre nicht alle readings zu löschen sondern nur die von geräten die ein bestimmtes alter haben. ich glaube das wäre ein tolles feature für das modul :).

gruss
  andre
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Marlen am 10 Januar 2017, 08:25:25
Hallo,

gibt es eine Möglichkeit, per notify alle readings zu löschen? Also den clear Befehl auszuführen?

LG
  Marlen
Titel: Antw:neues Modul 74_Nmap
Beitrag von: marvin78 am 10 Januar 2017, 08:28:48
Warum sollte es das nicht? Natürlich geht das. Das hat nichts mit dem Modul zu tun.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Marlen am 10 Januar 2017, 08:48:17
Verrätst du mir auch wie z.B.?   :-*

Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 10 Januar 2017, 09:05:56
Zitat von: justme1968 am 09 Januar 2017, 22:48:20
da ich gerade netzwerk und dhcp umgestellt habe ist mir aufgefallen das sehr praktisch wäre nicht alle readings zu löschen sondern nur die von geräten die ein bestimmtes alter haben. ich glaube das wäre ein tolles feature für das modul :).
Als set command einbauen?

set <name> deleteOldReadings <days>


Zitat von: Marlen am 10 Januar 2017, 08:48:17
Verrätst du mir auch wie z.B.?
So wie man das sonst auch macht um irgendwas anderes zu schalten

define <name> notify <pattern> set <Nmap name> clear
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 10 Januar 2017, 11:22:45
set <name> deleteOldReadings <days>das klingt gut.

wie wäre es wenn man optional noch d oder h anhängen kann für tage bzw. stunden?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Marlen am 10 Januar 2017, 11:37:53
Warum löschen?
Ich fände es gut, wenn man das reading nach eine Zeit auf absent setzt oder so!

Dann könnte man es doch gut für Anwesendheitsprüfung verwenden!
So bekomm ich immer nur mit wenn ich anwesend bin, aber bekomm nicht mit wenn jemand nicht mehr da ist!

LG
  Marlen
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 10 Januar 2017, 13:08:51
es geht beim löschen um etwas anderes ;)
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Marlen am 10 Januar 2017, 13:25:43
...und um was?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Marlen am 10 Januar 2017, 20:20:20
Zitatset <Nmap name> clear

....geht leider nicht!
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 10 Januar 2017, 20:56:20
es muss natürlich auch

set <Nmap name> clear readings

heißen ::)

Da kann man aber auch selbst drauf kommen, steht ja in der commandref :P
Aber ich habe es gerade getestet und es wird auch keine Fehlermeldung ausgegeben, dass muss ich noch anpassen.

Das mit dem state (present/absent) steht noch auf meiner ToDo Liste.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Marlen am 14 Januar 2017, 22:29:23
Hi,

hat Nmap wirklich vorteile gegenüber ping?

LG
  Marlen
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 14 Januar 2017, 22:35:14
Mir ging es bei dem Modul nicht darum einzelne Geräte abzufragen, sodern eine Übersicht über das Netzwerk zu haben. Also hat es eine ganz andere Funktion als ping.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: rin67630 am 17 Januar 2017, 08:55:06
>... Übersicht über das Netzwerk zu haben...

Sowas liefert eine FritzBox von sich aus!


...fon2_out SIP2# 2017-01-17 08:50:55

lastReadout 171 values captured in 1.00 s 2017-01-17 08:50:55

mac_34_15_9E_51_7B_17 PC-192-168-0-112 (LAN1, 100 Mbit/s) 2017-01-17 08:50:55
mac_34_23_BA_F6_09_88 PC-192-168-0-111 (LAN1, 100 Mbit/s) 2017-01-17 08:50:55
mac_74_F0_6D_0B_9E_F8 PC-192-168-0-104 (LAN1, 100 Mbit/s) 2017-01-17 08:50:55
mac_A0_F3_C1_C4_3B_7A PC-192-168-0-254 (LAN1, 100 Mbit/s) 2017-01-17 08:50:55
mac_B8_27_EB_8D_8E_EA PC-192-168-0-101 (LAN1, 100 Mbit/s) 2017-01-17 08:50:55
mac_B8_27_EB_C7_C8_9E PC-192-168-0-107 (LAN1, 100 Mbit/s) 2017-01-17 08:50:55
mac_E8_39_DF_BA_77_D3 PC-192-168-0-103 (LAN1, 100 Mbit/s) 2017-01-17 08:50:55

radio00...
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Marlen am 17 Januar 2017, 09:01:31
....dachte Nmap scannt nach offene Ports!?

Aber wenn es eine IP ausgibt  :-\
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 17 Januar 2017, 09:03:54
Zitat von: rin67630 am 17 Januar 2017, 08:55:06
Sowas liefert eine FritzBox von sich aus!
Und wenn man keine FritzBox hat? ???

Zitat von: Marlen am 17 Januar 2017, 09:01:31
....dachte Nmap scannt nach offene Ports!?
Könnte man einbauen, aber wofür soll das in fhem nutzlich sein?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: teufelchen am 02 Februar 2017, 16:42:56
@rin67630:
Wie hast du die Abfrage hinbekommen?
Ich habe eine FritzBox 7490 mit aktueller Firmware und einen Raspy mit FHEM.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Marlen am 06 Februar 2017, 09:11:25
Hi,

ich hab seit neusten immer diese Meldung in der Log-File!

Timeout for Nmap_blocking_statusRequest reached, terminated process 1858

LG
  Marlen
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 06 Februar 2017, 09:24:30
Dann dauert der scan länger als du im Intervall eingestellt hast.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: rin67630 am 07 Februar 2017, 17:18:44
Zitat von: teufelchen am 02 Februar 2017, 16:42:56
@rin67630:
Wie hast du die Abfrage hinbekommen?
Ich habe eine FritzBox 7490 mit aktueller Firmware und einen Raspy mit FHEM.

Ohne NMAP. Das FRITZBOX Modul installiert und schon melden sich alle Netzwerkteilnehmer mit MAC und IP. Egal ob verdrahtet oder über WLAN.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 19 März 2017, 19:08:15
So, dann werde ich nun hier mal wieder etwas weiter programmieren.

Gibt es noch weitere wünsche außer deleteOldReadings?
Weiterhin steht noch
- state, uptime, last_seen, OS als Readings hinzufügen
- absenceThreshold wie bei Presence hinzufügen
auf meiner TODO

PS: Wie kann ich das Thema verschieben? Gehört ja eher zu" Unterstützte Dienste"
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 21 März 2017, 21:41:56
So, ToDo Liste ist abgearbeitet, nun nur noch die CommandRef anpassen und dann wird es ofiziell eingecheckt.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 22 März 2017, 09:43:55
Modul ist eingecheckt. Das Attribut deleteOldReadings hat nun eine andere Bedeutung die vorherige Funktion wird nun von dem Attribut keepReadings übernommen
Zitat
deleteOldReadings <s>
Nach einem Netzwerkscan werden alle hostspezifischen Readings, die älter sind als <s> Sekunden, gelöscht

keepReadings 1
Wird für ein Gertät mit bekannter MAC-Adresse eine neue IP-Adresse erkannt, werden die ungültig gewordenen Readings gelöscht es sei denn dieses Attribut ist gesetzt.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: JoWiemann am 22 März 2017, 11:53:53
Zitat von: igami am 22 März 2017, 09:43:55
Modul ist eingecheckt. Das Attribut deleteOldReadings hat nun eine andere Bedeutung die vorherige Funktion wird nun von dem Attribut keepReadings übernommen

Hallo,

Du benutzt für Dein Modul Nmap::Parser. Es wäre schon, wenn Du den Parser so laden würdest:

    my $rc = eval {
        require Nmap::Parser;
        Nmap::Parser->import();
        1;
    };

    unless($rc)
    {
        return "Error loading Nmap::Parser. Maybe this module is not installed? Please install using: sudo apt-get install nmap libnmap-parser-perl ";
    }


Grüße Jörg
Titel: Antw:neues Modul 74_Nmap
Beitrag von: JoWiemann am 22 März 2017, 12:21:56
Schade, läuft leider nicht mit meinem Fritz.Repeater NG

Grüße Jörg
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 22 März 2017, 12:33:36
Zitat von: JoWiemann am 22 März 2017, 11:53:53
Du benutzt für Dein Modul Nmap::Parser. Es wäre schon, wenn Du den Parser so laden würdest:
[...]
hab ich abgeändert. Danke für den Hinweis.

PS: Ist das irgendwo dokumentiert, dass man das so machen sollte? Falls nein, warum nicht? Es erscheint mir ja sinnvoll, dass man eine vernünftige Fehlermeldung bekommt. Was bekommt man eigentlich sonst für einen Fehler?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: JoWiemann am 22 März 2017, 13:05:27
Zitat von: igami am 22 März 2017, 12:33:36
hab ich abgeändert. Danke für den Hinweis.

PS: Ist das irgendwo dokumentiert, dass man das so machen sollte? Falls nein, warum nicht? Es erscheint mir ja sinnvoll, dass man eine vernünftige Fehlermeldung bekommt. Was bekommt man eigentlich sonst für einen Fehler?

Cannot load module Nmap

und im Log


2017.03.22 13:04:22 0: Can't locate Nmap/Parser.pm in @INC (you may need to install the Nmap::Parser module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM) at ./FHEM/74_Nmap.pm line 32.
BEGIN failed--compilation aborted at ./FHEM/74_Nmap.pm line 32.


Grüße Jörg
Titel: Antw:neues Modul 74_Nmap
Beitrag von: JoWiemann am 22 März 2017, 13:07:12
PS: Nein, ist nicht dokumentiert und steht auch nicht in den Modulrichtlinien. Ich finde es halt nur schöner für den Anwender.

Grüße Jörg
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 22 März 2017, 13:41:32
okay, dachte schon ich hätte was überlesen :)
Titel: Antw:neues Modul 74_Nmap
Beitrag von: fl_Indigo am 24 März 2017, 10:43:58
welche anpassung muss ich vornehmen, damit das modul auch unter windows lauffähig wird?
Nmap::Parser ist installiert, ebenso wie die windows binaries für nmap
pfad im modul wurde gesetzt nach c:\fhem (dort liegt eine kopie der nmap.exe)

in der konsole läuft ein c:\fhem\nmap.exe -sn 10.0.0.0/24 einwandfrei durch...
Titel: Antw:neues Modul 74_Nmap
Beitrag von: sylvester am 24 März 2017, 11:14:22
Hallo,

was muss bei der Definition in der Target Specification stehen?

Viele Grüße

Stephan
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 24 März 2017, 18:41:41


Zitat von: fl_Indigo am 24 März 2017, 10:43:58
welche anpassung muss ich vornehmen, damit das modul auch unter windows lauffähig wird?
Nmap::Parser ist installiert, ebenso wie die windows binaries für nmap
pfad im modul wurde gesetzt nach c:\fhem (dort liegt eine kopie der nmap.exe)

in der konsole läuft ein c:\fhem\nmap.exe -sn 10.0.0.0/24 einwandfrei durch...
Schreib mal bitte das nmap.exe mit in das path attritub.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 24 März 2017, 18:43:24


Zitat von: sylvester am 24 März 2017, 11:14:22
was muss bei der Definition in der Target Specification stehen?
Steht in der commandref [emoji14]

Einfach das Netzwerk mit 0/24 am Ende.
Für standard FritzBox: 192.168.178.0/24
Titel: Antw:neues Modul 74_Nmap
Beitrag von: fl_Indigo am 24 März 2017, 19:27:37
attr NetworkMap path c:\fhem\nmap.exe

führt auch nicht zum gewünschten ergebnis...
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 24 März 2017, 20:19:16
Gibt es denn eine Fehlermeldung oder so um log?
Kenne mich mit Windows und fhem überhaupt nicht aus.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: fl_Indigo am 24 März 2017, 21:18:15
trotz verbose 5 gibts im log keinen eintrag was schiefgeht...
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 24 März 2017, 21:53:52
Ich werde mir das nächste Woche mal genauer anschauen.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 25 März 2017, 06:39:43
Ich glaube ich hab den Fehler, beim ändern des path Attributs wird das nicht automatisch in das Internal PATH geschrieben.
Kannst du das bestätigen?

Falls ja, dann bitte einfach mal die DEF anklicken und wieder abspeichern, dabei sollte das aktualisiert werden.

Falls das dann noch nicht klappt bitte die Zeile 293

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

auskommentieren, unter Windows gibt es kein /dev/null ::)
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 26 März 2017, 08:39:28
Hab das path Attribut handling nun mal eingebaut und falls Fehlermeldungen beim Scan auftreten werden die bei verbose 4 in das Log geschrieben.

Ich muss mal noch schauen wie ich es hinbekomme, dass er meckert, wenn er kein nmap an dem angegebenen path findet.

@fl_Indigo: funktioniert es denn nun?

@sylvester: kommst du mit der Target Specification zurecht? In der commandref ist sonst ein Link zur Nmap manpage.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: CoolTux am 26 März 2017, 08:58:17
Zitat von: igami am 26 März 2017, 08:39:28
Ich muss mal noch schauen wie ich es hinbekomme, dass er meckert, wenn er kein nmap an dem angegebenen path findet.


return "please check if ssh installed" unless( -X "/usr/bin/ssh" );

Vielleicht hilft es ja.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 26 März 2017, 17:14:14
Zitat von: JoWiemann am 22 März 2017, 13:07:12
PS: Nein, ist nicht dokumentiert und steht auch nicht in den Modulrichtlinien. Ich finde es halt nur schöner für den Anwender.

Grüße Jörg
Irgendwie funktioniert das mit dem Code noch nicht. Hab das grad bei einem Bekannten eingerichtet und keine Fehlermeldung erhalten, obwohl das Modul nicht installiert war.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: JoWiemann am 26 März 2017, 18:17:42
Zitat von: igami am 26 März 2017, 17:14:14
Irgendwie funktioniert das mit dem Code noch nicht. Hab das grad bei einem Bekannten eingerichtet und keine Fehlermeldung erhalten, obwohl das Modul nicht installiert war.

Was steht den im Log?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 26 März 2017, 20:52:32
Eine Fehlermeldung, dass die Funktion New aus nmap::parser nicht geladen werden konnte, aber nicht mein return.

Bin nicht mehr vor Ort, kann den nachher  aber noch genau erfragen
Titel: Antw:neues Modul 74_Nmap
Beitrag von: fl_Indigo am 27 März 2017, 09:55:35
ein set clear readings übernimmt den pfad richtig auf c:\fhem\nmap.exe
funktioniern tuts aber nachwievor nicht...
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 27 März 2017, 11:13:47
Zitat von: fl_Indigo am 27 März 2017, 09:55:35
ein set clear readings übernimmt den pfad richtig auf c:\fhem\nmap.exe
Kann ich mir zwar nicht vorstellen, dass das zusammenhängt, aber ist ja auch egal.

Hast du schon das update von heute drin?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 27 März 2017, 11:18:53
Bitte auchnoch überprüfen ob XML::Twig installiert ist.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: fl_Indigo am 27 März 2017, 12:02:44
update von heute ist drauf, ohne änderung...
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 27 März 2017, 12:30:09
bleibt state denn auf "running" oder wechselt es zu "aborted"?

Zitat von: igami am 27 März 2017, 11:18:53
Bitte auchnoch überprüfen ob XML::Twig installiert ist.

PS: diese ... am Ende lesen sich immer so negativ vorwurfsvoll
Titel: Antw:neues Modul 74_Nmap
Beitrag von: fl_Indigo am 27 März 2017, 12:59:16
status bleibt auf running...
XML::Twig ist installiert
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 27 März 2017, 15:39:35
poste doch mal bitte ein list von deinem device
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 27 März 2017, 17:36:40
Und kommentier doch mal bitte die Zeilen 315, 316 und 320 im Nmap Modul aus.
Sollte dann so aussehen:

  # close STDERR;
  # open(STDERR, ">", \$STDERR);

  $NP->parsescan($path, $args, $hash->{DEF});

  # close (STDERR);
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 27 März 2017, 20:50:29
@fl_Indigo: hast du PRESENCE Module die funktionieren?

Ab Morgen ist eine version mit verbessertem logging im update verfügbar. Ich bin mir noch nicht ganz sicher an welcher Stelle es nicht weiter geht. Ich vermute es ist der BlockingCall
Titel: Antw:neues Modul 74_Nmap
Beitrag von: fl_Indigo am 28 März 2017, 06:09:48
presence auf pingbasis funktioniert auf meiner installation

entsprechende zeilen im modul auskommentiert --> keine veränderung

listing meines devices:

Internals:
   ARGS       -sn
   CFGFN      99_spielwiese.cfg
   DEF        10.0.0.0/24
   INTERVAL   900
   NAME       NetworkMap
   NR         553
   PATH       C:\fhem\nmap.exe
   STATE      running
   TYPE       Nmap
   Readings:
     2017-03-28 06:07:38   state           running
   Helper:
     Running_pid:
       abortFn    Nmap_aborted
       arg        NetworkMap
       bc_pid     358
       finishFn   Nmap_done
       fn         Nmap_blocking_statusRequest
       pid        DEAD:-9820
       timeout    899
       Abortarg:
Attributes:
   path       C:\fhem\nmap.exe
   room       Spielwiese
   verbose    5


edit: dafür gibts jetzt einen logeintrag:

2017.03.28 06:12:40 3: Nmap (NetworkMap) - starting network scan

no element found at line 1, column 0, byte 0 at C:/perl/perl/vendor/lib/XML/Parser.pm line 187.
at C:/perl/perl/site/lib/Nmap/Parser.pm line 68.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 28 März 2017, 08:56:51
Ich verstehe das so, dass noch XML::Parser fehlt.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: fl_Indigo am 28 März 2017, 15:02:47
war anundfürsich installiert...

thema hat sich für mich erledigt, ich hab heute das windows system auf eine debian vm portiert und jetzt läufts ;)
hat mich eh schon länger gestört das viele funktionen unter windows einfach nicht problemlos umzusetzen sind, und jetzt ist das geschichte...

danke trotzdem für deine bemühungen!
Titel: Antw:neues Modul 74_Nmap
Beitrag von: JoWiemann am 28 März 2017, 19:59:19
Zitat von: igami am 26 März 2017, 17:14:14
Irgendwie funktioniert das mit dem Code noch nicht. Hab das grad bei einem Bekannten eingerichtet und keine Fehlermeldung erhalten, obwohl das Modul nicht installiert war.


package main;
  use strict;
  use warnings;

  use Blocking;

  my $rc = eval{
    require Nmap::Parser;
    Nmap::Parser->import();
    1;
  };

  return("Error loading Nmap::Parser. Maybe this module is not installed?")
    unless($rc);


So funktioniert das leider nicht. Am Besten bringst Du es so unter:


# regular Fn ##################################################################
sub Nmap_Define($$) {
  my ($hash, $def) = @_;
  my ($SELF, $TYPE, $targets) = split(/[\s]+/, $def, 3);

  my $rc = eval{
    require Nmap::Parser;
    Nmap::Parser->import();
    1;
  };

  return("Error loading Nmap::Parser. Maybe this module is not installed? For debian please install with: sudo apt-get install libnmap-parser-perl") unless($rc);

  return "Usage: define <name> $TYPE <target specification>" if(!$targets);

  my $interval = .... usw


Grüße Jörg

PS: Zum Testen reicht ein reload nicht aus. Fhem muss neu gestartet werden.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 28 März 2017, 20:33:44
Ah, also in die define sub
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 28 März 2017, 20:46:35
Zitat von: fl_Indigo am 28 März 2017, 15:02:47
war anundfürsich installiert...

thema hat sich für mich erledigt, ich hab heute das windows system auf eine debian vm portiert und jetzt läufts ;)
hat mich eh schon länger gestört das viele funktionen unter windows einfach nicht problemlos umzusetzen sind, und jetzt ist das geschichte...

danke trotzdem für deine bemühungen!
okay :)
Titel: Antw:neues Modul 74_Nmap
Beitrag von: sylvester am 28 März 2017, 22:06:58
Hallo,

hat schon jemand die Ergebnisse in einer ReadingsGroup oder etwas vergleichbarem dargestellt?

Funktioniert das überhaupt? Die Einträge kommen ja dann nicht von unterschiedlichen Devices sondern alle von dem nmap-Device ...

Viele Grüße

Stephan
Titel: Antw:neues Modul 74_Nmap
Beitrag von: supernova1963 am 28 März 2017, 22:14:47
ich hab mal begonnen:


defmod nmapListe readingsGroup <>,<Nr>,<IP-Adresse>,<Rechner-Name>,<MAC>,<Hersteller> \
nmap:@3,#1_ip,<#1>,(.*)_hostname,#1_macAddress,#1_macVendor
attr nmapListe cellStyle { "c:1" => 'style="text-align:right"' }
attr nmapListe room 92 Informationen
attr nmapListe sortColumn 2
attr nmapListe valueFormat { NmapNr($VALUE) }


myutils:

sub
NmapNr($)
{
  my ($ipV4) = @_;
  my $Nr = "";
 
  $Nr = substr($ipV4,rindex($ipV4,".")+1);

  return $Nr;
}

Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 29 März 2017, 06:11:40
wäre eigentlich ein firstSeen reading noch intressant?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: sylvester am 29 März 2017, 18:29:10
Ui, dass die ReadingsGroup so "einfach" definiert werden kann ... da wäre ich nicht drauf gekommen. Vielen Dank!

Ich habe das bei mir aktuell noch weiter reduziert:


define LAN readingsGroup <>,<IP-Adresse>,<Rechner-Name>,<State> LANmap:@3,<#1>,#1_alias,(.*)_state


Nun würde ich gerne den State durch Symbole anzeigen lassen:


attr LAN valueIcon {'(.*)_state.absent'=>'it_network@red','(.*)_state.present'=>'it_network@green'}


Das funktioniert aber leider nicht.
Hat jemand einen Tip, warum die Symbole nicht angezeigt werden?

Vielen Dank und Gruß

Stephan
Titel: Antw:neues Modul 74_Nmap
Beitrag von: justme1968 am 29 März 2017, 18:34:42
du kannst die regex nicht als key (das links vom => ) in einem hash verwenden.

am einfachsten ist etwas in der art:{ return 'it_network@red' if ($VALUE eq 'absent'); return 'it_network@green' if( $VALUE eq 'present' ); return $VALUE; } als valueIcon.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: sylvester am 29 März 2017, 18:52:05
Funktioniert :)
Vielen Dank!
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 29 März 2017, 19:13:10
Für die ReadingsGroup mal einen neuen Thread erstellen? Dann kann man da ein paar Ideen sammeln und findet zusammen eine vernünftige Darstellung. Die kann ich dann als template einchecken und alle haben was davon :)
Titel: Antw:neues Modul 74_Nmap
Beitrag von: choetzu am 24 April 2017, 16:50:06
ich habe seit gestern das NMAP_modul am laufen. Es lief eigentlich alles relativ geschmeidig bis gestern Abend. Seither habe ich unendlich viele Einträge wie folgt. Das einzige was an der Fehlermeldung ändert ist der eval-Wert.

2017.04.24 15:52:41 2: Can't modify single ref constructor in scalar assignment at (eval 371868) line 2, at EOF
syntax error at (eval 371868) line 10, at EOF


Weiss jemand rat?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 24 April 2017, 17:59:28
Wie kommst du darauf, dass es was mit Nmap zu tun hat?
Was hast du gestern abend gemacht? Ein notify angelegt? Ein Update?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: choetzu am 24 April 2017, 19:52:28
Zitat von: igami am 24 April 2017, 17:59:28
Wie kommst du darauf, dass es was mit Nmap zu tun hat?
Was hast du gestern abend gemacht? Ein notify angelegt? Ein Update?

Die Fehlermeldungen kommen immer im Intervall von 15 Minuten (nmap). Ich habe Nmap ausgeschaltet, seither kommen die Fehlermeldungen nicht mehr. hmm, ich habe glaub ich nur die Mac Adresse aus der ReadingsGroup genommen.. Dürfte aber doch keinen Einfluss haben, oder doch?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 25 April 2017, 05:53:41
Zitat von: choetzu am 24 April 2017, 19:52:28
Die Fehlermeldungen kommen immer im Intervall von 15 Minuten (nmap). Ich habe Nmap ausgeschaltet, seither kommen die Fehlermeldungen nicht mehr. hmm, ich habe glaub ich nur die Mac Adresse aus der ReadingsGroup genommen.. Dürfte aber doch keinen Einfluss haben, oder doch?
Dafür müsste man nun die readingsGroup sehen. poste doch mal bitte die raw Definition davon.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Wuppi68 am 25 April 2017, 23:10:56
Hallo igami,

danke für das Modul :-)

Kannst Du noch in die Doku als Beispiel mit reinnehmen:

define Netzwerk nmap 192.168.1.0/24 192.168.2.0/24

Damit auch ohne Probieren klar ist, dass man mehrere Netze entsprechend angeben kann :-)
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 26 April 2017, 05:51:27
Zitat von: Wuppi68 am 25 April 2017, 23:10:56
Hallo igami,

danke für das Modul :-)

Kannst Du noch in die Doku als Beispiel mit reinnehmen:

define Netzwerk nmap 192.168.1.0/24 192.168.2.0/24

Damit auch ohne Probieren klar ist, dass man mehrere Netze entsprechend angeben kann :-)
Ab 8 Uhr enthalten
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Simon74 am 02 Juni 2017, 20:05:53
Bei setzen von:
ARGS -privileged -sn

funktionierts bei mir auch ohne gesetztem
sudo 1

mit sudo 1 lande ich immer bei
[sudo] password for fhem:

Danke für das Modul  :)



Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 02 Juni 2017, 23:38:40
Wenn ich die Option privileged mit angebe kommt die Fehlermeldung yl failed to open wlan0

Wenn es bei dir funktioniert spricht ja nichts dagegen es so zu verwenden
Titel: Antw:neues Modul 74_Nmap
Beitrag von: TWART016 am 28 August 2017, 22:57:00
Bei mir wird die IP Adresse anstatt de Hostnamens angezeigt. Muss man da noch was konfigurieren?

Mein FHEM Server kann zum Teil die DNS Namen auflösen.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: supernova1963 am 29 August 2017, 05:25:28
Das devAlias Attribut aus der commandref zu nmap http://commandref.fhem.de/commandref_DE.html#Nmap (http://commandref.fhem.de/commandref_DE.html#Nmap) hast du gesetzt?

ZitatdevAlias <ID>:<ALIAS> <ID2>:<ALIAS2> ...
Eine Leerzeichen-getrennte getrennte Liste von <ID>:<ALIAS> Paaren, die dazu genutzt werden kann um Netzwerkgeräten einen Alias zu geben.
Die ID kann dabei MAC-Adresse, hostname oder IPv4-Adresse sein.
Beispiele:
MAC-Adresse: attr <name> devAlias 5C:51:88:A5:94:1F:Michaels_Handy_byMAC
hostname: attr <name> devAlias android-87c7a6221093d830:Michaels_Handy_byHOST
IPv4-Adresse: attr <name> devAlias 192.168.1.130:Michaels_Handy_byIP
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 29 August 2017, 06:58:59
Zitat von: TWART016 am 28 August 2017, 22:57:00
Bei mir wird die IP Adresse anstatt de Hostnamens angezeigt. Muss man da noch was konfigurieren?

Mein FHEM Server kann zum Teil die DNS Namen auflösen.

Habe das gleiche Problem auch bei meinem Pi und musste den dns Server explizit angeben

attr Nmap args -sn --dns-servers 192.168.178.1


Falls das nicht funktioniert kannst du auch das devAlias attribut verwenden

attr Nmap devAlias 50:F5:DA:1A:C5:B8:DashButton01

In diesem Beispiel über die Mac Adresse, geht aber auch über die IP
Titel: Antw:neues Modul 74_Nmap
Beitrag von: TWART016 am 02 September 2017, 14:14:15
Zitat von: igami am 29 August 2017, 06:58:59
Habe das gleiche Problem auch bei meinem Pi und musste den dns Server explizit angeben

attr Nmap args -sn --dns-servers 192.168.178.1

Funktioniert leider auch nicht. Die MAC Adressen wird auf dem FHEM Server, auf dem auch nmap läuft, nicht angezeigt.

Zitat von: igami am 29 August 2017, 06:58:59
Falls das nicht funktioniert kannst du auch das devAlias attribut verwenden

attr Nmap devAlias 50:F5:DA:1A:C5:B8:DashButton01

In diesem Beispiel über die Mac Adresse, geht aber auch über die IP
Ich würde das gerne automatisieren, und nicht manuell eintragen müssen.

Ich habe einen Speedport als DNS Server, vllt. liegt es auch daran.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 02 September 2017, 14:29:27
Lässt du das ganze denn mit sudo laufen?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: TWART016 am 02 September 2017, 16:41:31
Zitat von: igami am 02 September 2017, 14:29:27
Lässt du das ganze denn mit sudo laufen?
ja attr sudo 1 ist gesetzt.
Von anderen Systemen wird auch auch die MAC Adresse angezeigt, nur vom FHEM Server nicht.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 03 September 2017, 07:44:28
Zitat von: TWART016 am 02 September 2017, 16:41:31
ja attr sudo 1 ist gesetzt.
Von anderen Systemen wird auch auch die MAC Adresse angezeigt, nur vom FHEM Server nicht.
Also von allen Geräten wird die MAC angezeigt, nur vom FHEM nicht? Das ist normal, aber ich kann dir nicht erklären warum das so ist.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: TWART016 am 10 September 2017, 20:29:06
Das NMAP Modul müllt mein FHEM Log zu.

Es erscheinen dauernd die Einträge
{Nmap_done('Nmap||7.01||256||5||
plus die ganzen Eintrage des Moduls.

Kann ich die Event vom FHEM Log ausschließen?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 10 September 2017, 20:56:20
Gucke ich mir nachher mal an.
Welches verbose nutzt du denn? Aus dem Kopf sollte der Eintrag eine 4 sein.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: TWART016 am 10 September 2017, 21:14:24
Ich habe gar kein verbose gesetzt.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 10 September 2017, 21:21:57
Vielleicht im global device?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: TWART016 am 10 September 2017, 21:27:43
global hat verbose 3
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 10 September 2017, 21:29:02
Poste Mal bitte den gesamten Log Eintrag.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: TWART016 am 10 September 2017, 23:03:41
2017.09.10 22:47:44 3: eval: {Nmap_done('Nmap||7.01||256||4||192.168.178.103|192.168.178.103|88:71:E5:CE:80:D9|Unknown||192.168.178.20|192.168.178.20|00:0C:29:EB:D5:11|VMware||192.168.178.12|192.168.178.12|00:0C:29:39:31:1B|VMware||192.168.178.28|192.168.178.28|90:09:17:0D:1D:E1|Far-sighted mobile||192.168.178.106|192.168.178.106|44:94:FC:77:2F:82|Netgear||192.168.178.11|192.168.178.11|Unknown|Unknown||192.168.178.1|speedport.ip|D0:05:2A:89:77:42|Unknown||192.168.178.110|192.168.178.110|B8:27:EB:1A:87:1F|Raspberry Pi Foundation||192.168.178.23|192.168.178.23|AC:CF:23:E9:89:1A|Hi-flying electronics technology||192.168.178.102|192.168.178.102|AC:6F:BB:2E:41:C6|Tatung Technology||192.168.178.108|192.168.178.108|00:04:20:F3:99:18|Slim Devices||192.168.178.21|192.168.178.21|BC:AE:C5:92:83:31|Asustek Computer||192.168.178.14|192.168.178.14|00:0C:29:84:51:90|VMware||192.168.178.113|192.168.178.113|B8:27:EB:CD:F7:32|Raspberry Pi Foundation||192.168.178.126|192.168.178.126|A0:D7:95:E9:22:22|Unknown||192.168.178.10|192.168.178.10|B8:AE:ED:7E:93:81|Elitegroup Computer Systems||192.168.178.29|192.168.178.29|68:B3:5E:27:32:EE|Unknown||192.168.178.100|192.168.178.100|9C:5D:12:71:28:40|Aerohive Networks||192.168.178.107|192.168.178.107|AC:7B:A1:C3:43:44|Intel Corporate||192.168.178.104|192.168.178.104|B8:27:EB:8B:FF:8C|Raspberry Pi Foundation||192.168.178.105|192.168.178.105|AC:CF:23:5F:71:BE|Hi-flying electronics technology||192.168.178.22|192.168.178.22|00:09:B0:DC:66:34|Onkyo||192.168.178.101|192.168.178.101|C8:08:E9:B2:CB:25|LG Electronics')}
2017.09.10 22:47:44 1: PERL WARNING: Useless use of reference constructor in void context at (eval 3710379) line 5.
2017.09.10 22:47:44 3: eval:


Das wiederholt sich dauernd.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 11 September 2017, 05:30:07
Hierbei handelt es sich nicht um einen gewollten Eintrag. Normalerweise sollten bei verbose 3 die folgenden beiden Einträge geschrieben werden:

2017.09.11 05:26:12 3: Nmap (vagariNetwork) - starting network scan
2017.09.11 05:26:19 3: Nmap (vagariNetwork) - network scan done


Ich vermute es hat etwas mit dem Blocking Aufruf zu tun.

Seit wann erscheint die Meldung? Was hat sich zu dem Zeitpunkt in deinem System geändert?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: TWART016 am 11 September 2017, 22:36:08
Bereits seit 2 Wochen. Was ich damals geändert habe weiß ich leider nicht mehr.

Zudem steht im Log noch das. Keine Ahnung ob das was mit dem Modul zu tun hat.
usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-w local_tun[:remote_tun]] [user@]hostname [command]
           [-Q query_option] [-R address] [-S ctl_path] [-W host:port]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-F configfile] [-I pkcs11] [-i identity_file] [-L address]
           [-D [bind_address:]port] [-E log_file] [-e escape_char]
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 12 September 2017, 05:33:39
Das hat nichts mit dem Modul zu tun.

Auf die schnelle kann ich dir nur als Lösung anbieten im global das verbose auf 2 zu setzten, habe ich persönlich auch so.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Simon74 am 19 September 2017, 18:00:45
Bei mir bewirkt der Parameter "deleteoldreadings" leider nichts.
Alte Einträge bleiben bestehen.
Mit Verbose 5 kann ich kein Problem erkennen..

17.09.19 17:57:20 5: Nmap (nmap) - entering Nmap_Set
2017.09.19 17:57:20 5: Nmap (nmap) - entering Nmap_Set
2017.09.19 17:57:23 5: Nmap (nmap) - entering Nmap_Set
2017.09.19 17:57:23 5: Nmap (nmap) - entering Nmap_statusRequest
2017.09.19 17:57:23 3: Nmap (nmap) - starting network scan
2017.09.19 17:57:23 5: Nmap (nmap) - BlockingCall Nmap_blocking_statusRequest
2017.09.19 17:57:23 5: Nmap (nmap) - entering Nmap_Set
2017.09.19 17:57:23 5: Nmap (nmap) - entering Nmap_Set
2017.09.19 17:57:23 5: Nmap (nmap) - entering Nmap_blocking_statusRequest
2017.09.19 17:57:24 5: Nmap (nmap) - entering Nmap_Set
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_done
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 4: Nmap (nmap) - new host: iphone.domain.net (192.168.0.185)
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_Set
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_updateUptime
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_Set
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_deleteOldReadings
2017.09.19 17:57:30 5: Nmap (nmap) - entering Nmap_Set
2017.09.19 17:57:30 4: Nmap (nmap) - delete Readings older than 1209600 seconds
2017.09.19 17:57:30 3: Nmap (nmap) - network scan done
2017.09.19 17:57:34 5: Nmap (nmap) - entering Nmap_Set
2017.09.19 17:57:34 5: Nmap (nmap) - entering Nmap_Set
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 19 September 2017, 18:03:40
Poste mal bitte ein list.
Bei mir funktioniert es wie gewünscht.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Simon74 am 19 September 2017, 18:09:24
Readings sind entfernt, kann ich aber gerne per PN zusenden..

Internals:
   ARGS       -privileged -sn
   DEF        192.168.0.0/24
   INTERVAL   300
   NAME       nmap
   NR         504
   PATH       /usr/bin/nmap
   STATE      done
   TYPE       Nmap
   READINGS:
CLEANED !!
     2017-09-19 18:02:29   NmapVersion     7.40
     2017-09-19 18:02:29   hostsScanned    256
     2017-09-19 18:02:29   hostsUp         55
     2017-09-19 18:02:29   knownHosts      60
     2017-09-19 18:02:29   scanDuration    6
     2017-09-19 18:02:29   state           done
   helper:
Attributes:
   args       -privileged -sn
   deleteOldReadings 1209600
   interval   300
   leadingZeros 1
   room       System
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 19 September 2017, 18:14:15
Wenn ich es richtig sehe sind es 14 Tage.
Es lässt sich übrigens auch als 60*60*24*14 schreiben, dann ist es übersichtlicher.

Funktioniert es, wenn du das manuell per set ausführst?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Simon74 am 19 September 2017, 18:20:39
Wenn ich manuell ausführe
set nmap deleteOldReadings 1209600

wird es in den state geschrieben, ansonsten passiert jedoch nichts..
(https://www2.pic-upload.de/thumb/33946260/2017-09-1918_16_58-HomeSweetHome.png) (https://www.pic-upload.de/view-33946260/2017-09-1918_16_58-HomeSweetHome.png.html)
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 19 September 2017, 18:24:18
Und es gibt die readings ..._lastSeen in denen ältere Angaben stehen?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Simon74 am 19 September 2017, 18:30:34
PN mit kpl. Readings, die gehen zurück bis Juli, also älter als das eingestellte "deleteOldReadings".
Danke für Inspektion !  :)
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 19 September 2017, 19:42:15
Wie vermutet lag es daran, dass nicht alle Geräte im .knownHosts Reading aufgeführt waren. Das Reading wurde manuell angepasst und dann ging alles wieder wie gewollt.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Simon74 am 24 September 2017, 11:22:49
Vielen Dank für die Hilfe,

ich musste das Command auf kpl. Subnet ausweiten seitdem greift "deleteOldReadings" auch wieder.

setreading nmap .knownHosts 192.168.000.001,192.168.000.002,192.168.000.003,192.168.000.004,192.168.000.005,192.168.000.006,192.168.000.007,192.168.000.008,192.168.000.009,192.168.000.010,192.168.000.011,192.168.000.012,192.168.000.013,192.168.000.014,192.168.000.015,192.168.000.016,192.168.000.017,192.168.000.018,192.168.000.019,192.168.000.020,192.168.000.021,192.168.000.022,192.168.000.023,192.168.000.024,192.168.000.025,192.168.000.026,192.168.000.027,192.168.000.028,192.168.000.029,192.168.000.030,192.168.000.031,192.168.000.032,192.168.000.033,192.168.000.034,192.168.000.035,192.168.000.036,192.168.000.037,192.168.000.038,192.168.000.039,192.168.000.040,192.168.000.041,192.168.000.042,192.168.000.043,192.168.000.044,192.168.000.045,192.168.000.046,192.168.000.047,192.168.000.048,192.168.000.049,192.168.000.050,192.168.000.051,192.168.000.052,192.168.000.053,192.168.000.054,192.168.000.055,192.168.000.056,192.168.000.057,192.168.000.058,192.168.000.059,192.168.000.060,192.168.000.061,192.168.000.062,192.168.000.063,192.168.000.064,192.168.000.065,192.168.000.066,192.168.000.067,192.168.000.068,192.168.000.069,192.168.000.070,192.168.000.071,192.168.000.072,192.168.000.073,192.168.000.074,192.168.000.075,192.168.000.076,192.168.000.077,192.168.000.078,192.168.000.079,192.168.000.080,192.168.000.081,192.168.000.082,192.168.000.083,192.168.000.084,192.168.000.085,192.168.000.086,192.168.000.087,192.168.000.088,192.168.000.089,192.168.000.090,192.168.000.091,192.168.000.092,192.168.000.093,192.168.000.094,192.168.000.095,192.168.000.096,192.168.000.097,192.168.000.098,192.168.000.099,192.168.000.100,192.168.000.101,192.168.000.102,192.168.000.103,192.168.000.104,192.168.000.105,192.168.000.106,192.168.000.107,192.168.000.108,192.168.000.109,192.168.000.110,192.168.000.111,192.168.000.112,192.168.000.113,192.168.000.114,192.168.000.115,192.168.000.116,192.168.000.117,192.168.000.118,192.168.000.119,192.168.000.120,192.168.000.121,192.168.000.122,192.168.000.123,192.168.000.124,192.168.000.125,192.168.000.126,192.168.000.127,192.168.000.128,192.168.000.129,192.168.000.130,192.168.000.131,192.168.000.132,192.168.000.133,192.168.000.134,192.168.000.135,192.168.000.136,192.168.000.137,192.168.000.138,192.168.000.139,192.168.000.140,192.168.000.141,192.168.000.142,192.168.000.143,192.168.000.144,192.168.000.145,192.168.000.146,192.168.000.147,192.168.000.148,192.168.000.149,192.168.000.150,192.168.000.151,192.168.000.152,192.168.000.153,192.168.000.154,192.168.000.155,192.168.000.156,192.168.000.157,192.168.000.158,192.168.000.159,192.168.000.160,192.168.000.161,192.168.000.162,192.168.000.163,192.168.000.164,192.168.000.165,192.168.000.166,192.168.000.167,192.168.000.168,192.168.000.169,192.168.000.170,192.168.000.171,192.168.000.172,192.168.000.173,192.168.000.174,192.168.000.175,192.168.000.176,192.168.000.177,192.168.000.178,192.168.000.179,192.168.000.180,192.168.000.181,192.168.000.182,192.168.000.183,192.168.000.184,192.168.000.185,192.168.000.186,192.168.000.187,192.168.000.188,192.168.000.189,192.168.000.190,192.168.000.191,192.168.000.192,192.168.000.193,192.168.000.194,192.168.000.195,192.168.000.196,192.168.000.197,192.168.000.198,192.168.000.199,192.168.000.200,192.168.000.201,192.168.000.202,192.168.000.203,192.168.000.204,192.168.000.205,192.168.000.206,192.168.000.207,192.168.000.208,192.168.000.209,192.168.000.210,192.168.000.211,192.168.000.212,192.168.000.213,192.168.000.214,192.168.000.215,192.168.000.216,192.168.000.217,192.168.000.218,192.168.000.219,192.168.000.220,192.168.000.221,192.168.000.222,192.168.000.223,192.168.000.224,192.168.000.225,192.168.000.226,192.168.000.227,192.168.000.228,192.168.000.229,192.168.000.230,192.168.000.231,192.168.000.232,192.168.000.233,192.168.000.234,192.168.000.235,192.168.000.236,192.168.000.237,192.168.000.238,192.168.000.239,192.168.000.240,192.168.000.241,192.168.000.242,192.168.000.243,192.168.000.244,192.168.000.245,192.168.000.246,192.168.000.247,192.168.000.248,192.168.000.249,192.168.000.250,192.168.000.251,192.168.000.252,192.168.000.253,192.168.000.254
Titel: Antw:neues Modul 74_Nmap
Beitrag von: mrbreil am 08 Dezember 2017, 15:11:02
Wäre es vielleicht möglich als Reading noch latency zu nutzen, ich würde gerne sehen wie lange die Geräte zur Antwort brauchen.

Gruß Christian
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 09 Dezember 2017, 09:18:14
Wird leider von dem Nmap::Parser nicht angeboten.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: mrbreil am 09 Dezember 2017, 10:07:40
Sehr Schade, trotzdem Danke. Hast du vielleicht ne andere Idee wie ich Latenzen messen und in fhem abbilden kann?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Thomas X am 28 Januar 2018, 10:44:54
Habe leider ein Problem. Es werden keine Readings für die Devices angelegt. Es erscheint im Log folgendes für jedes einzelne Reading:

2018.01.28 10:31:30 1: readingsUpdate(Heimnetz,192.168.1.105_uptime,0) missed to call readingsBeginUpdate first.
2018.01.28 10:31:30 1: stacktrace:
2018.01.28 10:31:30 1:     main::readingsBulkUpdate            called by ./FHEM/74_Nmap.pm (562)
2018.01.28 10:31:30 1:     main::Nmap_updateUptime             called by ./FHEM/74_Nmap.pm (446)
2018.01.28 10:31:30 1:     main::Nmap_done                     called by (eval 1365) (1)
2018.01.28 10:31:30 1:     (eval)                              called by fhem.pl (1078)
2018.01.28 10:31:30 1:     main::AnalyzePerlCommand            called by fhem.pl (1101)
2018.01.28 10:31:30 1:     main::AnalyzeCommand                called by fhem.pl (1025)
2018.01.28 10:31:30 1:     main::AnalyzeCommandChain           called by ./FHEM/98_telnet.pm (241)
2018.01.28 10:31:30 1:     main::telnet_Read                   called by fhem.pl (3511)
2018.01.28 10:31:30 1:     main::CallFn                        called by fhem.pl (689)


Das habe ich bei anderen Modulen nicht und die Installation ist seit zwei Jahren stabil und auf dem aktuellen Stand. Hat jemand eine Idee?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 28 Januar 2018, 15:04:15
Nutzt du Userreadings im nmap device?
Ansonsten werde ich es nachher mal prüfen, wenn ich zu Hause bin.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Thomas X am 30 Januar 2018, 06:21:21
Nein. Ich nutze keine Userreadings. Ich habe das Device einfach angelegt und einen Statusrequest angestoßen. Mehr nicht.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 30 Januar 2018, 06:27:23
Probier doch mal bitte ein shutdown restart. So spontan fällt mir nichts ein, außer dass sich ein blocking Prozess verirrt hat.
Auf welcher Hardware betreibst du FHEM?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Thomas X am 03 Februar 2018, 10:19:27
Ich betreibe FHEM auf eime Intel Atom Mini-PC mit 4 GB und Ubuntu 16.04 Linux drauf. Shutdown und auch Reboot schon probiert. Ich werde jetzt mal eine neue Installation versuchen. Wenn ich der Einzige mit dem Problem bin, muss es ja bei mir liegen. Danke aber für den Support bis hier her.

Ich berichte, wenn ich dahinter gekommen bin.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 04 Februar 2018, 07:56:44
Poste mal bitte die Rückgabe von version. Irgendwie müssen wir ja eine Lösung für das Problem finden :)
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Thomas X am 04 Februar 2018, 08:45:13
So. Bin jetzt schon mal weiter! Das Problem ist die Coexistenz mit PowerMap. Sobald ich PowerMap auf disable setze bzw. lösche, funktioniert alles. Ich muss PowerMap wohl dazu bekommen, dass er das Nmap-Define ignoriert.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 04 Februar 2018, 09:39:54
Hmm, ich betreibe auch beide Module zusammen und kann das nicht nachstellen.
Magst du mir mal ein list von beiden devices schicken?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Thomas X am 04 Februar 2018, 12:05:20
Hier die Lists:

Nmap:
Internals:
   ARGS       -sn
   CFGFN     
   DEF        192.168.1.0/24
   INTERVAL   900
   NAME       Heimnetz
   NR         9367
   PATH       /usr/bin/nmap
   STATE      done
   TYPE       Nmap
   READINGS:
     2018-02-04 11:54:18   192.168.1.101 [....hier kommen dann die Hosts....]
     2018-02-04 11:54:18   NmapVersion     7.01
     2018-02-04 11:54:18   hostsScanned    256
     2018-02-04 11:54:18   hostsUp         19
     2018-02-04 11:54:18   knownHosts      21
     2018-02-04 11:54:18   scanDuration    3
     2018-02-04 11:54:18   state           done
   helper:
Attributes:
   room       Infrastruktur


Und hier PowerMap:
Internals:
   INTERVAL   900
   NAME       PowerMap
   NR         478
   NTFY_ORDER 50-PowerMap
   STATE      disabled
   TYPE       powerMap
   READINGS:
     2018-02-04 09:23:04   state           disabled
Attributes:
   disable    1
   room       0_System


PowerMap ist derzeit natürlich disabled

Übrigens: PowerMap verhindert "nur" das anlegen der UserReadings von Nmap. Das Aktualisieren geht dann wieder, auch wenn PowerMap enabled ist.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 05 Februar 2018, 05:01:22
Haben die Readings die angelegt werden sollen irgendwas mit power oder energy im Namen? Also der hostname vom Gerät oder so.
So ganz erklären kann ich es mir noch nicht.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Thomas X am 06 Februar 2018, 17:36:25
Nein. Weder noch. Die Namen der Hosts haben keine Überschneidung mit dem PowerMap Modul. Ich habe das auch in zwei verschiedenen Subnetzen versucht. In dem einen Subnetz war nur der Router und der FHEM-Server selber. Und es lief mit aktiviertem PowerMap Modul dennoch nicht.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 06 Februar 2018, 18:05:19
Ich habe das powermap modul letztes erst wieder übernommen und bin noch nicht wieder ganz drin, als das ich verstehe warum es nun so ist.
Was erst mal helfen sollte ist im NMap Device das Attribut powerMap_noPower auf 1 zu setzen, dann sollte es von powerMap ignoriert werden.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Thomas X am 07 Februar 2018, 14:33:31
Habe heute nochmal ein Update gemacht. Jetzt geht's. Da muss sich in den letzten Tagen irgendetwas geändert haben. Das letzte Update war am 02.02. Da war das "Problem" noch vorhanden. Also erstmal wieder alles gut.  :)

Vielen Dank aber für die Mühe!
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 08 Februar 2018, 06:18:32
Schön, dass es nun wieder funktioniert :)
Titel: Antw:neues Modul 74_Nmap
Beitrag von: gent am 17 April 2018, 20:17:41
Zitat von: rin67630 am 17 Januar 2017, 08:55:06
>... Übersicht über das Netzwerk zu haben...

Sowas liefert eine FritzBox von sich aus!


...fon2_out SIP2# 2017-01-17 08:50:55

lastReadout 171 values captured in 1.00 s 2017-01-17 08:50:55

mac_34_15_9E_51_7B_17 PC-192-168-0-112 (LAN1, 100 Mbit/s) 2017-01-17 08:50:55
mac_34_23_BA_F6_09_88 PC-192-168-0-111 (LAN1, 100 Mbit/s) 2017-01-17 08:50:55
mac_74_F0_6D_0B_9E_F8 PC-192-168-0-104 (LAN1, 100 Mbit/s) 2017-01-17 08:50:55
mac_A0_F3_C1_C4_3B_7A PC-192-168-0-254 (LAN1, 100 Mbit/s) 2017-01-17 08:50:55
mac_B8_27_EB_8D_8E_EA PC-192-168-0-101 (LAN1, 100 Mbit/s) 2017-01-17 08:50:55
mac_B8_27_EB_C7_C8_9E PC-192-168-0-107 (LAN1, 100 Mbit/s) 2017-01-17 08:50:55
mac_E8_39_DF_BA_77_D3 PC-192-168-0-103 (LAN1, 100 Mbit/s) 2017-01-17 08:50:55

radio00...


Eigentlich schon, aber seit neuester FitzBox Version, nicht mehr über das komplette Netz. In meinem Fall habe ich einen WLAN Access Point, der per LAN an der FritzBox hängt. Die Geräte, die an dem AccesPoint angemeldet sind, werden nicht mehr in der FritzBox angezeigt. Erst wenn ich mich auf der FritzBox Oberfläche anmelde, werden die Readings aktualisiert. Damit ist leider das FritzBox Modul für mich nicht mehr geeignet.

Grüße vom Gent
Titel: Antw:neues Modul 74_Nmap
Beitrag von: raiderxxl am 23 November 2018, 13:30:29
Hallo,

habe ein Problem...

wollte mal meine "alten" Readings löschen und wenn ich nun deleteOldReadings 2500000 (30 Tage) mache passiert nix...
Gibt es da eine Sekundenbegrenzung?

Grüßle

Pascal
Titel: Antw:neues Modul 74_Nmap
Beitrag von: rasti am 16 Dezember 2018, 22:44:46
Hallo,

ich habe bei mir das Modul installiert, funktioniert.

Hat schon jemand mal eine Presence-Abfrage mit dem Modul realisiert ?

Im Prinzip müssten die ganzen Readings doch nur nach der IP durchsucht werden...
ich meine beim Fritzboxmodul geht das auch so ähnlich mit der Routine checkAllFritzMACpresent (siehe unten)
nur dass da halt die Readings nach der MAC durchsucht werden.

Man müsste dann in Presence abfragen nach z.B.  {checkAllNMAPpresent("192.168.178.58")} .....

Ich habe ein bisschen "am Code rumgedoktort" bekomme es aber nicht hin. Kann hier jemand helfen ?

Schöne Grüße

Ralf




sub checkAllFritzMACpresent($) {
# Benötigt: nur die zu suchende MAC ($MAC),
# Es werden alle Instanzen vom Type FRITZBOX abgefragt
#
# Rückgabe: 1 = Gerät gefunden
# 0 = Gerät nicht gefunden
my ($MAC) = @_;
# Wird in keiner Instanz die MAC Adresse gefunden bleibt der Status 0
my $Status = 0;
$MAC =~ tr/:/_/;
$MAC = "".uc($MAC);
my @FBS = devspec2array("TYPE=FRITZBOX");
foreach( @FBS ) {
my $StatusFritz = ReadingsVal($_, $MAC, "weg");
if ($StatusFritz eq "weg") {
} elsif ($StatusFritz eq "inactive") {
} else {
# Reading existiert, Rückgabewert ist nicht "inactive", also ist das Gerät am Netzwerk angemeldet.
$Status = 1;
}
}
return $Status
}





Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 17 Dezember 2018, 06:17:12
Zitat von: rasti am 16 Dezember 2018, 22:44:46
Hat schon jemand mal eine Presence-Abfrage mit dem Modul realisiert ?

Im Prinzip müssten die ganzen Readings doch nur nach der IP durchsucht werden...
ich meine beim Fritzboxmodul geht das auch so ähnlich mit der Routine checkAllFritzMACpresent (siehe unten)
nur dass da halt die Readings nach der MAC durchsucht werden.
Bei der Routine wird doch die MAC Adresse übergeben und nicht die IP.

Wenn ihr da was fertiges habt kann ich gerne noch ein get in das Modul einbauen so wie "get <alias|hostname|ip|macAddress> <alias|hostname|ip|lastSeen|macAddress|macVendor|state|uptime|uptimeText>". Damit lassen sich dann Informationen zu dem spezifizierten Device abfragen.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: rasti am 17 Dezember 2018, 13:10:42
Hallo,

Zitat von: igami am 17 Dezember 2018, 06:17:12
Bei der Routine wird doch die MAC Adresse übergeben und nicht die IP.

Das ist schon klar. Ich wollte nur sagen dass ich gerne was ähnliches für NMap hätte :=)

Zitat

Wenn ihr da was fertiges habt kann ich gerne noch ein get in das Modul einbauen so wie "get <alias|hostname|ip|macAddress> <alias|hostname|ip|lastSeen|macAddress|macVendor|state|uptime|uptimeText>". Damit lassen sich dann Informationen zu dem spezifizierten Device abfragen.

Was fertiges habe ich leider nicht. Meine Perl-Kenntnisse reichen da hinten und vorne nicht dazu  :(

Wenn ich mir noch was wünschen dürfte, wäre eine Spalte (z.B. die mit der MAC-Adresse) , wo man
draufklickt und dann einen eigenen Namen (alternativ zum Hostnamen) vergeben kann.

Ich habe das jetzt provisorisch mit dem Attribut valueFormat gelöst , z.B.
{ if ($VALUE eq 'absent') {
     "<img src='./fhem/images/default/10px-kreis-rot.png' alt='absent'>"
     }
  elsif ($VALUE eq 'present') {
     "<img src='./fhem/images/default/10px-kreis-gruen.png' alt='present'>"
     }
  elsif ($VALUE eq '27:55:31:42:14:1D') {
     "Fritzbox"
     }
  elsif (substr($READING,rindex($READING,"_")) eq "_ip") {
     substr($VALUE,rindex($VALUE,".")+1)
     }
  else {
    ""
    }
}



Schöne Grüße

Ralf
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 17 Dezember 2018, 17:00:42
Zitat von: rasti am 17 Dezember 2018, 13:10:42
Wenn ich mir noch was wünschen dürfte, wäre eine Spalte (z.B. die mit der MAC-Adresse) , wo man
draufklickt und dann einen eigenen Namen (alternativ zum Hostnamen) vergeben kann.
Dafür gibt es das devAlias  Attribut ;)
Titel: Antw:neues Modul 74_Nmap
Beitrag von: rasti am 17 Dezember 2018, 18:14:08
Zitat von: igami am 17 Dezember 2018, 17:00:42
Dafür gibt es das devAlias  Attribut ;)

Aha :-\ Ich hab jetzt im NMAP-Device für einige MACs einige Device-Aliase vergeben,
aber wie bekomme ich die nun  (in der Readiungsgroup) zu sehen ?

Ich habe zudem noch das Problem , dass mir die 0-te Spalte mit den Nummern nicht richtig sortiert
wird, weil einstellige Zahlen ohne führende Nullen dabei sind. Ich habe nun irgendwo was vom
valueColumns Attribut { "sorttable_customkey='$NUM'"} gelesen und das gesetzt, es wird aber
immer noch nicht richtig sortiert. Was muss ich hier genau machen ?

Viele Grüße
Ralf
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 18 Dezember 2018, 06:09:57
Zitat von: rasti am 17 Dezember 2018, 18:14:08
Aha :-\ Ich hab jetzt im NMAP-Device für einige MACs einige Device-Aliase vergeben,
aber wie bekomme ich die nun  (in der Readiungsgroup) zu sehen ?
meine rg dev sieht so aus:

<>,<host>,<IP>,<MAC>,<uptime>,<lastSeen>
Nmap:@1,(.*)_alias,#1_ip,!#1_macAddress,#1_uptimeText,#1_lastSeen


Zitat von: rasti am 17 Dezember 2018, 18:14:08
Ich habe zudem noch das Problem , dass mir die 0-te Spalte mit den Nummern nicht richtig sortiert
wird, weil einstellige Zahlen ohne führende Nullen dabei sind. Ich habe nun irgendwo was vom
valueColumns Attribut { "sorttable_customkey='$NUM'"} gelesen und das gesetzt, es wird aber
immer noch nicht richtig sortiert. Was muss ich hier genau machen ?
Da kann dir nur jemand helfen, der sich mit rg auskennt. Ich kann mir vorstellen, dass es daran liegt, dass 127.0.0.1 keine Zahl ist und daher nach Text soriert wird.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: ChHerrm am 18 Dezember 2018, 19:49:39
Hallo zusammen,
ich möchte mich benachrichtigen lassen, wenn für FHEM unbekannte Geräte im Netzwerk sind. Meine Idee ist, die eingelesenen Geräte in eine Datei auf meinem RaspberryPi (auf dem auch FHEM läuft) zu schreiben. Dabei weiß ich jedoch nicht wie ich das hinbekomme und hoffe, dass mir jemand dabei weiterhelfen kann.
Wenn ich die Daten dort erstmal habe, komme ich denke ich zurecht (--> Python o.ä. --> vorbereitete MAC-Adressen aus der fhem.cfg mit den MAC-Adressen der eingelesenen Geräte vergleichen). Vielleicht gibt's ja auch schon eine Stelle an der die Infos zu finden sind oder ihr kennt einen direkteren Weg die unbekannten Geräte herauszubekommen :o Ich hoffe, dass jemand einen guten Tipp für mich hat :-\
Titel: Antw:neues Modul 74_Nmap
Beitrag von: rasti am 18 Dezember 2018, 22:37:48
Zitat von: ChHerrm am 18 Dezember 2018, 19:49:39
Hallo zusammen,
ich möchte mich benachrichtigen lassen, wenn für FHEM unbekannte Geräte im Netzwerk sind. Meine Idee ist, die eingelesenen Geräte in eine Datei auf meinem RaspberryPi (auf dem auch FHEM läuft) zu schreiben. Dabei weiß ich jedoch nicht wie ich das hinbekomme und hoffe, dass mir jemand dabei weiterhelfen kann.
Wenn ich die Daten dort erstmal habe, komme ich denke ich zurecht (--> Python o.ä. --> vorbereitete MAC-Adressen aus der fhem.cfg mit den MAC-Adressen der eingelesenen Geräte vergleichen). Vielleicht gibt's ja auch schon eine Stelle an der die Infos zu finden sind oder ihr kennt einen direkteren Weg die unbekannten Geräte herauszubekommen :o Ich hoffe, dass jemand einen guten Tipp für mich hat :-\
???? Die gewünschten Daten bekommst du mit genau diesem Modul auf den Pi. Die Readings dann einfach in eine log-Datei schreiben.

Jetzt aber mit Python weiterzuarbeiten halte ich für wenig zielführend.

Du müsstest halt (wie ich auch ::) ) noch ein bisschen Perl lernen und dann eine kleine Routine für die 99_myUtils.pm schreiben.

Oder igami schreibt uns wie vorgeschlagen eine Funktion "get <alias|hostname|ip|macAddress> <alias|hostname|ip|lastSeen|macAddress|macVendor|state|uptime|uptimeText>" fürs Modul .....

Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 19 Dezember 2018, 00:21:18
Zitat von: ChHerrm am 18 Dezember 2018, 19:49:39
Hallo zusammen,
ich möchte mich benachrichtigen lassen, wenn für FHEM unbekannte Geräte im Netzwerk sind. Meine Idee ist, die eingelesenen Geräte in eine Datei auf meinem RaspberryPi (auf dem auch FHEM läuft) zu schreiben. Dabei weiß ich jedoch nicht wie ich das hinbekomme und hoffe, dass mir jemand dabei weiterhelfen kann.
Wenn ich die Daten dort erstmal habe, komme ich denke ich zurecht (--> Python o.ä. --> vorbereitete MAC-Adressen aus der fhem.cfg mit den MAC-Adressen der eingelesenen Geräte vergleichen). Vielleicht gibt's ja auch schon eine Stelle an der die Infos zu finden sind oder ihr kennt einen direkteren Weg die unbekannten Geräte herauszubekommen :o Ich hoffe, dass jemand einen guten Tipp für mich hat :-\
siehe commandref:
Zitat
Wird ein neues Gerät erkannt wird ein Event "<name> new host: <hostname> (<IPv4>)" erzeugt.
Wird erkannt, dass ein Gerät mit bekannter MAC-Adresse eine neue IP erhalten hat wird ein Event "<name> new IP: <hostname> (<IPv4>)" erzeugt.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: ChHerrm am 19 Dezember 2018, 16:39:13
Danke für eure Hinweise! Ja, dass es dieses Event gibt, war mir aus der Commandref bekannt. Ich möchte die ganzen nmap-Ausgaben aber ungern in das "normale" Log werfen, da das alle 5 Minuten läuft und mir das Log dann kräftig füllt. Eventuell hab ich aber auch die Ausgabe  "<name> new host: <hostname> (<IPv4>)" nicht verstanden. Die taucht nur im Log auf dachte ich, korrekt? Dann hätte ich ja keine so direkte Möglichkeit für eine Variante wie zB (vereinfacht):


define NeuesGeraetgefunden notify MeinNMAP:new_host set ...


Oder? Das wäre eigentlich schon ausreichend. Wenn das so aber nicht machbar ist, wäre nur noch das Ausgeben der Logmeldungen von NMAP in ein eigenes Logfile eine für mich sinnvolle Variante. Dort könnte ich dann ja nach der "new host"-Meldung parsen ohne mein RoutineLog in 99% der Fälle unnötig zu befüllen.
Noch eine Nachfrage dazu: die "new host"-Meldung taucht in Loglevel 4 auf nehme ich an, oder?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 19 Dezember 2018, 21:03:12
Zitat von: ChHerrm am 19 Dezember 2018, 16:39:13
Danke für eure Hinweise! Ja, dass es dieses Event gibt, war mir aus der Commandref bekannt. Ich möchte die ganzen nmap-Ausgaben aber ungern in das "normale" Log werfen, da das alle 5 Minuten läuft und mir das Log dann kräftig füllt. Eventuell hab ich aber auch die Ausgabe  "<name> new host: <hostname> (<IPv4>)" nicht verstanden. Die taucht nur im Log auf dachte ich, korrekt? Dann hätte ich ja keine so direkte Möglichkeit für eine Variante wie zB (vereinfacht):


define NeuesGeraetgefunden notify MeinNMAP:new_host set ...


Oder? Das wäre eigentlich schon ausreichend. Wenn das so aber nicht machbar ist, wäre nur noch das Ausgeben der Logmeldungen von NMAP in ein eigenes Logfile eine für mich sinnvolle Variante. Dort könnte ich dann ja nach der "new host"-Meldung parsen ohne mein RoutineLog in 99% der Fälle unnötig zu befüllen.
Noch eine Nachfrage dazu: die "new host"-Meldung taucht in Loglevel 4 auf nehme ich an, oder?
Ein Event ist ein Event und wird von einem notify oder auch filelog behandelt, besitzt aber kein loglevel.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Otto123 am 19 Dezember 2018, 21:09:54
Fürs Selbststudium, beachte auch den Link zum Eventmonitor  ;D
https://wiki.fhem.de/wiki/Notify#Mein_notify_geht_nicht_-_wie_kann_ich_mir_selbst_helfen:_Debugging

Gruß Otto
Titel: Antw:neues Modul 74_Nmap
Beitrag von: CoolTux am 19 Dezember 2018, 21:23:02
Zitat von: ChHerrm am 19 Dezember 2018, 16:39:13
...

Gestern das Einsteiger Webinar verpasst? Kein Problem
https://youtu.be/2PrpVtHDgjk


Grüße
Titel: Antw:neues Modul 74_Nmap
Beitrag von: ChHerrm am 22 Dezember 2018, 13:56:07
Danke für den Anstoß mit dem Eventmonitor, damit ging es nun doch recht zügig :D Anfrage ist damit erledigt, besten Dank!
----------------------------------------------------------------
Zwecks Vollständigkeit hier noch mein Ergebnis:
Das "new device"-Event war nun doch nichts für mich. Das listet auch nach einem Löschen der alten Readings alles Mögliche als neu auf. Ich gucke nun auf das alias. Wenn das keinen sinnvollen Namen enthält sondern nur die IP-Adresse, dann ist es für mich unbekannt und ich will benachrichtigt werden. Um mich nicht im 5-Minuten-(NMap)-Takt benachrichtigen zu lassen, pausiert die Prüfung nach einer Mitteilung für eine Stunde. Mir die genaueren Infos zu dem Gerät mitteilen zu lassen, verschiebe ich mal auf die nächsten freien Tage ::) Hier das notify um meine ursprüngliche Nachfrage abzurunden:


define Netzwerkteilnehmer_notify_1 notify Netzwerkteilnehmer:.*.*.*_alias:.192.168.0.* set Netzwerkteilnehmer_notify_1 inactive;set IWATelegram message Hallo, ich habe ein unbekanntes Gerät im Netzwerk gefunden.; sleep 3600; set Netzwerkteilnehmer_notify_1 active
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Otto123 am 22 Dezember 2018, 17:01:27
.*.*.*Das ist nicht nur doppelt gemoppelt sonder dreifach  ;D
Also: . steht irgendein Zeichen und * steht für beliebig viele des vorstehenden Zeichens -> irgendwelche und davon beliebig viele Zeichen.

Insofern: der Punkt in einer IP Adresse ist so nicht ermittelbar, die Adresse kann auch so aussehen 192-168-1-1 oder 192A168B1C1D
.*_alias triggert auf 192.168.1.1_alias genauso wie auf willi_alias

Gruß Otto
Titel: Antw:neues Modul 74_Nmap
Beitrag von: ChHerrm am 22 Dezember 2018, 18:53:12
Das stimmt natürlich, dann nehme ich mal die überflüssigen Doppelungen raus. Mit der Überschneidung IRGENDWAS_alias kann ich leben :D
Danke für den Tipp!
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Simon74 am 06 Januar 2019, 15:57:33
nmap kommt nur im eigenen Subnet zu den MAC Address Informationen, nicht wenn dieses geroutet wird.

Ist es möglich im Modul zum lokalen nmap Befehl einen 2. Befehl zu hinterlegen der zb. folgendes ausführt ?
ssh root@192.168.66.10 -p 22 "/usr/bin/nmap -sn 10.x.x.x/24"

Somit könnte das Problem bei "Hosts in anderen Subnetzen die MAC Address Information fehlt" umgangen werden.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 06 Januar 2019, 16:23:30
Zitat von: Simon74 am 06 Januar 2019, 15:57:33
nmap kommt nur im eigenen Subnet zu den MAC Address Informationen, nicht wenn dieses geroutet wird.

Ist es möglich im Modul zum lokalen nmap Befehl einen 2. Befehl zu hinterlegen der zb. folgendes ausführt ?
ssh root@192.168.66.10 -p 22 "/usr/bin/nmap -sn 10.x.x.x/24"

Somit könnte das Problem bei "Hosts in anderen Subnetzen die MAC Address Information fehlt" umgangen werden.
Versuch es doch mal mit dem path Attribut
Zitat
path
Path under which the Nmap program is to be reached.
The default is "/urs/bin/nmap".
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Simon74 am 06 Januar 2019, 16:35:31
Danke für Reply, vielleicht zu undeutlich von mir ausgedrückt.
Der Remote Befehl funktioniert bei eingerichteter ssh-key-auth genau so:
ssh root@remoteserver "/usr/bin/nmap -sn 10.8.5.0/24"

Jedoch müsste das Modul die Möglichkeit haben, diesen parallelen Execute zu starten.

Anstatt: (wo die MAC Addressen aus 10.8.x fehlen weil ich im 192.168.x bin)
defmod nmap Nmap 192.168.0.0/24 10.8.5.0/24
attr nmap args --privileged -sn
attr nmap deleteOldReadings 604800
attr nmap interval 300
attr nmap leadingZeros 1
attr nmap room System->nmap
attr nmap verbose 0


Nur lokal das starten:
defmod nmap Nmap 192.168.0.0/24
attr nmap args --privileged -sn
attr nmap deleteOldReadings 604800
attr nmap interval 300
attr nmap leadingZeros 1
attr nmap room System->nmap
attr nmap verbose 0


und eben den 2. Befehl..

Titel: Antw:neues Modul 74_Nmap
Beitrag von: Simon74 am 06 Januar 2019, 16:49:58
..oder die Möglichkeit ein nmap.txt zu importieren was wahrscheinlich im Modul einfacher sein dürfte ?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 06 Januar 2019, 20:03:54
Zitat von: Simon74 am 06 Januar 2019, 16:49:58
..oder die Möglichkeit ein nmap.txt zu importieren was wahrscheinlich im Modul einfacher sein dürfte ?
Also anstelle der hosts einen Dateipfad angeben?
Kannst du mir einen Link zur Nmap Doku geben wo das beschrieben ist?
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Simon74 am 09 Januar 2019, 11:55:53
Hallo,

hat sich erledigt, funktioniert ja schon :-)
Das scannen mit nmap in einem anderen vlan erledige ich nun direkt im Modul, bzw. je einer Modulinstanz pro vLAN.
Das sieht so aus:


defmod nmap_vlan1 Nmap 10.8.5.0/24
attr nmap_vlan1 args ssh root@remotehost /usr/bin/nmap --privileged -sn 10.8.5.0/24
attr nmap_vlan1 interval 600
attr nmap_vlan1 leadingZeros 1
attr nmap_vlan1 path /usr/bin/sudo
attr nmap_vlan1 room System->nmap
attr nmap_vlan1 verbose 3


per [visudo] ermächtige ich noch fhem das machen zu dürfen:

# User alias specification
fhem    ALL = NOPASSWD: /usr/bin/nmap
fhem    ALL = NOPASSWD: /usr/bin/ssh
Titel: Antw:neues Modul 74_Nmap
Beitrag von: rasti am 19 Januar 2019, 15:58:31
Hallo,

Ich mache bei mir alle 15 Minuten einen NMAP-Scan.
Laut fhem-log dauert dieser Scan aller 255 IPs in einem Subnet geschlagene 53 Sekunden


2019.01.13 18:02:37.763 3: Nmap (Netzwerk) - starting network scan
2019.01.13 18:03:30.092 3: Nmap (Netzwerk) - network scan done



Wenn ich nur die IPs 0....100 abfrage, immer noch 43 Sekunden.


2019.01.13 18:05:04.800 3: Nmap (Netzwerk) - starting network scan
2019.01.13 18:05:47.513 3: Nmap (Netzwerk) - network scan done



Option -sn ist aktiviert, d.h. der angeblich so zeitraubende Portscan ist ausgeschaltet.

Habe FHEM und NMAP zwar nur auf einem alten Raspi1 laufen  ;)   aaaber
gehe ich über eine ssh-Verbindung direkt auf den FHEM-Server und gebe dort
sudo nmap 192.168.178.0/24 -sn
ein, dann dauert der ganze Spaß nur 2-3 Sekunden.

Im Listing unten steht ja auch "scanDuration    2" .....

Trotzdem lege ich anscheinend mein FHEM damit für fast eine Minute lahm?

Wieso dauert die Abfrage über FHEM so lange und ist direkt auf dem Rechner so schnell ?

Viele Grüße

Ralf




Internals:
   ARGS       -sn
   DEF        192.168.178.0-100
   INTERVAL   900
   NAME       Netzwerk
   NR         1215
   PATH       /usr/bin/nmap
   STATE      done
   TYPE       Nmap
   Readings:
     2019-01-13 18:20:09   192.168.178.001_alias Fritzbox
.........
.........
.........
2019-01-13 18:20:09   192.168.178.099_uptimeText 1 T 00 h 29 min
     2019-01-13 18:20:09   NmapVersion     6.00
     2019-01-13 18:20:09   hostsScanned    101
     2019-01-13 18:20:09   hostsUp         26
     2019-01-13 18:20:09   knownHosts      31
     2019-01-13 18:20:09   scanDuration    2
     2019-01-13 18:20:09   state           done
   Helper:
Attributes:
   leadingZeros 1
   room       1__Netzwerk
   sudo       1

Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 20 Januar 2019, 09:05:26
Zitat von: rasti am 19 Januar 2019, 15:58:31
Trotzdem lege ich anscheinend mein FHEM damit für fast eine Minute lahm?

Wieso dauert die Abfrage über FHEM so lange und ist direkt auf dem Rechner so schnell ?
Der Scan wird in einen eigenen Prozess ausgelagert, dein FHEM wird also nicht lahm gelegt. Und wahrscheinlich ist hier auch das Problem: wie viele Module nutzt du noch die nonblocking etwas machen? Das wird IIRC alles in eine Warteschlange gepackt und nacheinander abgearbeitet. Habe bei mir gerade nochmal geschaut: mein FHEM Device braucht 3 Sekundern, der Scan an und für sich nur 2 Sekunden.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: rasti am 20 Januar 2019, 09:28:09
Hallo Igami,


danke dir.

Untenstehend das was version mir in der FHEM-Konsole ausgibt.
Ist nicht die aktuellste FHEM-Version, es wurden immer nur solche Module aktualiert
bzw erstmals hinzugefügt, von denen ich auch die aktuellste Version wirklich benötigt habe....

Kannst du damit was anfangen ?

Grüsse

Ralf



Latest Revision: 11384

File                        Rev   Last Change

fhem.pl                     11338 2016-04-28 20:05:02Z rudolfkoenig
96_allowed.pm               11184 2016-04-04 08:24:33Z rudolfkoenig
90_at.pm                    11342 2016-04-29 11:25:51Z rudolfkoenig
98_autocreate.pm            11094 2016-03-20 09:41:03Z rudolfkoenig
98_cmdalias.pm              11023 2016-03-07 17:15:29Z rudolfkoenig
00_CUL.pm                   11217 2016-04-10 09:50:13Z rudolfkoenig
15_CUL_EM.pm                11348 2016-04-30 13:41:18Z rudolfkoenig
09_CUL_FHTTK.pm              7529 2015-01-11 18:52:43Z matscher
10_CUL_HM.pm                11352 2016-04-30 21:18:27Z martinp876
No Id found for 14_CUL_REDIRECT.pm
14_CUL_TCM97001.pm          11294 2016-04-21 20:32:28Z dancer0705
14_CUL_TX.pm                10140 2015-12-09 15:58:41Z rudolfkoenig
98_DOIF.pm                  11314 2016-04-26 18:29:24Z damian-s
98_dummy.pm                 11381 2016-05-03 18:31:39Z rudolfkoenig
73_ElectricityCalculator.pm 16601 2018-04-13 17:57:41Z Sailor
91_eventTypes.pm            10530 2016-01-16 19:27:21Z rudolfkoenig
98_expandJSON.pm            17324 2018-09-11 06:48:31Z dev0
72_FB_CALLLIST.pm           11300 2016-04-23 15:16:10Z markusbloch
72_FB_CALLMONITOR.pm        10740 2016-02-06 14:45:51Z markusbloch
01_FHEMWEB.pm               11341 2016-04-29 08:02:14Z rudolfkoenig
11_FHT.pm                   10204 2015-12-19 16:07:11Z rudolfkoenig
92_FileLog.pm               11336 2016-04-28 19:28:05Z rudolfkoenig
72_FRITZBOX.pm              11380 2016-05-03 18:08:31Z grompo
10_FS20.pm                  10984 2016-03-03 08:59:47Z rudolfkoenig
00_HMLAN.pm                 10820 2016-02-13 18:02:27Z martinp876
98_HTTPMOD.pm               11002 2016-03-05 19:39:06Z ststrobel
02_HTTPSRV.pm               10733 2016-02-06 09:02:02Z borisneubert
No Id found for 10_IT.pm
73_MPD.pm                    6419 2014-08-18 19:42:36Z wzut
00_MQTT.pm                   6935 2014-11-09 20:35:34Z ntruchsess
10_MQTT_DEVICE.pm            6935 2014-11-09 20:35:34Z ntruchsess
99_myUtilsTelefon.pm         1932 2012-10-06 20:15:33Z ulimaass
74_Nmap.pm                  14107 2017-04-26 03:51:05Z igami
91_notify.pm                11178 2016-04-03 14:20:32Z rudolfkoenig
70_ONKYO_AVR.pm             10857 2016-02-15 11:41:54Z loredo
21_OWTHERM.pm               11130 2016-03-27 09:14:38Z pahenning
00_OWX.pm                   11098 2016-03-20 13:03:21Z pahenning
59_PROPLANTA.pm             15358 2017-10-30 20:04:27Z tupol
33_readingsGroup.pm         16299 2018-03-01 08:06:55Z justme1968
95_remotecontrol.pm         10724 2016-02-04 18:17:33Z ulimaass
98_rssFeed.pm               11302 2016-04-24 15:46:57Z svnbenni
10_SOMFY.pm                 11028 2016-03-08 09:11:38Z thomyd
16_STACKABLE_CC.pm           8666 2015-05-30 18:05:25Z rudolfkoenig
99_SUNRISE_EL.pm            10569 2016-01-19 06:30:28Z rudolfkoenig
98_SVG.pm                   10792 2016-02-10 20:20:49Z rudolfkoenig
42_SYSMON.pm                11105 2016-03-20 19:37:02Z hexenmeister
98_telnet.pm                10551 2016-01-17 11:03:44Z rudolfkoenig
99_Utils.pm                 10570 2016-01-19 06:39:23Z rudolfkoenig
98_version.pm               11026 2016-03-08 07:25:45Z markusbloch
70_VIERA.pm                 10463 2016-01-11 18:03:07Z teevau
59_Weather.pm               99000 2016-03-29 12:00:00Z frank
98_weblink.pm               10530 2016-01-16 19:27:21Z rudolfkoenig

Blocking.pm                 10882 2016-02-20 06:26:09Z rudolfkoenig
DevIo.pm                    11020 2016-03-07 12:01:43Z rudolfkoenig
FritzBoxUtils.pm             6574 2014-09-19 17:32:48Z rudolfkoenig
GPUtils.pm                   6653 2014-10-02 11:59:37Z ntruchsess
HMConfig.pm                 11352 2016-04-30 21:18:27Z martinp876
HttpUtils.pm                11154 2016-03-30 08:57:41Z rudolfkoenig
myUtilsTemplate.pm           7570 2015-01-14 18:31:44Z rudolfkoenig
myUtilsTemplate.pm           7570 2015-01-14 18:31:44Z rudolfkoenig
myUtilsTemplate.pm           7570 2015-01-14 18:31:44Z rudolfkoenig
myUtilsTemplate.pm           7570 2015-01-14 18:31:44Z rudolfkoenig
ONKYOdb.pm                   6992 2014-11-16 00:10:16Z loredo
No Id found for ProtoThreads.pm
RTypes.pm                   10476 2016-01-12 21:03:33Z borisneubert
SetExtensions.pm            10858 2016-02-15 17:42:13Z rudolfkoenig
TcpServerUtils.pm           10346 2016-01-03 12:34:27Z rudolfkoen
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 20 Januar 2019, 11:45:49
Zitat von: rasti am 20 Januar 2019, 09:28:09
Kannst du damit was anfangen ?
Viele der Module kenne ich nicht und weiß auch nicht was sie tun.  HTTPMOD wäre aber auch so ein Kandidat den ich untersuchen würde.
Ggf. kann dir das Modul FREEZEMON (https://forum.fhem.de/index.php/topic,83909.0/topicseen.html) weiterhelfen.

Du solltest dir aber auch die Frage stellen ob es dir so wichtig ist, dass die Daten SOFORT da sind, wenn du sie nur alle 15 Minuten abfragst.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: rasti am 20 Januar 2019, 11:55:48
Zitat von: igami am 20 Januar 2019, 11:45:49
Viele der Module kenne ich nicht und weiß auch nicht was sie tun.  HTTPMOD wäre aber auch so ein Kandidat den ich untersuchen würde.
Ggf. kann dir das Modul FREEZEMON (https://forum.fhem.de/index.php/topic,83909.0/topicseen.html) weiterhelfen.

Du solltest dir aber auch die Frage stellen ob es dir so wichtig ist, dass die Daten SOFORT da sind, wenn du sie nur alle 15 Minuten abfragst.

Hallo,

die Daten müssen natürlich nicht sofort da sein. Wichtig ist mir, dass FHEM in der Zeit nicht deaktiviert ist.
Ist das nun der Fall oder nicht ?

FREEZEMON werde ich mal installieren, danke für den Tipp

Viele Grüße
Ralf
Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 20 Januar 2019, 11:56:44
Zitat von: rasti am 20 Januar 2019, 11:55:48
die Daten müssen natürlich nicht sofort da sein. Wichtig ist mir, dass FHEM in der Zeit nicht deaktiviert ist.
Ist das nun der Fall oder nicht ?
Sollte nicht der Fall sein, aber rasufinden kannst du das nur selbst indem du mal was während eines scans machst
Titel: Antw:neues Modul 74_Nmap
Beitrag von: rasti am 20 Januar 2019, 15:47:25
Zitat von: igami am 20 Januar 2019, 11:56:44
Sollte nicht der Fall sein, aber rasufinden kannst du das nur selbst indem du mal was während eines scans machst

Hallo,

habe es getestet, der Netzwerkscan legt mein sonstiges FHEM anscheinend lahm.

D.h. Ich kann in der Zeit keine Seiten neu aufrufen oder bei vorhandener Seite kein Device schalten.

freezemon kann ich nicht installieren, dazu ist mein FHEM zu alt.

Viele Grüße
Ralf
Titel: Antw:neues Modul 74_Nmap
Beitrag von: Otto123 am 20 Januar 2019, 17:02:29
Zitat von: rasti am 20 Januar 2019, 15:47:25
dazu ist mein FHEM zu alt.
Hallo Ralf,

das kannst Du laut sagen. Und ganz neue Module mit ganz altem FHEM mischen ist denke ich keine gute Idee. Da ist eigentlich genau das zu erwarten!

Gruß Otto
Titel: Antw:neues Modul 74_Nmap
Beitrag von: rasti am 21 Januar 2019, 13:57:33
ich hätte noch ein anderes Thema / Verbesserungsvorschlag zum Modul:

Wenn z.B. nach längerer Abwesenheit einem Gerät (gleiche MAC) per DHCP eine andere IP zugewiesen wird,
dann erscheint dieses Gerät mehrfach mit unterschiedlichen IPs in den Readings. Für mich sinnvoller wäre es,
den Alteintrag dann zu löschen, sobald das Gerät (selbe MAC) mit einer anderen IP in den Readings auftaucht.

Titel: Antw:neues Modul 74_Nmap
Beitrag von: igami am 21 Januar 2019, 16:54:45
Zitat von: rasti am 21 Januar 2019, 13:57:33
ich hätte noch ein anderes Thema / Verbesserungsvorschlag zum Modul:

Wenn z.B. nach längerer Abwesenheit einem Gerät (gleiche MAC) per DHCP eine andere IP zugewiesen wird,
dann erscheint dieses Gerät mehrfach mit unterschiedlichen IPs in den Readings. Für mich sinnvoller wäre es,
den Alteintrag dann zu löschen, sobald das Gerät (selbe MAC) mit einer anderen IP in den Readings auftaucht.
Das ist schon bestandteil des Moduls und müsste durch das Attribut keepReadings explizit abgestellt werden.
Titel: Antw:neues Modul 74_Nmap
Beitrag von: rasti am 21 Januar 2019, 18:08:16
Zitat von: igami am 21 Januar 2019, 16:54:45
Das ist schon bestandteil des Moduls und müsste durch das Attribut keepReadings explizit abgestellt werden.

Ah OK. Super !

Muss ich dazu keepReadings auf 1 oder 0 setzen ?
Titel: Antw:74_Nmap
Beitrag von: Otto123 am 21 Januar 2019, 21:19:39
Doku  ::)
ZitatkeepReadings 1
If a new IP address is recognized for a device with a known MAC address, the invalid readings are deleted unless this attribute is set.
Titel: Antw:74_Nmap
Beitrag von: uwirt am 18 Mai 2019, 22:14:23
Bei mir lief bis vor einer Weile das NMAP Modul eigentlich sehr gut. Ich habe auch nichts am code geschraubt.

Leider hab ich jetzt nur noch den state aborted:



Internals:
   ARGS       -sn
   CFGFN     
   DEF        192.168.1.0/24
   FUUID      5ce0543a-f33f-b1b7-735b-718410efc80fb6e9
   INTERVAL   900
   NAME       Network
   NR         456
   PATH       /volume1/@optware/bin/nmap
   STATE      aborted
   TYPE       Nmap
   READINGS:
     2019-05-18 22:00:18   state           aborted
   helper:
Attributes:
   absenceThreshold 1
   devAlias   192.168.1.1:Router_eth0
   keepReadings 1
   leadingZeros 0
   path       /volume1/@optware/bin/nmap
   room       92 Intranet
   sudo       1



Woran das wohl liegt?
Titel: Antw:74_Nmap
Beitrag von: igami am 19 Mai 2019, 08:21:40
Zitat von: uwirt am 18 Mai 2019, 22:14:23
Woran das wohl liegt?
Steht noch was im Log?
Ein Timeout sollte bei 900 Sekunden kein Problem sein.
Eventuell bietet es einen Anhaltspunkt wenn du den Befehl von Hand in der Linux Konsole ausführst,
Titel: Antw:74_Nmap
Beitrag von: uwirt am 19 Mai 2019, 16:16:17
Ich hatte aus welchem Grund auch immer sudo auf 1 eingestellt. Sobald ich auf 0 gewechselt habe funktionierte es wieder.

Besten Dank
Titel: Antw:74_Nmap
Beitrag von: Icinger am 24 August 2019, 07:43:12
Warum auch immer, ich bekomme seit meinem Update gestern abend das Log mit folgenden Meldungen geflutet:
2019.08.24 00:15:23 1: stacktrace:
2019.08.24 00:15:23 1:     main::readingsBulkUpdate            called by ./FHEM/74_Nmap.pm (437)
2019.08.24 00:15:23 1:     main::Nmap_done                     called by (eval 994380) (1)
2019.08.24 00:15:23 1:     (eval)                              called by fhem.pl (1135)
2019.08.24 00:15:23 1:     main::AnalyzePerlCommand            called by fhem.pl (1160)
2019.08.24 00:15:23 1:     main::AnalyzeCommand                called by fhem.pl (1089)
2019.08.24 00:15:23 1:     main::AnalyzeCommandChain           called by ./FHEM/98_telnet.pm (255)
2019.08.24 00:15:23 1:     main::telnet_Read                   called by fhem.pl (3753)
2019.08.24 00:15:23 1:     main::CallFn                        called by fhem.pl (748)
2019.08.24 00:15:23 1: readingsUpdate(Netzwerk,192.168.1.16_ip,192.168.1.16) missed to call readingsBeginUpdate first.
2019.08.24 00:15:23 1: stacktrace:
2019.08.24 00:15:23 1:     main::readingsBulkUpdate            called by ./FHEM/74_Nmap.pm (438)
2019.08.24 00:15:23 1:     main::Nmap_done                     called by (eval 994380) (1)
2019.08.24 00:15:23 1:     (eval)                              called by fhem.pl (1135)
2019.08.24 00:15:23 1:     main::AnalyzePerlCommand            called by fhem.pl (1160)
2019.08.24 00:15:23 1:     main::AnalyzeCommand                called by fhem.pl (1089)
2019.08.24 00:15:23 1:     main::AnalyzeCommandChain           called by ./FHEM/98_telnet.pm (255)
2019.08.24 00:15:23 1:     main::telnet_Read                   called by fhem.pl (3753)
2019.08.24 00:15:23 1:     main::CallFn                        called by fhem.pl (748)
2019.08.24 00:15:23 1: readingsUpdate(Netzwerk,192.168.1.16_lastSeen,2019-08-24 00:15:23) missed to call readingsBeginUpdate first.
2019.08.24 00:15:23 1: stacktrace:
2019.08.24 00:15:23 1:     main::readingsBulkUpdate            called by ./FHEM/74_Nmap.pm (439)
2019.08.24 00:15:23 1:     main::Nmap_done                     called by (eval 994380) (1)
2019.08.24 00:15:23 1:     (eval)                              called by fhem.pl (1135)
2019.08.24 00:15:23 1:     main::AnalyzePerlCommand            called by fhem.pl (1160)
2019.08.24 00:15:23 1:     main::AnalyzeCommand                called by fhem.pl (1089)
2019.08.24 00:15:23 1:     main::AnalyzeCommandChain           called by ./FHEM/98_telnet.pm (255)
2019.08.24 00:15:23 1:     main::telnet_Read                   called by fhem.pl (3753)
2019.08.24 00:15:23 1:     main::CallFn                        called by fhem.pl (748)
2019.08.24 00:15:23 1: readingsUpdate(Netzwerk,192.168.1.16_macAddress,B8:27:EB:E0:3B:76) missed to call readingsBeginUpdate first.

Das Modul hat seit Monaten einwandfrei funktioniert. Irgendjemand ne Idee, worans liegen kann? Hat sich was geändert, wovon ich nichts mitbekommen habe?

lg, Stefan

PS: Hmmm, hab grade gesehen, das NMAP hat gar kein Update erfahren.....Noch komischer :(

2019.08.24 00:00:14 3: TelegramBot_Callback myTelegram: Digest: Number of poll failures on 2019-08-23 is :0:
2019.08.24 00:00:31 2: Deleting sysmon-2019-08-21.log
2019.08.24 00:03:54 1: RMDIR: ./restoreDir/save/2019-08-08
2019.08.24 00:04:09 1:
2019.08.24 00:04:09 1: fhem
2019.08.24 00:04:10 1: RMDIR: ./restoreDir/update/2019-08-08
2019.08.24 00:04:10 1: UPD ./CHANGED
2019.08.24 00:04:11 1: UPD FHEM/00_MQTT2_SERVER.pm
2019.08.24 00:04:11 1: UPD FHEM/10_CUL_HM.pm
2019.08.24 00:04:11 1: UPD FHEM/13_KS300.pm
2019.08.24 00:04:12 1: UPD FHEM/14_CUL_WS.pm
2019.08.24 00:04:12 1: UPD FHEM/14_SD_UT.pm
2019.08.24 00:04:12 1: UPD FHEM/36_KeyValueProtocol.pm
2019.08.24 00:04:12 1: UPD FHEM/36_Shelly.pm
2019.08.24 00:04:12 1: UPD FHEM/36_WMBUS.pm
2019.08.24 00:04:12 1: UPD FHEM/49_SSCam.pm
2019.08.24 00:04:13 1: UPD FHEM/70_KODI.pm
2019.08.24 00:04:13 1: UPD FHEM/70_ZoneMinder.pm
2019.08.24 00:04:13 1: UPD FHEM/71_ZM_Monitor.pm
2019.08.24 00:04:13 1: UPD FHEM/72_XiaomiDevice.pm
2019.08.24 00:04:13 1: UPD FHEM/73_AutoShuttersControl.pm
2019.08.24 00:04:13 1: UPD FHEM/73_NUKIBridge.pm
2019.08.24 00:04:13 1: UPD FHEM/74_NUKIDevice.pm
2019.08.24 00:04:13 1: UPD FHEM/74_Unifi.pm
2019.08.24 00:04:13 1: UPD FHEM/74_UnifiClient.pm
2019.08.24 00:04:13 1: UPD FHEM/74_UnifiSwitch.pm
2019.08.24 00:04:13 1: UPD FHEM/76_SMAInverter.pm
2019.08.24 00:04:13 1: UPD FHEM/82_LGTV_WebOS.pm
2019.08.24 00:04:13 1: UPD FHEM/88_HMCCU.pm
2019.08.24 00:04:14 1: UPD FHEM/88_HMCCUCHN.pm
2019.08.24 00:04:14 1: UPD FHEM/88_HMCCUDEV.pm
2019.08.24 00:04:14 1: UPD FHEM/88_HMCCURPCPROC.pm
2019.08.24 00:04:14 1: UPD FHEM/93_DbLog.pm
2019.08.24 00:04:14 1: UPD FHEM/98_ArduCounter.pm
2019.08.24 00:04:14 1: UPD FHEM/98_HTTPMOD.pm
2019.08.24 00:04:14 1: UPD FHEM/98_MSwitch.pm
2019.08.24 00:04:15 1: UPD FHEM/98_MediaList.pm
2019.08.24 00:04:15 1: UPD FHEM/98_Modbus.pm
2019.08.24 00:04:15 1: UPD FHEM/98_PHC.pm
2019.08.24 00:04:15 1: UPD FHEM/98_vitoconnect.pm
2019.08.24 00:04:15 1: UPD FHEM/HMCCUConf.pm
2019.08.24 00:04:15 1: UPD FHEM/HttpUtils.pm
2019.08.24 00:04:15 1: UPD FHEM/Meta.pm
2019.08.24 00:04:15 1: UPD FHEM/firmware/ArduCounter.hex
2019.08.24 00:04:16 1: UPD www/images/fhemSVG/dead.svg
2019.08.24 00:04:16 1: saving fhem.cfg
2019.08.24 00:04:16 1: saving ./log/fhem.save
Titel: Antw:74_Nmap
Beitrag von: uwirt am 02 Januar 2021, 15:05:34
Gibt es eine Möglichkeit mit Nmap nur die clients anzuzeigen, welche aktiv sind?
Titel: Antw:74_Nmap
Beitrag von: _fhemuser_ am 02 April 2021, 11:43:59
Hallo,

ich bin gerade über dieses Modul gestolpert, da es mit NMAP ja auch möglich ist einzelne Port zu prüfen.

Aber ich erhalte das Ergebnis nicht als reading.


nmap -p30219  meine.ip
Starting Nmap 7.70 ( https://nmap.org ) at 2021-04-02 11:16 CEST
Nmap scan report for meine.ip (A.B.C.D)
Host is up (0.013s latency).

PORT      STATE    SERVICE
30219/tcp filtered   unknown  <-- offline

bzw:
PORT      STATE    SERVICE
30219/tcp open      unknown  <-- online


Besteht die Möglichkeit für den Portstatus ein Reading zu erhalten?

Besten Dank
Titel: Aw: 74_Nmap
Beitrag von: sylvester am 25 August 2023, 13:01:40
Hallo,

ich brauche einmal eure Hilfe. Ich bekomme es nicht hin, nmap mit dem fhem-Attribut sudo=1 aufzurufen. Der Aufruf wird immer abgebrochen mit dem Hinweis "sudo-Passwort wird benötigt". In sudoers habe ich fhem bereits eingetragen ...

Ich brauche sudo, damit ich über die MAC-Adresse die Geräte identifizieren kann.

Hat jemand einen Tipp, wie es mit sudo klappt?

Vielen Dank und Gruß

Stephan
Titel: Aw: 74_Nmap
Beitrag von: CoolTux am 25 August 2023, 13:42:31
Dann solltest Du vielleicht mal Deinen Eintrag zeigen damit wir Dir sagen können was Du beim Eintrag falsch gemacht hast.
Titel: Aw: 74_Nmap
Beitrag von: sylvester am 25 August 2023, 14:47:12
ich habe folgendes bei sudoers hinzugefügt:

fhem   ALL=(ALL) NOPASSWD:ALL
Titel: Aw: 74_Nmap
Beitrag von: CoolTux am 25 August 2023, 14:53:44
fhem ALL=(ALL) NOPASSWD: ALL

Bitte einmal mit Leerzeichen zwischen NOPASSWD: und ALL

Und in Zukunft bitte immer mit visudo arbeiten.
Titel: Aw: 74_Nmap
Beitrag von: Wernieman am 25 August 2023, 15:05:46
und dabei berücksichtigen, das Du damit fhem praktisch zu root machst. Es gibt gewichtige Gründe, warum man es normalerweise NICHT so macht. Zum debuggen eventuell erstmal O.K., aber hinterher auf nmap beschränken (Oder besser gleich richtig machen)

Btw:
Wo hast Du es reingeschrieben? In die sudoers.conf oder in eine eigene Datei unter /etc/sudoers.d/

Hinweis: Alle Dateinamen aus dem Kopf, es können sich also Vertipper eingeschlichen haben ....
Titel: Aw: 74_Nmap
Beitrag von: sylvester am 25 August 2023, 15:07:15
geht trotzdem nicht :(

in etc/sudoers
Titel: Aw: 74_Nmap
Beitrag von: CoolTux am 25 August 2023, 15:11:25
Was genau geht denn wie nicht? Ausführliches Fehlerbild bitte.

Und bitte nicht mit dem Modul testen sondern vielleicht erstmal auf der Console. Kannst auch zum testen erstmal ein anderen Username nehmen. Also einen mit dem Du Dich am System auch angemeldet hast. Außer root bitte
Titel: Aw: 74_Nmap
Beitrag von: sylvester am 25 August 2023, 15:14:10
ich bekomme immer folgende Fehlermeldung:

Nmap (LANmap) - sudo password required
Titel: Aw: 74_Nmap
Beitrag von: CoolTux am 25 August 2023, 15:26:01
Teste erstmal auf der Kommandozeile.
Wenn Du Dich mittels SSH als User test zum Beispiel auf dem System anmeldest und den sudoers Eintrag mal für test änderst kannst du mittels

sudo -i

Dich zu root machen. Und das möglichst ohne Passwort
Titel: Aw: 74_Nmap
Beitrag von: Wernieman am 27 August 2023, 14:18:28
Wie sieht denn jetzt genau Dein sudo-Eintrag aus? bitte incl Dateinamen der sudoers-Datei!

P.S. Nach dem Ändern FHEM gestoppt/gestartet?