Projects / Socat

Socat

Socat is a relay for bidirectional data transfer between two independent data channels. Each of these data channels may be a file, pipe, device (terminal or modem, etc.), socket (Unix, IP4, IP6 - raw, UDP, TCP), SSL, a client for SOCKS4, or proxy CONNECT. It supports broadcasts and multicasts, abstract Unix sockets, Linux tun/tap, GNU readline, and PTYs. It provides forking, logging, and dumping and different modes for interprocess communication. Many options are available for tuning socat and its channels. Socat can be used, for example, as a TCP relay (one-shot or daemon), as a daemon-based socksifier, as a shell interface to Unix sockets, as an IP6 relay, or for redirecting TCP-oriented programs to a serial line.

Tags
Licenses
Operating Systems
Implementation

Recent releases

  •  09 Mar 2014 21:24

    Release Notes: This version contains fixes for most of the bugs and porting issues reported or found in more than two years,

    •  28 Jan 2014 22:48

      Release Notes: This release fixes a security issue: the socats PROXY-CONNECT address was vulnerable to a buffer overflow with data provided on the command line (CVE-2014-0019).

      •  26 May 2013 18:39

        Release Notes: This release fixes a security issue: Under certain circumstances, an FD leak occurs and may be misused for denial-of-service attacks against socat running in server mode (CVE-2013-3571)

        •  20 May 2012 08:34

          Release Notes: Fixes a possible heap buffer overflow in the readline address.

          •  05 Dec 2011 21:44

            Release Notes: This release allows tun/tap interfaces without IP addresses and introduces the options openssl-compress and max-children. It fixes 18 bugs and has 11 changes for improved platform support, especially Mac OS X Lion, DragonFly, and Android.

            Recent comments

            07 Apr 2008 15:51 NanoTech

            Awesome UNIX utility!
            I had written a small program, named sockio, which does a (very) small subset of what this awesome socat utility does. When I discovered socat, I was impressed by the number of useful features, in particular SSL support.

            With its clean design, this utility keeps the spirit of UNIX: Basic utilities that can be piped or connected together!

            The possibilities are infinite. I can now connect together any two bi-directional streams.

            Now, I'm tempted to write a Windows port.

            27 Jan 2007 10:40 tino

            Far more than a swiss army knife of networking ;)
            The most interesting options IMHO are builtin SSL and SOCKS support. With the latter it's easy to map a TOR hidden service to a local port to access it like any other service on the Internet. Here you have the answer to (nearly) all your networking interconnection needs you ever might think of.

            16 Jul 2006 01:00 SeSe

            A+++ for socat
            Truly awesome, we use it extensively in productions systems and it rocks! Please keep developing!

            Cheers,

            SS

            04 Oct 2002 17:54 florinandrei

            Fantastic!!!
            Friggin' unbelievable! All my dreams come true! Now i can pipe stdin to the UDP:syslog port, or redirect the output of /bin/ls to an arbitrary TCP port on an arbitrary host! Stuff like that.
            Awesome! Really, really awesome!
            Thank you for the excellent application!

            Screenshot

            Project Spotlight

            OpenStack4j

            A Fluent OpenStack client API for Java.

            Screenshot

            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.