Process Terminal

Process Terminal

The Process plugin allows you to start a shell (or any other process) and then directly communicte to its STDIN, STDOUT, and STDERR streams.

This functionality comes indispensible when the process in question outputs (or expects as input) some binary data. For instance, if you open your regular terminal console and run netcat or openssl to connect to a web-server, and then issue a GET request to fetch some binary resource, e.g. :

$ openssl s_client -connect ioninja.com:443

GET /images/icons/ioninja-256x256.png HTTP/1.1
Host: ioninja.com

... the output will be incomprehensible due to its binary nature:

HTTP/1.1 200 OK
Server: nginx/1.10.3 (Ubuntu)
Date: Mon, 09 Mar 2020 03:54:53 GMT
Content-Type: image/png
Content-Length: 13784
Connection: keep-alive
X-Powered-By: Express
Accept-Ranges: bytes
Cache-Control: public, max-age=0
Last-Modified: Sun, 03 Jun 2018 06:59:07 GMT
ETag: W/"35d8-163c471432a"

PNG

IHD\rfIDATxxTUǿ$tB"õVDp-t툠?ޫ@@ғI2ɔ{$$Ir;3<$3Jrsޗ@i%(m(Ji(5:A@.h(MJAH_ܑz`(@Euu@PD
%@ρt!졔mjwaIڒCs4hFG2O';TIxn2tK!A-u-Dǃ&%<`%-=$6@qu}65O<G]7r٧<pfpA&?PA\j>%C,dx9X^ȱ
BHυTg2B_OHn.;suH%nĠ_LKs;(>$xb~qcll\!c)8yDO*.ߕ!-T^b6D:;+2ASF8J1̙Sb!ĠK0c0fHv)x"=?s

<<< more garbled output >>>

IO Ninja, on the other hand, is tailor-made to handle binary data elegantly and efficiently, so you will have no problem inspecting and analyzing binary output of a process (or feeding a binary request to its STDIN stream).

Another prominent feature of the Process plugin is that unlike a regular terminal console, it can separate between STDOUT and STDERR streams.