dest-unreach / socat
what: "netcat++" (extended design, new implementation)
OS: AIX, BSD, HP-UX, Linux, Solaris e.a. (UNIX)
lic: GPL2
inst: tar x...; ./configure; make; make install
doc: README; socat.html, socat.1; xio.help
ui: command line
exa: socat TCP6-LISTEN:8080,reuseaddr,fork PROXY:proxy:www.domain.com:80
keyw: tcp, udp, ipv6, raw ip, unix-socket, pty, pipe, listen, socks4, socks4a,
proxy-connect, ssl-client, filedescriptor, readline, stdio,
exec, system, file, open, tail -f, termios, setsockopt, chroot,
fork, perm, owner, trace, dump, dgram, ext3, resolver, datagram,
multicast, broadcast, interface, socket, sctp, generic, ioctl
2009/05/09: on RedHat based systems CFLAGS may have -Wall predefined which
breaks socat's build process with something like
#error HAVE_BASIC_OFF_T is out of range: HAVE_BASIC_OFF_T..., please report this as bug.
In this case replace the configure file with
this version
(resp. configure.gz
or configure.in)
and restart the build process:
make distclean; ./configure; make.
2009/05/07: socat version 1.7.1.1 fixes a couple of bugs, some of which
could crash socat under some circumstances (CHANGES).
2009/04/13: Gentil Kiwi updated his Cygwin based binary socat packages at http://www.gentilkiwi.com/telechargements-s43-t-socat.htm#englishversion.
2009/04/04: the third beta version (2.0.0-b3) of socat version 2 is ready for download. It contains all new bug fixes and features of 1.7.1.0 (plus fix:setenv, see below) and introduces the possibility to integrate external programs in address chains (see doc/socat-addresschain.html and doc/socat-exec.html).
2009/04/03: Todd Stansell reported a bug that crashed socat versions 1.7.0.0 to 1.7.1.0 (and all earlier versions with option su) on systems without a native setenv() function, especially Solaris up to version 9. Here is the patch.
2009/04/02: socat version 1.7.1.0 provides a few new address options to
better control its closing behaviour - see
CHANGES.
2009/04/01: socat version 1.7.0.1 fixes some bugs (connect-timeout, SIGSEGV on listen, end-close).
2008/11/01: a public git repository containing socat 1.6.0.0 and all later releases is available.
2008/10/15: socat version 1.7.0.0 brings support for SCTP stream, raw interface, and generic sockets. New option escape allows to interrupt raw terminal connections. Listening and receiving sockets can set a couple of environment variables. Added base control of System V STREAMS. Lots of corrections were performed. socat compiles on Mac OS X again.
You can download socat 1.7.1.1 in source form (.gz, .bz2), or as a patch to 1.7.1.0. Feel free to check the signed md5 hashes!
Many actual Linux and BSD distributions already provide socat; for other distributions and for some commercial UNIX platforms, precompiled socat packages are available too, so search the internet if you dont´t want to bother with compiling it yourself.
There is a page with socat patches and contributions.
socat binaries for Windows based on Cygwin are provided by Gentil Kiwi for download.
Classical documentation:
Mini tutorials: