summaryrefslogtreecommitdiff
path: root/src/usr.bin/nc/nc.1
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr.bin/nc/nc.1')
-rw-r--r--src/usr.bin/nc/nc.1212
1 files changed, 212 insertions, 0 deletions
diff --git a/src/usr.bin/nc/nc.1 b/src/usr.bin/nc/nc.1
new file mode 100644
index 0000000000..29f506945c
--- /dev/null
+++ b/src/usr.bin/nc/nc.1
@@ -0,0 +1,212 @@
1.\" $OpenBSD: nc.1,v 1.26 2003/09/05 16:54:07 jmc Exp $
2.\"
3.\" Copyright (c) 1996 David Sacerdote
4.\" All rights reserved.
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\" notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\" notice, this list of conditions and the following disclaimer in the
13.\" documentation and/or other materials provided with the distribution.
14.\" 3. The name of the author may not be used to endorse or promote products
15.\" derived from this software without specific prior written permission
16.\"
17.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27.\"
28.Dd June 25, 2001
29.Dt NC 1
30.Os
31.Sh NAME
32.Nm nc
33.Nd "arbitrary TCP and UDP connections and listens"
34.Sh SYNOPSIS
35.Nm nc
36.Op Fl 46hklnrtuvzU
37.Op Fl i Ar interval
38.Op Fl p Ar source port
39.Op Fl s Ar source ip address
40.Op Fl x Ar proxy address Op :port
41.Op Fl w Ar timeout
42.Op Fl X Ar socks version
43.Op Ar hostname
44.Op Ar port[s]
45.Sh DESCRIPTION
46The
47.Nm
48(or
49.Nm netcat )
50utility is used for just about anything under the sun involving TCP
51or UDP.
52It can open TCP connections, send UDP packets, listen on arbitrary
53TCP and UDP ports, do port scanning, and deal with both IPv4 and
54IPv6.
55Unlike
56.Xr telnet 1 ,
57.Nm
58scripts nicely, and separates error messages onto standard error instead
59of sending them to standard output, as
60.Xr telnet 1
61does with some.
62.Pp
63Destination ports can be single integers or ranges.
64Ranges are in the form nn-mm.
65.Pp
66Common uses include:
67.Pp
68.Bl -bullet -offset indent -compact
69.It
70simple TCP proxies
71.It
72shell\-script based HTTP clients and servers
73.It
74network daemon testing
75.It
76and much, much more
77.El
78.Pp
79The options are as follows:
80.Bl -tag -width Ds
81.It Fl 4
82Forces
83.Nm
84to use IPv4 addresses only.
85.It Fl 6
86Forces
87.Nm
88to use IPv6 addresses only.
89.It Fl h
90Prints out
91.Nm
92help.
93.It Fl i Ar interval
94Specifies a delay time interval between lines of text sent and received.
95Also causes a delay time between connections to multiple ports.
96.It Fl k
97Forces
98.Nm
99to stay listening for another connection after its current connection
100is completed.
101.It Fl l
102Used to specify that
103.Nm
104should listen for an incoming connection rather than initiate a
105connection to a remote host.
106.It Fl n
107Do not do any DNS or service lookups on any specified addresses,
108hostnames or ports.
109.It Fl p Ar port
110Specifies the source port
111.Nm
112should use, subject to privilege restrictions and availability.
113.It Fl r
114Specifies that source and/or destination ports should be chosen randomly
115instead of sequentially within a range or in the order that the system
116assigns them.
117.It Fl s Ar hostname/ip address
118Specifies the IP of the interface which is used to send the packets.
119.It Fl t
120Causes
121.Nm
122to send RFC 854 DON'T and WON'T responses to RFC 854 DO and WILL requests.
123This makes it possible to use
124.Nm
125to script telnet sessions.
126.It Fl u
127Use UDP instead of the default option of TCP.
128.It Fl v
129Have
130.Nm
131give more verbose output.
132.It Fl w Ar timeout
133If a connection and stdin are idle for more than
134.Ar timeout
135seconds, then the connection is silently closed.
136The
137.Fl w
138flag has no effect on the
139.Fl l
140option, i.e.\&
141.Nm
142will listen forever for a connection, with or without the
143.Fl w
144flag.
145The default is no timeout.
146.It Fl x Ar proxy address Op :port
147Requests that
148.Nm
149should connect to
150.Ar hostname
151using a SOCKS proxy at address and port.
152If port is not specified, port 1080 is used.
153.It Fl z
154Specifies that
155.Nm
156should just scan for listening daemons, without sending any data to them.
157.It Fl U
158Specifies to use Unix Domain Sockets.
159.It Fl X Ar version
160Requests that
161.Nm
162should use the specified version of the SOCKS protocol when talking to
163a SOCKS proxy.
164If version is not specified, SOCKS version 5 is used.
165.El
166.Sh EXAMPLES
167.Bl -tag -width x
168.It Li "$ nc hostname 42"
169Open a TCP connection to port 42 of hostname.
170.It Li "$ nc -p 31337 hostname 42"
171Open a TCP connection to port 42 of hostname, and use port 31337 as
172the source port.
173.It Li "$ nc -w 5 hostname 42"
174Open a TCP connection to port 42 of hostname, and timeout after
175five seconds while attempting to connect.
176.It Li "$ nc -u hostname 53"
177Open a UDP connection to port 53 of hostname.
178.It Li "$ nc -s 10.1.2.3 example.host 42"
179Open a TCP connection to port 42 of example.host using 10.1.2.3 as the
180IP for the local end of the connection.
181.It Li "$ nc -v hostname 42"
182Open a TCP connection to port 42 of hostname, displaying some
183diagnostic messages on stderr.
184.It Li "$ nc -v -z hostname 20-30"
185Attempt to open TCP connections to ports 20 through 30 of
186hostname, and report which ones
187.Nm
188was able to connect to.
189.It Li "$ nc -v -u -z -w 3 hostname 20-30"
190Send UDP packets to ports 20-30 of example.host, and report which ones
191did not respond with an ICMP packet after three seconds.
192.It Li "$ nc -l 3000"
193Listen on TCP port 3000, and once there is a connection, send stdin to
194the remote host, and send data from the remote host to stdout.
195.It Li "$ echo foobar | nc hostname 1000"
196Connect to port 1000 of hostname, send the string "foobar"
197followed by a newline, and move data from port 1000 of hostname to
198stdout until hostname closes the connection.
199.It Li "$ nc -U /var/tmp/dsocket"
200Connect to a Unix Domain Socket.
201.It Li "$ nc -lU /var/tmp/dsocket"
202Create and listen on a Unix Domain Socket.
203.El
204.Sh SEE ALSO
205.Xr cat 1 ,
206.Xr telnet 1
207.Sh AUTHORS
208Original implementation by *Hobbit*
209.Aq hobbit@avian.org .
210.Pp
211Rewritten with IPv6 support by Eric Jackson
212.Aq ericj@monkey.org .