hallihallo,
hab folgendes problem:
Ich habe einen 3com-Router der per telnet erreichbar ist (konfiguration…)
Im Netzwerk sind mehrere Rechner vorhanden, einige M$-Kisten,
und ein Rechner mit SuSE 6.4.
Vom Windows-Telnet kann ich den Router erreichen, Von Linux aus nicht (telnet versuchts zwar recht lange, schafft es aber nicht)
host-Einträge sind ueberall gleich, gateways auch dieselben.
noch ne Frage: Wie kann man interaktive Scripts schreiben mit
denen etwas in einem telnet-fenster gesteuert wird?
Soll also etwa so aussehen:In telnet einloggen (bei obengenanntem router), Passwort eingeben, dann Zeichenfolge „tw“ eingeben (die das trace-window im router startet)
und dann ein grep auf eine bestimmte Zeile…?
hallihallo,
hab folgendes problem:
Ich habe einen 3com-Router der per telnet erreichbar ist
(konfiguration…)
Im Netzwerk sind mehrere Rechner vorhanden, einige M$-Kisten,
und ein Rechner mit SuSE 6.4.
Vom Windows-Telnet kann ich den Router erreichen, Von Linux
aus nicht (telnet versuchts zwar recht lange, schafft es aber
nicht)
Was passiert denn, wenn Du einen Ping auf den Rechner loslässt. Ist er überhaupt erreichbar?
_> Was passiert denn, wenn Du einen Ping auf den Rechner
loslässt. Ist er überhaupt erreichbar?
Sebastian_
War erreichbar.Ich habe jetzt „gedowngraded“ auf SuSE 5.3, jetzt gehts…
Interessant ist bloss das das beides Grundinstallationen waren,
also nich gross drann rumgepfuscht worden ist. Moecht mal wissen,
was da anders ist…
Weiss jemand wie das mit Script geht?
Trotzdem vielen Dank,
mfg, Bjoern
_> Was passiert denn, wenn Du einen Ping auf den Rechner
loslässt. Ist er überhaupt erreichbar?
Sebastian_
War erreichbar.Ich habe jetzt „gedowngraded“ auf SuSE 5.3,
jetzt gehts…
Hallo Bjoern,
es liegt am veränderten TCP/IP Stack von neueren Linuxen (> 2.0.35). Du wirst z.B. auch mit Win98 und NT 4.0 Probleme bekommen. Abhilfe schafft da ein Firmware-Update der Firma 3Com.
noch ne Frage: Wie kann man interaktive Scripts schreiben mit
denen etwas in einem telnet-fenster gesteuert wird?
Yupp… Mit expect (ist bei SUSI dabei) geht sowas wunderbar (z.B. einen Login auf einem Rechner, bei dem ich über 3 andere Rechner hoppeln muss, fragt am Anfang nach dem Passwort und dann geht der Rest von alleine). Läuft ungefähr so:
Warte auf Login:
Dann schreibe bjoern
Warte auf Passwort:
dann schreibe Geheim
warte auf bjoern@host ~>
dann schreibe tracert host
usw.
Wenn Du mit den Infos aus der Manpage nicht klarkommst, frag nochmal…
Wenn Du mit den Infos aus der Manpage nicht klarkommst, frag
nochmal…
Arne
hab mir das expect schon zur gemuete gefuehrt und
das klappt auch soweit.
jetzt aber doch noch ne frage:
Ist es mit expect moeglich,
ein wort zu "expect"en also z.B. expect „Local Address is:“
und dann die darauffolgenden Zahlen (bzw. Ip-Adresse)in eine
Variable oder womöglich in eine Datei zu Speichern?
Hab auch schon versucht einfach nachdem
das tracewindow gestartet ist einfach spawn grep Local > /neue_ip.txt
zu machen aber das geht irgendwie nicht…
Ist es mit expect moeglich,
ein wort zu "expect"en also z.B. expect „Local Address is:“
und dann die darauffolgenden Zahlen (bzw. Ip-Adresse)in eine
Variable oder womöglich in eine Datei zu Speichern?
Aber klar doch:
Beispiel:
#!/usr/bin/expect
spawn traceroute localhost
expect -re "traceroute to (.\*), 30.\*"
set test $expect\_out(1,string)
send\_user "################\r\n"
send\_user "Gefunden: $test\r\n"
send\_user "################\r\n"
Zur Erklärung:
-re stellt das expect auf den RegEx Modus. Dann kommt eine RegEx. Alles was in Klammern steht, wird in die Variable $expect_out gespeichert.
Dann setzen wir die Variable test auf das was in der ersten Klammer steht (und zwar als String). Dass können wir dann weiterverwursten (siehe unten).
Ich hab’ mir das zwar auch bloss alles aus Beipielen/man-page sowie trial und error erarbeitet, da ich von TCL null Ahnung habe. Deshalb sieht die RegEx auch etwas komisch aus, da ich nicht weiss, wie man bei TCL (expect benutz die Sprache) RegExen auf ungierig stellt.