Ich habe zahlreiche Linux-Boxen mit einem sehr begrenzten Satz von Befehlen und Speicherplatz. Aber es hat den telnet
Befehl drauf.
Ich verbinde mich (programmgesteuert) per Fernzugriff mit jedem dieser Tests und gebe einen einzeiligen Linux-Befehl über SSH aus.
Ich muss einen einzelnen Befehl ausführen, um über Telnet eine Verbindung zu einem bestimmten Computer herzustellen, und dann sofort die Verbindung trennen .
Ich kann das alles, aber die Trennung sofort Teil. Telnet öffnet eine Art Konsole oder Terminal, und ich kann keinen einzeiligen Befehl finden, um den Telnet-Befehl auszuführen und dann sofort die Verbindung zu trennen.
Wenn ich das mache, kann ich die Textausgabe leicht auf Fehlermeldungen analysieren, weil ich am angegebenen Port keine Verbindung zum Computer herstellen kann, und genau das suche ich.
Wie kann ich also einen einzeiligen Befehl ausführen, um über Telnet eine Verbindung zu einem Computer herzustellen und anschließend die Verbindung zu trennen?
Antworten:
Sie sollten in der Lage sein, den
exit
Befehl in STDIN in zu leitentelnet
. Versuchen:und sehen, ob das funktioniert. (Es scheint auf meinem Webserver zu funktionieren, aber YMMV).
quelle
Die einfachste und einfachste Methode ist unten angegeben.
n - Die Wartezeit in Sekunden vor dem automatischen Beenden. Es könnte ein Bruchteil von 0,5 sein. Beachten Sie, dass einige erforderliche Ausgaben möglicherweise nicht in der angegebenen Wartezeit zurückgegeben werden. Daher müssen wir möglicherweise entsprechend erhöhen.
Server - Die Zielserver-IP oder der Hostname.
Hafen - Zieldienst-Portnummer.
Sie können die Ausgabe auch wie folgt in eine Datei umleiten:
quelle
In meinem Fall funktioniert das. (CentOs7):
:) Grüße
quelle
Ich denke, ein besseres Werkzeug, um Befehle direkt zu senden und nur eine Ausgabe zu erhalten, wäre netcat. Es ist nur ein einfaches, aber leistungsstarkes Tool zum Übertragen von Befehlen über Ports. Sie können ein Verwendungsbeispiel in dieser Superuser-Frage sehen: /superuser/261900/how-can-i-pipe-commands-to-a-netcat-that-will-stay-alive - asker gibt ein funktionierendes Beispiel in welcher Verbindung nach wenigen Sekunden geschlossen wird.
Und wenn Sie nur die Konnektivität testen möchten, verwenden Sie diese: http://terminalinflection.com/use-netcat-not-telnet-to-test-network-connectivity/
quelle
&& exit
ob die Verbindung getrennt wird (zumindest in ssh ist dies ausreichend).&& exit
hat nicht funktioniert. Wenn glibc existieren sollte und ich glaube es tut. Warum sollte mannc.traditional
sich darüber beschweren, als ob es fehlt?Dies ist eine andere Version der obigen Antwort , die es ein wenig mehr wie "normale" Telnet-Syntax verhalten lässt. Wenn Ihnen meine Antwort gefällt, geben Sie bitte eine Gegenstimme nicht dazu, sondern zum Original.
quelle
Hier ist eine Lösung, die ich im Internet gefunden habe:
Es funktioniert für mich unter SunOS & HP-UX
quelle
Versuchen
Das Beste daran ist, dass Sie auch den Exit-Status erhalten. Wenn Telnet erfolgreich ist, ist der Exit-Code 0 oder 1
quelle