Pruefen ob Rechner aktiv ist?
-
Moin Leute,
Fuer mein Tool brauche ich eine Funktion die prueft ob ein Rechner in Netz verfuegbar ist (und wenn moeglich der XServer gestartet ist).
Die Clienten sind nicht durch eine Firewall geschuetzt.
Ich hab mir schon Gedanken gemacht, aber system(ping > tmpRechner01) und dann auslesen ist alles andere als gut bzw. brauchbar.
Per NFS mounten und eine Datei auslesen und dann das StatusFlag setzten ist genauso ein Mist.Hat jemand einen Tip fuer mich, nach welchen Schluesselwoertern ich googlen koennte?
Ivo
-
Hab nun einen Codeschnipsel gefunden. Leider kann ich RAW Sockets nur Root erstellen und mit Linux Capabilities (Forensuche) muss ich ja mal wieder am Kernel basteln oder?
Ivo
-
Hm wieso versuchst du nicht einfach ne TCP (oder UDP? weiß jetzt nicht genau, was X verwendet)-Verbindung zu dem Rechner aufzubauen um zu schauen, ob X läuft? Das setzt natürlich voraus, dass der X-Server nicht nur auf lokale Verbindungen hört. Ansonsten (wenn du nur prüfen willst, ob der Rechner erreichbar ist) kannst du doch einfach einen Ping senden (Stichwort ICMP).
-
devkid schrieb:
// Edit: Wieso zum Teufel ist v-o-r-r-a-u-s geblacklistet?
Tipp: schlag das Wort mal im Duden nach.
-
Ihr blacklistet Rechtschreibfehler? ...
-
Das mit dem ICMP Request habe ich hinbekommen. Leider nur als Root, das ist etwas suboptimal. Ich kann ja den XServer auf einen Port lauschen lassen und dann versuchen zu connecten, das ist eine gute Idee.
Ivo
-
Ivo schrieb:
Das mit dem ICMP Request habe ich hinbekommen. Leider nur als Root, das ist etwas suboptimal.
Also dass man ICMP Pings nur als root ausführen darf wäre mir neu.
Das Programm `ping` kann man ja auch ohne root-Rechte starten und SUID root ist es auch nicht. Versuchst du das ganze über Raw-Sockets?
-
Für ICMP-Pings braucht man RAW-Sockets, da man auf IP-Ebene rumfrickeln muss und nicht auf TCP/UDP-Ebene. ping ist daher schon idr. suid-root (
-rwsr-xr-x 1 root root 30856 2007-12-10 18:33 /bin/ping
).Warum ist ping-aufrufen eine schlechte Idee? (muss ja nicht mit tmp-Datei sein, man kann ja direkt über pipes auslesen).
@devkid
Zwei Sachen die üblicherweise falsch geschrieben werden filtern wir.
-
Hm also ich hab das bis jetzt noch nicht gebraucht und hätte gedacht, dass es da irgendwas wie SOCK_ICMP gibt... Naja, vllt. reicht auch einfach ein normaler TCP-Connect zum X-Server.
-
devkid schrieb:
Ihr blacklistet Rechtschreibfehler? ...
nur diejenigen, von denen man Augenkrebs bekommt.
-
rüdiger schrieb:
Warum ist ping-aufrufen eine schlechte Idee?
system(ping zielhost) moechte ich eigendlich gerne vermeiden. Es geht aber mit einen Codeschnipsel den ich gefunden habe. Nur das Problem mit root ist noch da. Irgendwas ist ja immer
Aber ich frickel mich durch...
Ivo
-
rüdiger schrieb:
@devkid
Zwei Sachen die üblicherweise falsch geschrieben werden filtern wir.Na dann:
Wer findet den zweiten als erstes?SCNR
-
OT: Standard ist richtig und Standart ist falsch....
Ivo