Is it true that everything you do on the web such as web browsing and reading email you can do with Telnet?


Yes, although that would forfeit benefits of compression, and working with chunked GET response or Base64-encoded login/password in SMTP would be painful, so I wouldn't recommend actually using it except for testing purposes, use Perl or python if you want to do something on the web automatically.

Also, if you want to make requests that are indistinguishable from the ones a certain browser makes (having to do this is a sad reality when you're trying to work with sites protected by systems such as Bad Behavior), consider writing a mini-server that will output your request verbatim (there are such examples flying around, but they will probably need some slight modification). Then you will be able to use it as a template to make simple requests to such sites.

For example, try

telnet google.com 80

When the initializing is done, type

GET / HTTP/1.0

and press ENTER twice (as required by HTTP protocol). You will get 302 response that a browser would normally use to redirect you to WWW.google.com.


Telnet can be used for (nearly) raw TCP connections, and you can use character-based protocols with it, but there are some differences:

Therefore, a Telnet client application may also be used to establish an interactive raw TCP session, and it is commonly believed that such session which does not use the IAC (\377 character, or 255 in decimal) is functionally identical. This is not the case, however, because there are other network virtual terminal (NVT) rules, such as the requirement for a bare carriage return character (CR, ASCII 13) to be followed by a NULL (ASCII 0) character, that distinguish the telnet protocol from raw TCP sessions.

Otherwise, you're able to use character-based application layer protocols such as HTTP, FTP, SMTP and IRC using Telnet. Cince it's quite a challenge to read and write compressed data manually, you're limited to HTTP without HTTP/1.1's compression. For protocols that are entirely binary, you're pretty much out of luck.