Ich muss ein Skript schreiben, um die WLAN0-Schnittstelle meines Remote-Rechners zu überwachen. Dies kann ich tun, indem ich es iwconfig wlan0
wiederholt auf dem Remote-Rechner ausführe. Aber wie melde ich mich bei diesem Rechner an und führe diesen Befehl über Telnet aus? Ich kann dies über SSH tun, aber die Anmeldung über SSH dauert eine Weile und es hängt, wenn die Verbindung zum Remote-Rechner während der Ausführung abbricht.
Antwort1
Anstatt den SSH-Befehl wiederholt aufzurufen, könnten Sie SSH ausführen, um den Befehl wiederholt auf dem Remote-System auszuführen und die Ausgabe dann lokal zu analysieren und zu verwenden. Dann müssten Sie die SSH-Verbindung nicht ständig aufrechterhalten und die anfängliche Verzögerung in Kauf nehmen.
Zum Beispiel:
ssh remotehost "while [ "1" ] ; do iwconfig wlan0 ; sleep 1 ; done"
Alternativ können Sie netcat verwenden, um die Ausgabe des Remote-Systems an Ihren Computer zurückzusenden. Führen Sie beispielsweise Folgendes auf dem lokalen Computer aus:
nc -l 9999
Dann auf dem Remotecomputer:
while [ "1" ] ; do iwconfig wlan0 ; sleep 1 | nc localmachine 9999
Ersetzen Sie hier „localmachine“ durch den Host oder die IP der Maschine, die die „Überwachung“ durchführt.
Sie könnten die Ausgabe von nc, das diesen Port liest, sogar an einen anderen Befehl weiterleiten.
Um näher an Ihrer eigentlichen Frage zu kommen: Sie könnten Folgendes auf dem Remote-System tun, damit es als Telnet-„Server“ fungiert:
while [ "1" ] ; do iwconfig wlan0 | nc -l 9999 ; done
Dann können Sie Folgendes tun, um die Ausgabe zu erhalten:
telnet remotehost 9999