Toon posts:

[Telnet] Lokale echo op een terminal *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Situatie:
ik heb een programma die een poort open heeft waar met telnet naartoe geconnect kan worden om het een en ander aan commando's in te tikken. Voordat men deze commando's mag intikken moet eerst een wachtwoord ingetikt worden. Er zijn geen speciale telnet commando's gestuurd, dus alles gaat in regels over de lijn, dus niet per ingetikte character.

Probleem:
Het wachtwoord wordt door de lokale echo van telnet op het scherm getoond. Dit wil ik niet. Ik heb al ergens de source van telnet gevonden, maar die schakelt over naar een modus waarin alles per character over de lijn gaat, en dat wil ik niet (waarom is een te lang verhaal en ook niet interessant voor het probleem).

Wat wil ik:
Ik wil de telnet client kunnen vertellen dat ie niet moet lokaal moet echo-en en naardat het wachtwoord is ingetikt weer wel. Alles moet nog steeds per regel door gestuurd worden, niet per character.

Ik heb al de nodige telnet RFC's doorgelezen (holy shit, wat een boel RFC's voor zo'n ogenschijnlijk simpel protocolletje!!), en wat voorbeelden van internet geprobeerd, maar niks doet wat ik graag wil hebben. Ik begin er een beetje debiel van te worden..... Iemand die me wat zinnige input kan geven?

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Aha, dat aloude probleem.

Spit nog eens die RFC's door want je hebt iets gemist :) De karakters 250-255 ongeveer zijn binnen telnet gereserveerd, en staan allemaal voor een woordje. Most obvious woordjes zijn DO, DONT, WONT, WILL.... en ECHO is er ook bij :P

Op het moment dat de client connect stuurt hij als het goed is de volgende sequence oid:
WILL ECHO DON'T ECHO

Hier hoort een server het volgende antwoord op te geven, alhoewel dit niet echt verplicht is:
WONT ECHO DO ECHO

Hiermee zegt de client letterlijk "ik echo, mag jij niet doen" en de server meldt zijn akkoord. Dit is klassiek terminalgedrag, want als de server moet echoen gaat alle input data 2 keer over de lijn. Als je vervolgens echter een password moet invoeren kun je dit als server regelen door de volgende sequence te sturen:
DONT ECHO WONT ECHO

Als de client hiermee akkoord gaat zal je de volgende sequence terugkrijgen:
WONT ECHO DONT ECHO

Oid... hiermee heb je dus onderling afgesproken dat client noch server de ingevoerde tekst zal echoen.

Ik hoop dat je hiermee iets kunt :)

edit:
als je weet waar je naar zoekt is het trouwens erg simpel ineens :P


edit:
en na nog wat verder spitten kom je vanzelf bij de ultieme link over dit onderwerp :Y)

[ Voor 15% gewijzigd door curry684 op 09-03-2004 14:21 ]

Professionele website nodig?


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 26-05 23:14
curry684 schreef op 09 maart 2004 @ 14:11:
als je weet waar je naar zoekt is het trouwens erg simpel ineens :P
Vind je? De eerste vier resultaten zijn vier verschillende RFC's. En dan zit RFC 854, waarvan ik dacht dat het de basis vormde, er nog niet eens bij! Gelukkig brengt die website van laynetworks wat meer overzicht aan.

Verwijderd

Topicstarter
curry684 schreef op 09 maart 2004 @ 14:11:

Ik hoop dat je hiermee iets kunt :)
Ja, die dingen had ik ook al gevonden, maar ik krijg ze niet werkend. Wat me al opviel is dat als ik "telnet <host>" doe, dan begint de telnet idd de IAC commando's door te gooien. Maar, mijn poort zit niet op 23. Doe ik echter "telnet <host> <poort>" dan houdt de telnet client z'n smoel en wat ik ook aan IAC dingen erheen gooi, telnet reageert niet :( Telnet blijft echo-en.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Verwijderd schreef op 10 maart 2004 @ 11:23:
[...]


Ja, die dingen had ik ook al gevonden, maar ik krijg ze niet werkend. Wat me al opviel is dat als ik "telnet " doe, dan begint de telnet idd de IAC commando's door te gooien. Maar, mijn poort zit niet op 23. Doe ik echter "telnet " dan houdt de telnet client z'n smoel en wat ik ook aan IAC dingen erheen gooi, telnet reageert niet :( Telnet blijft echo-en.
Dan is je telnet client buggy :)

Professionele website nodig?


Verwijderd

Topicstarter
curry684 schreef op 10 maart 2004 @ 11:38:
[...]

Dan is je telnet client buggy :)
Da's gewoon de telnet die met Debian meekomt. Die van Gentoo doet hetzelfde. Het moet dus ergens anders aan liggen....

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Verwijderd schreef op 10 maart 2004 @ 11:50:
[...]
Da's gewoon de telnet die met Debian meekomt. Die van Gentoo doet hetzelfde. Het moet dus ergens anders aan liggen....
Nou nee je zegt het zelf al: op poort 23 houdt de client zich wel aan het protocol, op andere poorten niet. Ik weet niet hoe je dat serverside zou willen oplossen.

Ik snap overigens wel waarom ie het zo doet, want telnet is ook populair om op bijv. poort 25 een SMTP-sessie te emuleren of op poort 80 een HTTP-request te doen. En daarom is het niet handig dat ie telnet-specifieke activiteiten loslaat op die andere poorten.

Check eens of je geen commandline switches op telnet hebt die dit zouden kunnen controleren. Je kunt ook met een MUD-client zoals zmud, tintin of tinyfugue proberen, afaik houden die zich wel op alle poorten aan het protocol.

[ Voor 39% gewijzigd door curry684 op 10-03-2004 12:11 ]

Professionele website nodig?

Pagina: 1