Protocol property is almost always set before new
connection is made with remote server. Supported values
are: Raw, Telnet, SSH1, SSH2, SSHAuto, SSL and
SSLTelnet.
For Telnet protocol
(Telnet and SSLTelnet), wodTelnetDLX expects to connect
only to telnet based servers. Although it may seem to you
that it's same as Raw type,
Telnet provides a bit more than
that. Under the hood, Telnet
protocol specification describes specific 'codes'
that are sent at the beginning of connection, and any time
during connection, that are not visible to end user.
wodTelnetDLX intercepts these codes, and sends answers back
to remote server, providing you only plain connection. When
SSLTelnet is used and remote server
does not support SSL, wodTelnetDLX will close the
connection thus providing you only secured connection -
when possible.
Raw protocol is plaintext
protocol (if it can be called protocol at all). It's
purpose is to allow wodTelnetDLX to connect to any server
which may be internally unsupported, allowing you to
send/receive arbitrary data/commands, depending on remote
server type. For instance, if needed, you can connect to
remote server on port 25 and send SMTP commands, and even
send email to someone. Since protocols like SMTP don't
have any special codes, none of them need to be
interpreted, so you will receive exactly what remote server
sent you. Very similar is SSL protocol also. Internally,
wodTelnetDLX will encrypt/decrypt data exchanged with the
server, but result you see will be in plaintext. Typical
use for SSL protocol would be to connect to secured web
servers.
SSH1 protocol is
'old-style' SSH protocol, which is popular among
UNIX servers today. Almost all servers that support Telnet,
support also SSH1 protocol. It's fully encrypted, and
it's known to be secure - if DES algorithm is not used
for encryption.
SSH2 protocol is somehow newer
than SSH1 and uses more sophisticated protocol description.
It supports far more encryption algorithms, and most of
them are used with larger key values than in SSH1. Although
name is similar, protocols are quite different and are not
backward compatible.
SSHAuto protocol is a
'general SSH' protocol. If you set Protocol
proprety to SSHAuto, then
wodTelnetDLX will try to negotiate which SSH version will
be used with remote server. Some servers support both SSH1
and SSH2, in which cases SSH2 will be selected. However, if
server is SSH1 wodTelnetDLX will automatically fallback to
SSH1 and use it.
You can check Protocol property later during connection
to obtain protocol type value. Although you may have set it
to SSHAuto (for example),
wodTelnetDLX may change this value internally to SSH1 or
SSH2 depending which SSH version it negotiated with remote
server. Please keep in mind that before new connection is
established (with some other server) you should set this
property back to SSHAuto.
Changing Protocol property may also affect Port property.
When you set Protocol to Telnet or SSLTelnet, wodTelnetDLX
will automatically set Port property to 23. If any SSH
version is set, wodTelnetDLX will change Port property to
22.
Since version 2.0.0.1, you can change Protocol property
even after you connect to the server. You can do this only
if you initially connected using Raw protocol, and want to upgrade your
connection to SSL, all other
combinations (at this moment) will result in an error.