SSL Server Terminal

SSL Server Terminal

Purchase

Required:
$35
$45
Optional:
$20

SSL Server is the server-side counterpart of SSL Connection. It is used to accept incoming SSL connections, turning IO Ninja into a highly configurable raw SSL server-side terminal.

In the modern world, secure connections are everywhere. Browsing the web, watching video streams, shopping online, logging into remote accounts, controlling smart homes and IoT devices — all this and more is done over connections secured with SSL (SSL stands for Secure Sockets Layer).

Please keep in mind, when we say SSL, what we actually mean is TLS (Transport Layer Security) — a more recent variation of the original SSL protocol; still, it's common to refer to all types of connections secured with the SSL/TLS protocol suite simply as SSL connections.


Unfortunately, there are not many tools available for debugging raw SSL connections, and even less support for creating SSL servers. The most common way is to use the openssl command-line utility in the s_server mode to listen for incoming connections, and then communicate to the connected client by inspecting client requests being shown on the terminal console and typing characters to reply:

$ openssl s_server -port 8443 -cert tmp-cert.pem -key -tmp-cert-key.pem

However, that is not very convenient, and it imposes quite a few functional restrictions (e.g., it's impossible to configure ephemeral ECDH parameters, you can't prepare a packet and send it all at once, and it's hard to send and receive non-textual characters).

The SSL Server plugin fills the existing gap.

Now, IO Ninja can be used for convenient GUI-based debugging of raw SSL connections. You can:

  • Use the whole range of IO Ninja logging and transmitting capabilities;
  • Specify server-side SSL certificates...
  • ...or use ephemeral DH or ECDH and run an SSL server without a certificate;
  • Choose whether to request and verify client-side SSL certificates...
  • ...and specify a set of CAs for verification;
  • Specify the local adapter to listen on;
  • Control low-level TCP options (Nagle, TCP RST, keep-alives).

The SSL Server plugin allows you to accept and maintain multiple incoming connections at the same time. You can select which client to talk to (as shown in the getting started guide below), and if the log gets too messy — apply a filter and leave only the conversation with a particular client while hiding everything else.

But There's More!

In addition to all of the SSL related greatness that the SSL Server plugin offers, IO Ninja features a series of platform features that can make working with SSL not just easy, but actually enjoyable:

Powerful & Beautiful Logging Engine

The Ninja Scroll logging engine is the heart of IO Ninja! It offers many unique and useful features you won't find in other SSL servers, such as interleaving binary data with informational messages for a clear timeline of events, switching between hex-view and plain-text view of binary data, a regex markup engine for highlighting data based on regular expressions, and many others!

Versatile Transmission Facilities

IO Ninja features convenient and powerful tools for preparing SSL packets before transmission. We offer a plain text editor with support for C ESC-sequences to encode special characters, a modern Unicode-enabled hex editor, and a file transmit feature.

A history of recently transmitted SSL packets is maintained, and you can also build your own libraries of commonly used packets — then send those packets with a mouse click!

Scriptability

With the Script Pane, you can generate SSL packets programmatically, wait for and react to SSL events, and automatically reply to incoming data, etc.

For more complex binary packets, you can describe the structure and methods for updating checksums or other auto-calculated fields as a Packet Template, then conveniently fill in the fields in a property grid.

Getting Started

Documentation

See Also

PluginRelevance
SSL Terminal
A highly configurable raw SSL client-side terminal.

Gallery