Netcat OpenBSD Cygwin Port 2011/03/02

While there are windows ports of netcat available, none of them includes the features which the OpenBSD version of netcat provides.

Therefore I ported the OpenBSD version of netcat myself. I used the FreeBSD version, applied some patches of the debian port of this version and fixed a couple of patch rejects and incompatibilities.

The option -V is not supported on this windows version.


Cygwin is required for this version of netcat to work.

If you already have cygwin installed: minimum Cygwin version required is: 1.7.8-1.



Just copy bin/nc.exe to /usr/bin/ inside the Cygwin installation directory.


 Netcat-OpenBSD version for win32/cygwin 2011/03/02
 usage: nc [-46DdhklnrStUuvz] [-I length] [-i interval] [-O length]
          [-P proxy_username] [-p source_port] [-s source_ip_address] [-T ToS]
          [-V fib] [-w timeout] [-X proxy_protocol]
          [-x proxy_address[:port]] [hostname] [port]
        Command Summary:
                -4              Use IPv4
                -6              Use IPv6
                -D              Enable the debug socket option
                -d              Detach from stdin
                -h              This help text
                -I length       TCP receive buffer length
                -i secs         Delay interval for lines sent, ports scanned
                -k              Keep inbound sockets open for multiple connects
                -l              Listen mode, for inbound connects
                -n              Suppress name/port resolutions
                --no-tcpopt     Disable TCP options
                -O length       TCP send buffer length
                -P proxyuser    Username for proxy authentication
                -p port         Specify local port for remote connects
                -r              Randomize remote ports
                -S              Enable the TCP MD5 signature option
                -s addr         Local source address
                -T ToS          Set IP Type of Service
                -t              Answer TELNET negotiation
                -U              Use UNIX domain socket
                -u              UDP mode
                -v              Verbose
                -w secs         Timeout for connects and final net reads
                -X proto        Proxy protocol: "4", "5" (SOCKS) or "connect"
                -x addr[:port]  Specify proxy address and port
                -z              Zero-I/O mode [used for scanning]
        Port numbers can be individual or ranges: lo-hi [inclusive] 

The download tarball also contains a file named USAGE which is a copy of the FreeBSD manpage of nc(1). You can read it from a cygwin shell using the command less USAGE.

You can also read the manpage online.


Copyleft (c) 2011 T.Linden

Copyright Notice of the debian port

Copyright (c) 2001 Eric Jackson

Copyright (c) 1996 *Hobbit* .

Redistributed under the BSD license.