Nmap readingsGroup

Begonnen von igami, 03 April 2017, 17:07:36

Vorheriges Thema - Nächstes Thema

igami

Ich fange hier mal an Vorschläge für eine Nmap readingsGroup zu sammeln.
Folgende Versionen wurden bisher vorgestellt:
Zitat von: sylvester am 29 März 2017, 18:29:10

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

Zitat von: supernova1963 am 28 März 2017, 22:14:47

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;
}


Vorschläge dazu bitte hier posten, auch ein für mich sind die Readings ... wichtig ist hilfreich. Ich bastel daraus dann eine readingsGroup und möchte die als template zur Verfügung stellen.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

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

choetzu

Hallo,

ich habe das genau so übernommen. Leider zeigt es mir alle  "Rechner-Namen" nur mit "home" an. Im Reading Nmap werden sämtliche aliase mit geraet.home angezeigt. also z.b. TvBox.home oder iPhone.home.

In der ReadingsGroup kommt aber nur der Teil home.. Woran könnte das liegen?

Danke für die Hilfe.
Lg c
Raspi3, EnOcean, Zwave, Homematic

igami

Zitat von: choetzu am 23 April 2017, 09:18:12
ich habe das genau so übernommen. Leider zeigt es mir alle  "Rechner-Namen" nur mit "home" an. Im Reading Nmap werden sämtliche aliase mit geraet.home angezeigt. also z.b. TvBox.home oder iPhone.home.

In der ReadingsGroup kommt aber nur der Teil home.. Woran könnte das liegen?
In meinem Beitrag stehen schon zwei Definitionen. Welche davon hast du genommen?
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

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

choetzu

Hallo, danke, ich habe die von supernova https://forum.fhem.de/index.php/topic,57804.msg613022.html#msg613022 genommen.. aber es geht auch bei der ersten Definition nicht..


Gesendet von iPhone mit Tapatalk Pro
Raspi3, EnOcean, Zwave, Homematic

igami

Ich persönlich verwende

defmod Nmap_readingsGroup readingsGroup <>,<host>,<IP>,<MAC>,<uptime>,<lastSeen>,<>\
Nmap:@1,(.*)_alias,#1_ip,!#1_macAddress,#1_uptimeText,#1_lastSeen,<>
attr Nmap_readingsGroup nameStyle style="font-weight: bold;; text-align: center;;"
attr Nmap_readingsGroup room Netzwerk
attr Nmap_readingsGroup sortColumn 0
attr Nmap_readingsGroup valueFormat {return("unknown") if($VALUE =~ m/_macAddress/);;}
attr Nmap_readingsGroup valueStyle {$READING =~ m/(.+)_/;;\
my $state = ReadingsVal($DEVICE, $1."_state", "NA");;\
my $style = "font-family: monospace;;";;\
\
return('style="color: #61CE3C;; text-align: right;; '.$style.'"') if($state eq "present" && $READING =~ m/_uptime/);;\
return('style="color: #FF0000;; text-align: right;; '.$style.'"') if($state eq "absent" && $READING =~ m/_uptime/);;\
\
return('style="color: #61CE3C;; '.$style.'"') if($state eq "present");;\
return('style="color: #FF0000;; '.$style.'"') if($state eq "absent");;\
}


Werde mir die andere DEF bei Gelegenheit mal ansehen
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

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

supernova1963

Hallo igami,

tolle Lösung für eine nmap-readingsGroup! Ich habe meine Definition sofort angepasst.

Ist es eigentlich irgendwie möglich den Wert einer einzelnen Spalte nach der Gruppierung zu bearbeiten, - oder -, vor der Gruppierung zu beeinflussen?

Danke,

Gernot

@choetzu: Ich vermute, dass Dein Problem nicht an der readingsGroup liegt. Die listet und gruppiert nur die Readings des nmap - Devices. Hast du dort das Attribut attr [Device-Name] sudo 1 gesetzt und dem User fhem erlaubt nmap ohne Passwort auszuführen? Linux: sudo visudo mit dem Eintrag vor "#Include ..." oder, - wie empfohlen -, in einer eigenen Datei in /etc/sudoers.d?fhem ALL=(ALL) NOPASSWD: /usr/bin/nmap

igami

Zitat von: supernova1963 am 30 April 2017, 07:58:25
tolle Lösung für eine nmap-readingsGroup! Ich habe meine Definition sofort angepasst.
Habe ich schon in dem andern Thread gelesen, vielen Dank für das Lob :)

Zitat von: supernova1963 am 30 April 2017, 07:58:25
Ist es eigentlich irgendwie möglich den Wert einer einzelnen Spalte nach der Gruppierung zu bearbeiten, - oder -, vor der Gruppierung zu beeinflussen?
Was meinst du damit? Am besten mal ein Beispiel.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

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

