Netzwerkgeräte: Verfügbarkeit mittels Perl-oneliner prüfen: Unterschied zwischen den Versionen

Aus FHEMWiki
(Die Seite wurde neu angelegt: „Um eine einfache Prüfung von Netzwerkgeräten durchzuführen, kann die Perlerweiterung NET::Ping benutzt werden. == Definition: == <nowiki>define myTest at …“)
 
K (Hinweis auf PRESENCE-Modul eingebaut)
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 1: Zeile 1:
{{Randnotiz|RNTyp=Info|RNText=Das FHEM-Modul [[PRESENCE]] erfüllt den selben Zweck}}
Um eine einfache Prüfung von Netzwerkgeräten durchzuführen, kann die Perlerweiterung NET::Ping benutzt werden.
Um eine einfache Prüfung von Netzwerkgeräten durchzuführen, kann die Perlerweiterung NET::Ping benutzt werden.


Zeile 13: Zeile 14:


Das Skript lässt sich natürlich den Notwendigkeiten, besonders was im Fehlerfall durchgeführt werden soll, anpassen.
Das Skript lässt sich natürlich den Notwendigkeiten, besonders was im Fehlerfall durchgeführt werden soll, anpassen.
[[Kategorie:Code Snippets]]

Aktuelle Version vom 15. Juni 2018, 13:31 Uhr

Info green.pngDas FHEM-Modul PRESENCE erfüllt den selben Zweck

Um eine einfache Prüfung von Netzwerkgeräten durchzuführen, kann die Perlerweiterung NET::Ping benutzt werden.

Definition:

define myTest at +*00:00:30 {use Net::Ping;;my $p=Net::Ping->new("tcp", 1,64);;my @ip=('192.168.0.1','192.168.0.2','192.168.0.4','192.168.0.5');;
foreach(@ip){if($p->ping("$_")){Log 1,"$_ antwortet";;}else{Log 1,"$_ antwortet nicht";;}}}

Erläuterungen:

Dieser Test benutzt Net::Ping, dabei kann Ping nicht in seiner "stärksten" Version als ICMP-Ping benutzt werden, da für einen ICMP-Ping root-Rechte benötigt werden. Daher wird "nur" der TCP-Ping verwendet, der aber bei normalen Geräten auch anstandlos funktionieren sollte (getestet mit Debian, Ubuntu, Windows 7).

In dem Array @ip werden die IP-Adressen eingetragen. Danach wird durch eine Schleife jede dieser Adressen angepingt.

Ist die IP-Adresse erreichbar, dann wird eine positive Meldung ins Log geschreiben, wenn nicht, dann eine negative.

Das Skript lässt sich natürlich den Notwendigkeiten, besonders was im Fehlerfall durchgeführt werden soll, anpassen.