"Sock" is a network program written by W. Richard Stevens. It can be used both as a client and as a server and can send both TCP and UDP packets. It works in 4 modes:

bsd % sock bsd echo

establishes a tcp connection to bsd's echo service.

bsd % sock -s 5555

runs a service on local ip address and port 5555. The server will copy data received from the client to STDOUT and copy data input from STDIN to the client

bsd % sock -i -n12 -w4096 bsd discard

writes 12 buffers of 4096 bytes of data to the discard service on bsd

bsd % sock -i -s 5555

discards any data received on 5555

Mike Borella has ported "sock" to linux. You can download the source or binary.


Tcpdump is originally written by Van Jacobson, Craig Leres and Steven McCanne, all of whom come from Lawrence Berkeley Laboratory. Tcpdump sets the network interfaces in "promiscuous" mode to sniff every packet received by the interfaces.

Tcpdump-3.3 is able to print out CC, CC_NEW and CC_ECHO options introduced by T/TCP. You can download the source or binary. Or you can download the diff file to add T/TCP funtion to your version of Tcpdump.

warning: During the compilation of LIBPCAP 0.0.6 (included in the tcpdump file), there could be conflicts. Simply comment out the corresponding lines in /usr/include/stdio.h, finish the compilation, and uncomment out the lines.


SSH_tunnel is a perl script. If you are using ssh behind a firewall or a proxy, you can use this script to direct your ssh traffic through the proxy.

Before using it, change the proxy hostname and port number at the beginning of the script; then add an entry to your .ssh/config file as the following:

ProxyCommand /home/user/bin/stunnel %h %p

Thereafter 'ssh' will use this script to tunnel through the firewall to the remote host. To access various hosts with SSH, simply keep a entry like the one above for each remote host. You may need to tweak it a little to cope with the peculiarities of your firewall.

You can download the script here.


SourceInsight is a Windows-based IDE especially suitable for complex projects involving plenty of files and functions. It enables you to jump directly from one variable to its type definition or from one function to called functions within it. A lot of other features prove incredibly useful.

You can download it here.