Wie bringt man Telnet zu localhost zum Laufen?

10

Ich arbeite an einem lokalen Entwickler-Setup, das die Verwendung von Telnet erfordert (beim Einrichten eines MUD-Servers). Bitte kein Feedback, was darauf hindeutet, dass ich SSH als sicherere Alternative verwende.

Obwohl ich den Telnet-Daemon eingerichtet habe, erhalte ich diese Ausgabe, wenn ich localhost telnet.

$ telnet localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

Was sind einige Gründe, warum die Verbindung geschlossen wird? Ich habe die Dokumente auf hosts.allow und hosts.deny überprüft und beschlossen, keine Einträge einzugeben, da standardmäßig alle zulässig sind und dies für meine lokalen Entwicklungszwecke ausreicht.

Jerome
quelle
2
Ich denke, Sie müssen uns mehr über die spezielle Mehrbenutzer-Dungeon-Software erzählen, die Sie verwenden. Ubuntus telnetdDaemon funktioniert normalerweise sofort einwandfrei ... aber es gibt Ihnen auch ein normales Login. Ich vermute, der MUD-Server selbst überwacht Port 23, daher liegt das Problem wahrscheinlich in seiner Konfiguration. Es hat höchstwahrscheinlich nichts mit dem zu tun, was Sie mit dem telnetKunden tun . Wenn Sie alternativ versuchen, Ihren MUD-Server mit nativem Ubuntu zu verwenden telnetd, teilen Sie uns bitte mit, welche Konfiguration Sie verwendet haben, um dies zu ermöglichen.
Eliah Kagan
Der MUD-Server verwendet normalerweise kein telnetd. Es wird als Dienst an einem anderen Port ausgeführt.
Alistair Buxton
Ok, ich wusste nicht, dass der MUD-Server den nativen Daemon wahrscheinlich nicht verwenden würde. Ich arbeite an der Verwendung einer PHP-Spieleserverbibliothek, von der ich angenommen habe, dass sie "über" nativem Telnet ausgeführt wird.
Jerome
Welche Bibliothek und was hast du damit gemacht? Wenn es sich um PHP handelt, deutet dies darauf hin, dass möglicherweise ein webbasierter MUD-Server (obwohl dies nicht garantiert ist) anstelle eines Telnet-basierten Servers bereitgestellt wird. Auch vorausgesetzt , Sie installiert telnetdund nicht seine Konfiguration ändern, es ist immer noch merkwürdig , dass Sie nicht in der Lage sind , eine Shell zu erhalten , wenn Sie telnetzu localhost. Möchten Sie weiterhin Hilfe bei diesem Problem, auch wenn es Sie wahrscheinlich nicht daran hindert, Ihren MUD-Server zu betreiben?
Eliah Kagan
2
Wenn Ihr Server über inetd ausgeführt wird, überwacht inetd häufig einen Port und schließt Verbindungen auf die Weise, dass Sie sehen, ob der eigentliche Server-Daemon dann nicht gestartet werden kann. Dies kann ein nützlicher Hinweis für Sie sein oder völlig irrelevant. Ich bin mir nicht sicher welche.
Robie Basak

Antworten:

2

Okay, lassen Sie uns dies Schritt für Schritt untersuchen. Geben Sie Folgendes ein, um herauszufinden, was tatsächlich auf dem Telnet-Port ausgeführt wird:

sudo netstat -tulpn | grep :23

und fügen Sie die Ausgabe ein.

Aus einem anderen Blickwinkel: Welche PHP-Spielbibliothek verwenden Sie?

0xF2
quelle
In Ordung! Klingt so, als könnten wir irgendwohin gelangen.
Jerome
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 2842/inetd
Jerome
Die PHP-Spielbibliothek heißt NAGS und scheint aufgrund einiger E-Mails mit ihrem Ersteller immer noch an und für sich in einem nicht vollständigen Zustand zu sein. Aber ich bin daran interessiert, dieses Problem mit den Informationen, die ich unterwegs sammle, bis zur Ziellinie zu tragen.
Jerome
1

