Parsing Telnet Commands?

  • Thread starter Thread starter pbd22
  • Start date Start date
P

pbd22

Hi.

Anybody know of any good code examples out there on
how to take a telnet command and parse it?

Thanks!
 
Thanks.

I'll take a look at the ideas behind the opensource project tonight.

I don't see it being too too complicated (of course, i shouldn't count
my eggs).
The point, really, where I am having problems is this:

telnet command( "open" ) >> .net parser ( "something new").

I mean, a telnet command can be turned into a string, right?

So, if somebody remotely telnets to my computer and then
types some commands, I should be able to use TcpListener
to catch those commands and manipulate them, right?

The point where I am having problems is reading the bytestream
and translating that into a string.

Does anybody out there have some initial ideas?
 
pbd22 wrote:

Telnet (AFAIK) isn't a whole lot more than a terminal emulator stuck
onto the client side of a TCP connection. And you seem to be focused on
the server side, so we can leave aside terminal control codes.
telnet command( "open" ) >> .net parser ( "something new").

I mean, a telnet command can be turned into a string, right?

The characters typed on the client end get sent over the TCP connection
pretty much literally as ASCII, yes.
So, if somebody remotely telnets to my computer and then
types some commands, I should be able to use TcpListener
to catch those commands and manipulate them, right?

Yes. Create a TCP server program which listens on port 23.
The point where I am having problems is reading the bytestream
and translating that into a string.
Does anybody out there have some initial ideas?

For very basic initial support, read and buffer (in a List<byte> for
example) each byte one at a time until you see a line-feed (byte value
10), then convert it into a string using Encoding.ASCII, or maybe by
manually casting the byte values into chars and stuffing into a
StringBuilder.

-- Barry
 
Should I be sending the

username:
password:

prompt when the user initiates the session?
There is no other way to do this, right?

I have hijacked the session so all interactivity
is coming from my program at that point, right?

If this is true, then I need to be reading from some
DB or file for access permissions, right?

Thanks.
Peter
 
Can somebody please show me what the code would look like for sending
a
username and
password request once a telnet session is started and how to capture
that
information and parse it (if that isnt too tall a call).

Below is what I have (in a nutshell) and I am unclear what to put in
my
"TheConnectionHandler()" method. I am guessing this is where i send
user/pass request, wait for response, and parse accordingly?

I would really appreciate some help and code suggestions in the
Handler.

Thanks!


TcpClient socket;
TcpListener listener = new TcpListener(IPAddress.Any,
23);

listener.Start();


while( true)
{

socket = listener.AcceptTcpClient();
connectionQueue.Enqueue( socket);

Thread workingthread = new Thread( new
ThreadStart(TheConnectionHandler));
workingthread.Start();

}


public void TheConnectionHandler()
{

System.Net.Sockets.TcpClient socket =
(System.Net.Sockets.TcpClient)connectionQueue.Dequeue();
}
 
Back
Top