1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
.TH tcpclient 1
.SH NAME
tcpclient \- create an outgoing TCP connection
.SH SYNOPSIS
.B tcpclient
[
.B \-46hHrRdDqQv
]
[
.B \-i\fIlocalip
]
[
.B \-p\fIlocalport
]
[
.B \-T\fItimeoutconn
]
[
.B \-l\fIlocalname
]
[
.B \-t\fItimeoutinfo
]
[
.B \-I\fIinterface
]
.I host
.I port
.I program
[
.I arg ...
]
.SH DESCRIPTION
.B tcpclient
attempts to connect to a TCP server.
If it is successful, it runs
.I program
with the given arguments,
with descriptor 6 reading from the network
and descriptor 7 writing to the network.
The server's address is given by
.I host
and
.IR port .
.I host
may be 0, referring to the local machine,
or a dotted-decimal IP address,
or a host name;
if a host has several IP addresses,
.B tcpclient
tries each in turn.
.I port
may be a numeric port number
or a port name.
.B tcpclient
sets up several environment variables,
as described in
.B tcp-environ(5).
.SH OPTIONS
.TP
.B \-i\fIlocalip
Use
.I localip
as the IP address for the local side of the connection;
quit if
.I localip
is not available.
.TP
.B \-p\fIlocalport
Use
.I localport
as the port number for the local side of the connection;
quit if
.I localport
is not available.
.TP
.B \-I\fIinterface
Use
.I interface
as the local network interface. This is only defined for IPv6 sockets
and needed if you use link-local IPv6 addresses.
.TP
.B \-T\fItimeoutconn
Give up on the
connection attempt
after
.I timeoutconn
seconds. Default: 60.
This timeout applies to each IP address tried.
.TP
.B \-d
(Default.)
Delay sending data for a fraction of a second whenever the
remote host is responding slowly,
to make better use of the network.
.TP
.B \-D
Never delay sending data;
enable TCP_NODELAY.
This is appropriate for interactive connections.
.TP
.B \-q
Quiet.
Do not print any messages.
.TP
.B \-Q
(Default.)
Print error messages.
.TP
.B \-v
Verbose.
Print all available messages.
.SH "DATA-GATHERING OPTIONS"
.TP
.B \-h
(Default.)
Look up the remote host name for
.BR TCPREMOTEHOST .
.TP
.B \-H
Do not look up the remote host name;
unset
.BR TCPREMOTEHOST .
.TP
.B \-l\fIlocalname
Do not look up the local host name;
use
.I localname
for
.BR TCPLOCALHOST .
.TP
.B \-r
(Default.)
Attempt to obtain
.B TCPREMOTEINFO
from the remote host.
.TP
.B \-R
Do not attempt to obtain
.B TCPREMOTEINFO
from the remote host.
.TP
.B \-t\fItimeoutinfo
Give up on the
.B TCPREMOTEINFO
connection attempt
after
.I timeoutinfo
seconds. Default: 26.
.TP
.B \-4
Fall back to IPv4 sockets. This is necessary for terminally broken
systems like OpenBSD which will not let IPv6 sockets connect to
V4-mapped IPv6 addresses. Please note that this also applies to DNS
lookups, so you will have to use an DNS resolver with an IPv6 address to
connect to IPv6 systems. Use \fBDNSCACHEIP\fR to set the DNS resolver
IP dynamically.
.TP
.B \-6
Force IPv6 mode in UCSPI environment variables, even for
IPv4 connections. This will set \fB$PROTO\fR to \fBTCP6\fR and put
IPv4-mapped IPv6 addresses in \fBTCPLOCALIP\fR and \fBTCPREMOTEIP\fR.
.SH "SEE ALSO"
date@(1),
finger@(1),
http@(1),
mconnect(1),
tcpcat(1),
tcpserver(1),
who@(1),
tcp-environ(5)
|