Netcat I/O enhancements
Posted
by user13277689
on Oracle Blogs
See other posts from Oracle Blogs
or by user13277689
Published on Mon, 28 Nov 2011 07:11:27 -0600
Indexed on
2011/11/28
18:21 UTC
Read the original article
Hit count: 339
/Solaris
When Netcat integrated into OpenSolaris it was already clear that there will be couple of enhancements needed. The biggest set of the changes made after Solaris 11 Express was released brings various I/O enhancements to netcat shipped with Solaris 11. Also, since Solaris 11, the netcat package is installed by default in all distribution forms (live CD, text install, ...).
Now, let's take a look at the new functionality:
/usr/bin/netcat | alternative program name (symlink) |
-b bufsize | I/O buffer size |
-E | use exclusive bind for the listening socket |
-e program | program to execute |
-F | no network close upon EOF on stdin |
-i timeout | extension of timeout specification |
-L timeout | linger on close timeout |
-l -p port addr | previously not allowed usage |
-m byte_count | Quit after receiving byte_count bytes |
-N file | pattern for UDP scanning |
-I bufsize | size of input socket buffer |
-O bufsize | size of output socket buffer |
-R redir_spec | port redirection |
addr/port[/{tcp,udp}] | syntax of redir_spec |
-Z | bypass zone boundaries |
-q timeout | timeout after EOF on stdin |
Obviously, the Swiss army knife of networking tools just got a bit thicker.
While by themselves the options are pretty self explanatory, their combination together with other options, context of use or boundary values of option arguments make it possible to construct small but powerful tools. For example:
- the port redirector allows to convert TCP stream to UDP datagrams.
- the buffer size specification makes it possible to send one byte TCP segments or to produce IP fragments easily.
- the socket linger option can be used to produce TCP RST segments by setting the timeout to 0
- execute option makes it possible to simulate TCP/UDP servers or clients with shell/python/Perl/whatever script
- etc.
If you find some other helpful ways use please share via comments.
Manual page nc(1) contains more details, along with examples on how to use some of these new options.
© Oracle Blogs or respective owner