Hinweis: Ich habe gerade nach einem MUD-Server mit NAGS-Spielbibliothek gesucht und Folgendes gefunden : nags-php-mud. Meine Antwort ist irrelevant, wenn Sie etwas anderes verwenden.

Die config.phphatte folgende Konfiguration:

<?
    /*Modify the setting here to set up your game server */
    $configarray = array(
        'DB_HOST' => 'localhost',
        'DB_USERNAME' => 'nags',
        'DB_PASSWORD' => 'password',
        'DB_DATABASE' => 'nags',
        'IP_ADDRESS' => '0.0.0.0',
        'SERVER_PORT' => '4000',
        'SERVER_NAME' => 'NAGS GAMING SYSTEM',
);?>

Die Portnummer lautet also 4000. Können Sie versuchen, die IP-Adresse zu aktualisieren, um 127.0.0.1dann über Telnet eine Verbindung zu Port 4000 herzustellen:telnet 127.0.0.1 4000

Aktualisiert
Im obigen Befehl haben Sietelnet localhostund nichttelnet localhost 4000.
Ich habe versucht, es auszuführen, aber ich bekomme ein Problem. Es zeigt Folgendes an und ich kann es nicht verfolgen:

PHP Notice:  Undefined index: quiet in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 34  
PHP Notice:  Undefined index: q in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 34
PHP Notice:  Undefined index: deamon in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 38
PHP Notice:  Undefined index: d in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 38
PHP Notice:  Undefined property: MAIN::$MESSAGE in /home/blvdeer/Downloads/nags-php-mud-master/modules/main.php on line 158
SYSTEM: (LOAD MODULE)   MESSAGE
SYSTEM: (LOAD MODULE)   CONFIGURE
SYSTEM: (LOAD MODULE)   DATABASE
blvdeer
quelle
Genau das habe ich gemacht, ohne positive Ergebnisse.
Jerome
Die Antwort wurde aktualisiert. Auch in der Frage haben Sie telnet localhoststatttelnet localhost 4000
blvdeer
Ja, ich hoffe, vom Entwickler der NAGS-Bibliothek etwas zu hören. Was das spezifische Telnet-Problem betrifft (auf 4000 oder 23 oder einen beliebigen Port), sind noch Vorschläge offen.
Jerome
-2

Versuchen Sie es mit telnet localhost 80 Where 80 ist der Port, auf dem Ihr Server ausgeführt wird. Ich habe es mit 80 Port für Apache Server versucht und es funktioniert.

Möglicherweise müssen Sie auch die Optionen -K und -X verwenden. Lesen Sie mehr darüber im Man Telnet

Abhijit N.
quelle
3
Apache ist ein Webserver und Port 80 ist der Port für HTTP. Telnet funktioniert für die Verbindung mit einer Vielzahl von Servern, da es sich um ein sehr einfaches Protokoll handelt. Sie können Befehle für HTTP, SMTP usw. manuell eingeben. Port 23 ist der Port für telnetd. Es gibt also keinen Grund zu der Annahme, dass es auf Port 80 ausgeführt wird. Manchmal werden auf Port 80 Nicht-HTTP-Server ausgeführt, damit Clients ausgehende Firewall-Einschränkungen umgehen können, aber es gibt keinen Hinweis darauf, was hier vor sich geht. Hier hat das OP den Server eingerichtet. Es ist unwahrscheinlich, dass Telnet- und MUD-Server Port 80 abhören, ohne dafür konfiguriert zu sein.
Eliah Kagan
2
Darüber hinaus gibt ist ein Server auf Port 23 hier ausgeführt wird , weil die Verbindung hergestellt wurde. Es wurde gerade danach beendet. Wenn der Server auf einem anderen Port ausgeführt würde und Port 23 nicht überwacht würde, wäre die Verbindung abgelehnt worden.
Eliah Kagan
Ja, wir stellen die Verbindung her, aber dann ist sie geschlossen. Ich dachte ursprünglich, es gäbe einen Sicherheitsgrund.
Jerome