TELNET Verbindung

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
AudioVideo
User
Beiträge: 4
Registriert: Donnerstag 13. Juni 2019, 11:56

Hallo zusammen!

Ich bin neu hier und habe in meiner Suche bislang leider nichts finden können, was mir hilft.

Folgende Aufgabenstellung hab ich mir gesetzt:
Ich habe einen PC im Keller und einen Laptop oben im Wohnzimmer - beide befinden sich im gleichen Netzwerk. Nun möchte ich gerne eine ausführbare Python Datei erstellen, die einen Befehl über TELNET vom Laptop an den PC sendet. Über Putty habe ich bereits getestet, dass dieser Befehl funktioniert.

Bei meinen bisherigen Recherchen bin ich bereits auf folgendes gestoßen

Code: Alles auswählen

import getpass
import telnetlib

HOST = "localhost"
user = input("Enter your remote account: ")
password = getpass.getpass()

tn = telnetlib.Telnet(HOST)

tn.read_until(b"login: ")
tn.write(user.encode('ascii') + b"\n")
if password:
    tn.read_until(b"Password: ")
    tn.write(password.encode('ascii') + b"\n")

tn.write(b"ls\n")
tn.write(b"exit\n")

print(tn.read_all().decode('ascii'))
Leider bin ich allerdings nur mit den Grundlagen von Python und Programmieren im Allgemeinen vertraut und bekomme lediglich immer die folgende Fehlermeldung:
ConnectionRefusedError: [WinError 10061] Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigert
Vielleicht hat hier im Forum jemand eine Idee, wie ich mein Vorhaben einfach und unkompliziert realisiert bekomme.
Ich bin für jede Hilfe dankbar! Vielen Dank im Voraus
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Telnet im 21sten Jahrhundert ist eher ungewoehnlich. Bist du sicher, dass das Telnet ist? Und nicht SSH? Und das localhost der eigene Computer ist, ist dir bewusst? Und nicht ein entfernter Computer?
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

telnet sollte man nicht mehr verwenden und es würde mich wundern, wenn ein solcher Dienst auf dem Rechner läuft.
Nimm doch ssh, läßt sich einfach mit dem Paket paramiko ansprechen.
AudioVideo
User
Beiträge: 4
Registriert: Donnerstag 13. Juni 2019, 11:56

Ja es handelt sich um TELNET und ja ich weiß, dass der localhost der eigene Computer ist. :)

Der Rechner im Keller ist ein ausrangierter Multiviewer. Die Telnet-Befehle dienen dazu, dass ich zwischen mehreren Layouts wechseln kann.
Im übrigen ist TELNET im ProAV Bereich immer noch Standard. Mein Schwager der als Meister der Veranstaltungstechniker arbeitet (und mir auch den Multiviewer besorgt hat) arbeitet täglich mit TELNET.

Zu dem von mir geposteten Quellcode vielleicht noch die folgende Info: Über putty benötige ich kein Passwort und die Fehlermeldung kommt, wenn ich bei Passwort nichts eingebe.
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wenn du weisst, dass localhost der eigene Rechner ist, warum verbindest dich dann mit dir selbst, statt mit dem entfernen Rechner?
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@AudioVideo: Wenn Du bei `password` nichts eingibst, dann gibt Dein Code dem Gerät ``ls`` als Passwort. Und ``ls`` ist nicht kein Passwort sondern das falsche.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
AudioVideo
User
Beiträge: 4
Registriert: Donnerstag 13. Juni 2019, 11:56

__deets__ hat geschrieben: Freitag 14. Juni 2019, 10:22 Wenn du weisst, dass localhost der eigene Rechner ist, warum verbindest dich dann mit dir selbst, statt mit dem entfernen Rechner?
Das was ich an Code gepostet habe, ist der Quellcode wie ich ihn online beim recherchieren gefunden habe. Das hatte ich auch so gekennzeichnet.
Natürlich habe ich versucht ihn anzupassen, aber ich erachte es nicht als sinnvoll den code in allen varianten die ich ausprobiert habe zu posten.

Ich hoffe, ich hab meine Problemstellung klar geschildert. Der Rechner der gesteuert werden soll beherrscht nur TELNET. Der Code den ich gepostet habe war das einzige, was ich gefunden habe, aber damit bin ich mit meinem Wissen über Python nicht weiter gekommen und ich hatte gehofft hier hilfe zu finden
AudioVideo
User
Beiträge: 4
Registriert: Donnerstag 13. Juni 2019, 11:56

__blackjack__ hat geschrieben: Freitag 14. Juni 2019, 12:01 @AudioVideo: Wenn Du bei `password` nichts eingibst, dann gibt Dein Code dem Gerät ``ls`` als Passwort. Und ``ls`` ist nicht kein Passwort sondern das falsche.
Danke für die Info. Das war mir so nicht klar.
Muss ich dann die pw abfrage komplett entfernen oder NULL als passwort eingeben?
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@AudioVideo: den einzigen Fehler den Du bisher gezeigt hast, ist, dass der Code mit "localhost" einen Verbindungsfehler produziert, weil auf Deiner Windowskiste kein TELNET läuft. Damit wir also sinnvoll helfen können, brauchen wir den wirklichen Code, den Du benutzt, die dazu passende Fehlermeldung und die Ausgabe der putty-Session, die funktioniert.
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@AudioVideo: Du musst das als Passwort angeben was Du auch in Putty angibst. Es sei denn die Gegenseite fragt tatsächlich gar nicht nach einem Passwort, dann ist der Code-Abschnitt und die Eingabe aber auch völlig unnötig und sollte aus dem Programm verschwinden.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wenn du eine Verbindung zu einem entfernten Rechner aufbauen willst, mit Code, und nirgendwo in dem Code kommt der Name oder die IP dieses Rechners zum tragen, aber es steht da "localhost" - dann bleibt da doch nicht viel uebrig, woran man drehen muss. Mindestens mal. Passwort & Co sind dann der naechste Schritt.
nezzcarth
User
Beiträge: 1632
Registriert: Samstag 16. April 2011, 12:47

AudioVideo hat geschrieben: Freitag 14. Juni 2019, 10:19 Im übrigen ist TELNET im ProAV Bereich immer noch Standard. Mein Schwager der als Meister der Veranstaltungstechniker arbeitet (und mir auch den Multiviewer besorgt hat) arbeitet täglich mit TELNET.
OT Bemerkung am Rande: Telnet im 21 Jahrhundert kenne ich zwar auch (teilweise von Sachen, von denen man das lieber nicht wissen wollen würde -- nicht nur von Scrapy ;) ) jedoch sollte man dazu sagen, dass man solche Geräte in der Regel in eigenen Netzwerken, die nicht an das Internet angebunden sind, betreibt. Sowas lässt man nicht im regulären Heim- (/Firmennetz) laufen.
Benutzeravatar
sparrow
User
Beiträge: 4165
Registriert: Freitag 17. April 2009, 10:28

Also ich habe letztens noch irgendeinen Laserdrucker über Telnet irgendwas erzählt. Ganz so ungewöhnlich ist das nicht
Antworten