-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi! Am Montag, 15. Dezember 2003 15:19 schrieb Manuel Dräger:
Wieso das ganze: Der Rechner soll als Router fungieren. Die An- und Abwahl wird mit Hilfe eines PHP-Skriptes realisiert. Dieses prüft ob die Schnittstelle ippp0 vorhanden ist. Ist dem so meldet das Skript das der Rechner online ist und bietet die Möglichkeit an die _Verbindung zu trennen_. Ist die Schnittstelle ippp0 nicht vorhanden bietet das Skript an, dem Nutzer eine Verbindung herzustellen. Problem ist jetzt das der Rechner so wie es momentan ist offline ist aber trotzdem eine ippp0-Schnittstelle aktiv ist! Somit meldet das Skript der Rechner ist online (was er aber nicht ist) und bietet nur an die Verbindung zu trennen :-(.
Ich weiß zwar nicht, ob dir das hilft, aber ich habe ein vergleichbares Skript geschrieben und dabei die Ausgabe von cinternet als Indikator für eine Verbindung genommen. "cinternet -i INTERFACE -s" gibt z. B. je nach Status (lurking = DialOnDemand, Warten auf Startpaket, um Verbindung aufzubauen):
cinternet -i dsl0 -s status: connected action-flags: 0x0c
cinternet -i dsl0 -s status: disconnected action-flags: 0x01
cinternet -i dsl0 -s status: lurking action-flags: 0x08
Das lässt sich sehr leicht auf "connected", "disconnected", etc. parsen und daraus der aktuelle Status bestimmen. Alternativ (distributionsübergreifend) verwende ich ein "ping -w 1 tolle.ip.adresse.hier" und werte dessen Return-Wert aus, um zu sehen, ob eine Antwort kommt. Das mache ich 10 mal und habe damit auch eine Aussage, ob die Verbindung steht (vorausgesetzt die angegebene IP antwortet zuverlässig auf ping's). Außerdem: du weisst, dass man cinternet/kinternet/smpppd auch übers Netz betreiben kann? Vielleicht kannst du dir ja das ganze Skript sparen? - -- Ciao, Gernot -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux) iD8DBQE/3ctpk997/GGeSeIRAjb+AKCcmMBH8k69pO1uZkhkM9aGgqTGsQCfVq1l TR8cnkaH85uUVRmW593S7Ck= =eQHR -----END PGP SIGNATURE-----