1echoping(1) echoping echoping(1)
2
3
4
6 echoping - tests a remote host with TCP or UDP
7
8
10 echoping [-4] [-6] [-v] [-V] [-ffill] [-ttimeout] [-c] [-d] [-u] [-T]
11 [-ssize] [-nnumber] [-wdelay] [-hurl-or-path] [-R] [-iurl] [-ppriority]
12 [-Ptos] [-C] [-S] [-A] [-a] [-mplugin] hostname [:port] [plugin
13 options...]
14
15
17 echoping is a small program to test (approximatively) performances of a
18 remote Internet host by sending it TCP "echo" packets. It can use other
19 protocols as well (HTTP - which makes it a good tool to test Web
20 servers, UDP "echo", etc).
21
22 echoping simply shows the elapsed time, including the time to set up
23 the TCP connection and to transfer the data. Therefore, it is unsuit‐
24 able to physical line raw throughput measures (unlike bing or treno).
25 On the other end, the action it performs are close from, for instance,
26 a HTTP request and it is meaningful to use it (carefully) to measure
27 Web performances.
28
29
31 hostname[:port]
32 Name (or address) of the server to test. For HTTP, you can spec‐
33 ify a port number. For HTTP and IPv6, you can use RFC 3986 syn‐
34 tax (you will probably need to escape the brackets from the
35 shell). The name can be an IDN (Unicode domain name).
36
37
39 -v Verbose
40
41 -V Displays the compiled-in configuration of echoping. Useful for
42 bug reports.
43
44 -s nnn Size of the data to send. Large values can produce strange
45 results with some echo servers.
46
47 -n nnn Numbers of repeated tests. With this option, you have also the
48 minimum, maximum, average and median time, as well as the stan‐
49 dard deviation. The median is the value such that half of the
50 measures are under it and the other half is above. When you mea‐
51 sure highly variables values, like it is often the case on the
52 whole Internet, median is better than average to avoid "extreme"
53 values. You can check the "value" of the average by looking at
54 the standard deviation: very roughly, if the standard deviation
55 is more than the half of the average, the average does not mean
56 anything. (See a book about statistics for the details: the
57 reality is far more complicated.)
58
59 -w nnn Number of seconds to wait between two tests (default is one). On
60 systems which have usleep(), you can write it as a fractional
61 number, such as 3.14. Otherwise, use integers.
62
63 -t nnn Number of seconds to wait a reply before giving up. For TCP,
64 this is the maximum number of seconds for the whole connection
65 (setup and data exchange).
66
67 -u Use UDP instead of TCP
68
69 -T Use SCTP instead of TCP
70
71 -d Use the "discard" service instead of echo
72
73 -c Use the "chargen" service instead of echo
74
75 -h url-or-path
76 Use the HTTP protocol (instead of echo) for the given URL. If
77 the hostname is the Web server, the argument has to be a path, a
78 relative URL (for instance '/' or '/pics/foobar.gif'). If the
79 hostname is a proxy/cache like Squid, the argument has to be an
80 absolute URL.
81
82 -R Accept HTTP status codes 3xx (redirections) as normal responses
83 (the default is to regard them as errors)
84
85 -i url Use the ICP protocol (instead of echo) for the given URL. The
86 URL has to be an absolute one. This is mostly for testing Squid
87 Web proxy/caches.
88
89 -A Force the proxy (if you use one) to ignore the cache
90
91 -a Force the proxy (if you use one) to revalidate data with the
92 original server
93
94 -C Use the SSL/TLS (cryptography) protocol. For HTTP tests only.
95
96 -S Use the SMTP protocol (instead of echo) for the given server.
97
98 -4 Use only IPv4 (even if the target machine has an IPv6 address)
99
100 -6 Use only IPv6 (even if the target machine has an IPv4 address)
101
102 -f character
103 Fill the packet with this character (default is random filling)
104
105 -D Tries to display actual data transfer duration only, not total
106 time
107
108 -N n Displays an average which excludes values ("outliers") which are
109 further than +/- N*standard deviation
110
111 -p n Send packets with the socket priority to the integer n. The
112 mapping of the socket priority into a network layer or a link
113 layer priority depends upon the network protocol and link proto‐
114 col in use. For more details see SO_PRIORITY in socket(7).
115
116 -P n Set the IP type of service octet in the transmitted packets to
117 the least significant eight bits of the integer n. See ip(7) or
118 ip(4) (depending on your Unix). /usr/include/netinet/ip.h may
119 contain interesting constants for setting Type Of Service.
120
121 -m plugin
122 Load the given plugin. The plugin is first searched in the nor‐
123 mal library directories (see ld.so(8) ) then in
124 /usr/lib64/echoping. You can type ls in /usr/lib64/echoping to
125 get an idea of the available plugins. The documentation for a
126 given plugin is in echoping_PLUGINNAME(1) The plugin-specific
127 options appear after the hostname.
128
130 echoping -v foobar.example.com
131 Tests the remote machine with TCP echo (one test).
132
133 echoping -n 5 -w 10 foobar.example.com
134 Tests the remote machine with TCP echo (five tests, every ten
135 seconds).
136
137 echoping -h / foobar.example.com
138 Tests the remote Web server and asks its home page. Note you
139 don't indicate the whole URL.
140
141 echoping -h http://www.example.com/ cache.example.com:3128
142 Tests the remote Web proxy-cache and asks a Web page. Note that
143 you must indicate the whole URL.
144
145 echoping -n 3 -m whois foobar.example.com -d tao.example.org
146 Loads the whois plugin and query the host foobar.example.com.
147 "-d tao.example.org" are options specific to the whois plugin.
148
149 echoping -u -P 0xa0 foobar.example.com
150 Sends several UDP Echo packets with an IP Precedence of 5.
151
153 The IP packet header contains 8 bits named the "type of service octet".
154 The value of the octet is set with the -P option. The effects of the
155 octet are defined differently in RFC791 Internet Protocol and RFC2474
156 Definition of the Differentiated Services Field (DS Field) in the IPv4
157 and IPv6 Headers.
158
159 RFC791 defines Precedence which has ascending priorities 0 through to
160 7, and the bits Delay, Throughput, Reliability, and Cost which indi‐
161 cates the application's preference for the properties of the packet's
162 path through the network. Precedence is in the most significant three
163 bits of the type of service octet, followed in decending significance
164 order by the D, T, R and C bits. The least significant bit must be
165 zero. Only one of the D, T, R or C bits may be set.
166
167 RFC2474 defines the Distributed Services Code Point, or DSCP. This
168 acts as a selector between 64 possible behaviours that the network can
169 apply to the packet. The DSCP is in the most significant six bits of
170 the type of service octet. The remaining least significant two bits of
171 the octet must be zero.
172
173 The numeric arguments to -p and -P can be in decimal (such as 11),
174 octal (such as 013) or hexadecimal (such as 0x0b). So padding decimal
175 arguments with leading zeros will change the value read.
176
177 You may need to be superuser to set some -p or -P values (precedence on
178 Linux, for instance).
179
180
182 See SourceForge bug tracking system at <http://source‐
183 forge.net/tracker/?group_id=4581&atid=104581>.
184
185
187 See the README for information about other network measurements pro‐
188 grams.
189
190
192 /usr/lib64/echoping
193 Plugins directory
194
195
197 Stephane Bortzmeyer <bortz@users.sourceforge.net>
198
199
200
201ECHOPING November 22, 1996 echoping(1)