Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
tcpserver(1)		     General Commands Manual		    tcpserver(1)

NAME
     tcpserver - accepts incoming TCP connections.

SYNOPSIS
     tcpserver [ opts ] host port prog

DESCRIPTION
     opts  is  a series of getopt-style options.  host is one argument.  port is
     one argument.  prog consists of one or more arguments.

     tcpserver waits for connections from TCP clients. For each  connection,  it
     runs  prog,  with	descriptor  0  reading from the network and descriptor 1
     writing to the network. It also sets up several environment variables.

     The server's address is given by host and port.  port may be  a  name  from
     /etc/services  or	a  number;  if it is 0, tcpserver will choose a free TCP
     port.  host may be 0, allowing connections to any local IP  address;  or  a
     dotted-decimal  IP address, allowing connections only to that address; or a
     host name, allowing connections to the first IP address for that host. Host
     names are fed through qualification using dns_ip4_qualify.

     tcpserver exits when it receives SIGTERM.

OPTIONS
     General options:

     -q     Quiet. Do not print error messages.

     -Q     (Default.) Print error messages.

     -v     Verbose. Print error messages and status messages.

     Connection options:

     -c n   Do not handle more than n simultaneous connections. If there  are  n
	    simultaneous  copies of prog running, defer acceptance of a new con-
	    nection until one copy finishes.  n must be a positive integer.  De-
	    fault: 40.

     -x cdb
	    Follow  the rules compiled into cdb by tcprules(1).  These rules may
	    specify setting environment variables or rejecting connections  from
	    bad  sources.  You	can  rerun tcprules(1) to change the rules while
	    tcpserver is running.

     -X     With -x cdb, allow connections even if cdb does not exist.	Normally
	    tcpserver will drop the connection if cdb does not exist.

     -B banner
	    Write  banner  to  the  network immediately after each connection is
	    made.  tcpserver writes banner before looking up $TCPREMOTEHOST, be-
	    fore looking up $TCPREMOTEINFO, and before checking cdb.  This  fea-
	    ture  can  be  used  to reduce latency in protocols where the client
	    waits for a greeting from the server.

     -g gid
	    Switch group ID to gid after preparing to receive connections.   gid
	    must be a positive integer.

     -u uid
	    Switch  user  ID to uid after preparing to receive connections.  uid
	    must be a positive integer.

     -U     Same as -g $GID -u $UID. Typically $GID and  $UID  are  set  by  en-
	    vuidgid(8).

     -1     After  preparing to receive connections, print the local port number
	    to standard output.

     -b n   Allow a backlog of approximately n TCP SYNs. On some systems,  n  is
	    silently  limited to 5. On systems supporting SYN cookies, the back-
	    log is irrelevant.

     -o     Leave IP options alone. If the client is sending packets along an IP
	    source route, send packets back along the same route.

     -O     (Default.) Kill IP options. A client can still use source routing to
	    connect and to send data, but packets will be sent	back  along  the
	    default route.

     -d     Delay  sending  data  for a fraction of a second whenever the remote
	    host is responding slowly. This is currently the default, but it may
	    not be in the future; if you want it, set it explicitly.

     -D     Never delay sending data; enable TCP_NODELAY.

     Data-gathering options:

     -h     (Default.) Look up the remote host name in DNS to set  the	environ-
	    ment variable $TCPREMOTEHOST.

     -H     Do	not  look up the remote host name in DNS; remove the environment
	    variable $TCPREMOTEHOST. To avoid loops, you must  use  this  option
	    for servers on TCP port 53.

     -p     Paranoid.  After looking up the remote host name in DNS, look up the
	    IP addresses in DNS for that host name, and remove	the  environment
	    variable  $TCPREMOTEHOST if none of the addresses match the client's
	    IP address.

     -P     (Default.) Not paranoid.

     -l localname
	    Do not look up the local host name in DNS; use localname for the en-
	    vironment variable $TCPLOCALHOST. A common choice for  localname  is
	    0.	To avoid loops, you must use this option for servers on TCP port
	    53.

     -r     (Default.) Attempt to obtain $TCPREMOTEINFO from the remote host.

     -R     Do not attempt to obtain $TCPREMOTEINFO from  the  remote  host.  To
	    avoid  loops,  you	must use this option for servers on TCP ports 53
	    and 113.

     -t n   Give up on the $TCPREMOTEINFO connection attempt  after  n	seconds.
	    Default: 26.

SEE ALSO
     tcprules(1),    tcprulescheck(1),	  argv0(1),   fixcrio(1),   recordio(1),
     rblsmtpd(1), tcpclient(1), who@(1), date@(1),  finger@(1),  http@(1),  tcp-
     cat(1), mconnect(1), tcp-environ(5)

     http://cr.yp.to/ucspi-tcp.html

								    tcpserver(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=tcpserver&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help