netcat--Cat data to a network host and port- by Kevin Smith

Are you looking for FAQ: what is netcat and how do I use it?

Kevin Smith of Shadetree Software has allowed us to mirror this from his site.

This is a slightly newer version that the one currently circulating on the net.

The original version would read standard in and write it to the network port. The new version also monitors the network port for data being returned. Anything read back from the network port is put out on stdout.

Argument handling has been changed slightly

For debug output just use -d instead of -d 1

The space betwen the argument letter and the argument option is now optional.

        netcat -hhost -p9100
instead of
        netcat -h host -p 9100

Debug output looks like

    echo "`date`\f\c" | netcat -d -hspot -p9100
    Host: spot
    Port: 9100
    ip =

    >(s0)(r0)EOF from 0--disconnecting

This means

  • Host is "spot"
  • Port is 9100
  • gethostbyname() succeeded and returned (struct hostent *)0x408b10 This value is useless except that a return of 0x0 means we were not able to resolve the host name. In which case you should also see a more descriptive message.
  • Host name resolved to ip
  • Network socket (file descriptor) is 4
  • Connect was successfull
  • 1) Read 29 bytes from socket 0 (stdin) and write 29 bytes to socket 4 (net)
  • 2) Read zero bytes from socket 0 (stdin)... EOF, done