icon Top 9 categories map      RocketAware >

nc(1)

Tips: Browse or Search all pages for efficient awareness of more than 6000 of the most popular reusable and open source applications, functions, libraries, and FAQs.


The "RKT couplings" below include links to source code, updates, additional information, advice, FAQs, and overviews.


Home

Search all pages


Subjects

By activity
Professions, Sciences, Humanities, Business, ...

User Interface
Text-based, GUI, Audio, Video, Keyboards, Mouse, Images,...

Text Strings
Conversions, tests, processing, manipulation,...

Math
Integer, Floating point, Matrix, Statistics, Boolean, ...

Processing
Algorithms, Memory, Process control, Debugging, ...

Stored Data
Data storage, Integrity, Encryption, Compression, ...

Communications
Networks, protocols, Interprocess, Remote, Client Server, ...

Hard World
Timing, Calendar and Clock, Audio, Video, Printer, Controls...

File System
Management, Filtering, File & Directory access, Viewers, ...

    

RocketLink!--> Man page versions: OpenBSD



NC(1)                      OpenBSD Reference Manual                      NC(1)

NAME
     nc - arbitrary TCP and UDP connections and listens



SYNOPSIS
     nc [-e command] [-g intermediates] [-G hopcount] [-i interval] [-lnrtuvz]
        [-o filename] [-p source port] [-s ip address] [-w timeout] [hostname]
        [port[s...]]

DESCRIPTION
     The nc (or netcat) utility is used for just about anything under the sun
     involving TCP or UDP.  It can open TCP connections, send UDP packets,
     listen on arbitrary TCP and UDP ports, do port scanning, and source rout-
     ing.  Unlike telnet(1),  nc scripts nicely, and separates error messages
     onto standard error instead of sending them to standard output, as tel-
     net(1) does with some.

     Destination ports can be single integers, names as listed in services(5),
      or ranges.  Ranges are in the form nn-mm, and several separate ports
     and/or ranges may be specified on the command line.

     Common uses include:

     -   simple TCP proxies

     -   shell-script based HTTP clients and servers

     -   network daemon testing

     -   source routing based connectivity testing

     -   and much, much more

     The options are as follows:

     -e command
             Execute the specified command, using data from the network for
             stdin, and sending stdout and stderr to the network.  This option
             is only present if nc was compiled with the GAPING_SECURITY_HOLE
             compile time option, since it allows users to make arbitrary pro-
             grams available to anyone on the network.

     -g intermediate-host
             Specifies a hop along a loose source routed path.  Can be used
             more than once to build a chain of hop points.

     -G pointer
             Positions the "hop counter" within the list of machines in the
             path of a source routed packet.  Must be a multiple of 4.

     -i seconds
             Specifies a delay time interval between lines of text sent and
             received.  Also causes a delay time between connections to multi-
             ple ports.

     -l      Is used to specify that nc should listen for an incoming connec-
             tion, rather than initiate a connection to a remote host.  Any
             hostname/IP address and port arguments restrict the source of in-
             bound connections to only that address and source port.

     -n      Do not do DNS lookups on any of the specified addresses or host-
             names, or names of port numbers from /etc/services.

     -o filename
             Create a hexadecimal log of data transferred in the specified
             file.  Each line begins with ``<'' or ``>''.  ``<'' means "from
             the net" and ``>'' means "to the net".

     -p port
             Specifies the source port nc should use, subject to privilege re-
             strictions and availability.

     -r      Specifies that source and/or destination ports should be chosen
             semi-randomly instead of sequentially within a range or in the
             order that the system assigns.

     -s hostname/ip-address
             Specifies the IP of the interface which is used to send the pack-
             ets.  On some platforms, this can be used for UDP spoofing by us-
             ing ifconfig(8) to bring up a dummy interface with the desired
             source IP address.

     -t      Causes nc to send RFC854 DON'T and WON'T responses to RFC854 DO
             and WILL requests.  This makes it possible to use nc to script
             telnet sessions.  The presence of this option can be enabled or
             disabled as a compile-time option.

     -u      Use UDP instead of TCP.  On most platforms, nc will behave as if
             a connection is established until it receives an ICMP packet in-
             dicating that there is no program listening to what it sends.

     -v      Verbose.  Cause nc to display connection information.  Using -v
             more than once will cause nc to become even more verbose.

     -w timeout
             Specifies the number of seconds nc should wait before deciding
             that an attempt to establish a connection is hopeless.  Also used
             to specify how long to wait for more network data after standard
             input closes.

     -z      Specifies that nc should just scan for listening daemons, without
             sending any data to them.  Diagnostic messages about refused con-
             nections will not be displayed unless -v is specified twice.

EXAMPLES
     nc
       Wait for the user to type what would normally be command-line arguments
       in at stdin.

     nc example.host 42
       Open a TCP connection to port 42 of example.host.  If the connection
       fails, do not display any error messages, but simply exit.

     nc -p 31337 example.host 42
       Open a TCP connection to port 42 of example.host, and use port 31337 as
       the source port.

     nc -w 5 example.host 42
       Open a TCP connection to port 42 of example.host, and time out after
       five seconds while attempting to connect.

     nc -u example.host 53
       Send any data from stdin to UDP port 53 of example.host, and display
       any data returned.

     nc -s 10.1.2.3 example.host 42
       Open a TCP connection to port 42 of example.host using 10.1.2.3 as the
       IP for the local end of the connection.

     nc -v example.host 42
       Open a TCP connection to port 42 of example.host, displaying some diag-
       nostic messages on stderr.

     nc -v -v example.host 42
       Open a TCP connection to port 42 of example.host, displaying all diag-
       nostic messages on stderr.

     nc -v -z example.host 20-30
       Attempt to open TCP connections to ports 20 through 30 of example.host,
       and report which ones nc was able to connect to.

     nc -v -u -z -w 3 example.host 20-30
       Send UDP packets to ports 20-30 of example.host, and report which ones
       did not respond with an ICMP packet after three seconds.

     nc -l -p 3000
       Listen on TCP port 3000, and once there is a connection, send stdin to
       the remote host, and send data from the remote host to stdout.

     echo foobar | nc example.host 1000
       Connect to port 1000 of example.host, send the string "foobar" followed
       by a newline, and move data from port 1000 of example.host to stdout
       until example.host closes the connection.

SEE ALSO
     cat(1),  telnet(1)

     The netcat README.

AUTHOR
     *Hobbit*  [hobbit@avian.org]

OpenBSD 2.6                     August 1, 1996                               3

Source: OpenBSD 2.6 man pages. Copyright: Portions are copyrighted by BERKELEY
SOFTWARE DESIGN, INC., The Regents of the University of California, Massachusetts
Institute of Technology, Free Software Foundation, FreeBSD Inc., and others.



(Corrections, notes, and links courtesy of RocketAware.com)


[Detailed Topics]
OpenBSD sources for nc(1)


[Overview Topics]

Up to: Communication Scripting - Methods of " scripting " a communication connection. Sequencing and handshaking based on replies, et al.
Up to: Socket and I/O Operations - socket() and related functions.
Up to: Communication Debugging - Status, tracing, and debugging communications and protocols.


RocketLink!--> Man page versions: OpenBSD






Rapid-Links: Search | About | Comments | Submit Path: RocketAware > nc.1/
RocketAware.com is a service of Mib Software
Copyright 1999, Forrest J. Cavalier III. All Rights Reserved.
We welcome submissions and comments