supernova1963

Hallo igami,

ich hatte ursprünglich vor den Wert der Spalte #1_state mit einem Symbol zu ersetzen (rc_RED für absent oder rc_GREEN für present).
Zusätzlich will ich in dem Falle, dass "#1_macVendor eq "Espressif" ist ein entsprechender Link hinter den #1_Alias gelegt wird (es handelt sich dabei um ESP8266 mit ESPEASY). 

Schöner fände ich natürlich, wenn mit nmap die offenen Ports jedes Gerätes abgefragt würden und dann z.B. bei Port 80: http://[IP-Adresse] bzw. bei Port 443: https://[IP-Adresse] bei allen entsprechenden Geräten hinterlegt werden könnte. Aber dafür bedarf es, - glaube ich -, eines neuen Moduls, das auch nicht so oft aktualisiert werden muss.

sudo nmap -Pn 192.168.1.20

Starting Nmap 7.40 ( https://nmap.org ) at 2017-04-30 09:46 CEST
Nmap scan report for 192.168.1.20
Host is up (0.0027s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
80/tcp open  http
MAC Address: 5C:CF:7F:0F:C0:6C (Espressif)


Danke,

Gernot

supernova1963

Hallo igami,

bis ich dein Modul auf Basis von nmap entdeckte, habe ich mir mit fing https://www.fing.io/wp-content/uploads/2016/09/overlook-fing-3.0.deb etwas grob vergleichbares geschaffen. Nach der Installation habe ich mit dem Befehl:
sudo fing -o table,html,/opt/fhem/www/fing/discover.html
eine html Seite erzeugen lassen, die solange der Prozess läuft mit refresh fortgeschrieben wird.
und mit dem Befehl:
sudo fing -s 192.168.1.11/24 -o html,/opt/fhem/www/fing/scan.html
die offenen Ports anzeigen lassen. Diese Seite wird jedoch immer nur einmal erstellt.
Meine Versuche, die anderen Ausgabeformate zu nutzen sind aufgrund fehlender Perl-Kenntnisse kläglich gescheitert (html, csv, text, xml, json werden angeboten).

Damals fehlte mir schon die Möglichkeit mit einem Klick auf das Gerät eine Port-Scan für diese zu realisieren. Außerdem hat dein Modul den riesen Vorteil der Alias Erfassung, den ich mit fing nicht hinbekommen habe.

Danke noch einmal für die Mühe,

Gernot

igami

In diesem Thread geht es eigentlich nur um die Darstellung der Ergebnisse. Wenn du eine weitere Funktion in Nmap haben willst, dann bitte in dem Nmap Thread posten oder einen neuen Thread erstellen.
Prinzipiell ist mit der möglichkeit, dass args vorgegeben werden kann möglich auch einen portscan einzubauen, aber wozu das in einer Smarthome Software erforderlich ist verstehe ich noch nicht.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

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

supernova1963

Ok, ich habe verstanden.
Ich wollte nur auf deine Frage nach dem, was ich meine, antworten.

Sorry,

Gernot

igami

Zitat von: supernova1963 am 30 April 2017, 15:42:36
Ok, ich habe verstanden.
Ich wollte nur auf deine Frage nach dem, was ich meine, antworten.

Sorry,

Gernot
Also mir ist noch nicht klar was du genau machen möchtest. Du möchtest im Prinzip einen Button oder so in die ReadingsGroup einbauen auf den du klicken kannst und dann eine Liste offener Ports bekommst?

Du brauchst dich nicht Entschuldigen. Es geht mir nur darum, dass die Informationen an der richtigen Stelle stehen. In dem Thread zu dem Modul wurde schon einmal danach gefragt einen Port Scanner einzubauen. Da ich mir aber momentan keine Anwendug dafür vorstellen kann wäre es Sinnvoller wenn die, die das haben wollen darüber diskutieren und mir dann möglichst detailliert mitteilen, was sie möchten damit ich das einbauen kann
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

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

supernova1963


Mir ging und geht es in diesem Thema an sich nur darum, ob und wie man statt absent und present ein rotes und ein grünes Icon innerhalb einer gruppierten readingsGroup anzeigen kann.

Alles Andere ist Vision,

Gernot


P.S.: Ein Grund für den Sinn einer Port Überwachung in einer Smarthome Software ist die Sicherheit und dazu vielleicht noch Debugging für Entwickler.

igami

Zitat von: supernova1963 am 30 April 2017, 16:05:49
Mir ging und geht es in diesem Thema an sich nur darum, ob und wie man statt absent und present ein rotes und ein grünes Icon innerhalb einer gruppierten readingsGroup anzeigen kann.
Jetzt verstehe ich, aber ich weiß leider nicht wie man das umsetzen kann
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

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

justme1968

und valueIcon hilft nicht ?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968