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]
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 2732 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 -d Use the "discard" service instead of echo
70
71 -c Use the "chargen" service instead of echo
72
73 -h url-or-path
74 Use the HTTP protocol (instead of echo) for the given URL. If
75 the hostname is the Web server, the argument has to be a path, a
76 relative URL (for instance '/' or '/pics/foobar.gif'). If the
77 hostname is a proxy/cache like Squid, the argument has to be an
78 absolute URL.
79
80 -R Accept HTTP status codes 3xx (redirections) as normal responses
81 (the default is to regard them as errors)
82
83 -i url Use the ICP protocol (instead of echo) for the given URL. The
84 URL has to be an absolute one. This is mostly for testing Squid
85 Web proxy/caches.
86
87 -A Force the proxy (if you use one) to ignore the cache
88
89 -a Force the proxy (if you use one) to revalidate data with the
90 original server
91
92 -C Use the SSL/TLS (cryptography) protocol. For HTTP tests only.
93
94 -S Use the SMTP protocol (instead of echo) for the given server.
95
96 -4 Use only IPv4 (even if the target machine has an IPv6 address)
97
98 -6 Use only IPv6 (even if the target machine has an IPv4 address)
99
100 -f character
101 Fill the packet with this character (default is random filling)
102
103 -D Tries to display actual data transfer duration only, not total
104 time
105
106 -N n Displays an average which excludes values ("outliers") which are
107 further than +/- N*standard deviation
108
109 -p n Send packets with the socket priority to the integer n. The
110 mapping of the socket priority into a network layer or a link
111 layer priority depends upon the network protocol and link proto‐
112 col in use. For more details see SO_PRIORITY in socket(7).
113
114 -P n Set the IP type of service octet in the transmitted packets to
115 the least significant eight bits of the integer n. See ip(7) or
116 ip(4) (depending on your Unix). /usr/include/netinet/ip.h may
117 contain interesting constants for setting Type Of Service.
118
119 -m plugin
120 Load the given plugin. The plugin is first searched in the nor‐
121 mal library directories (see ld.so(8) ) then in
122 /usr/lib64/echoping. You can type ls in /usr/lib64/echoping to
123 get an idea of the available plugins. The documentation for a
124 given plugin is in echoping_PLUGINNAME(1) The plugin-specific
125 options appear after the hostname.
126
128 echoping -v foobar.example.com
129 Tests the remote machine with TCP echo (one test).
130
131 echoping -n 5 -w 10 foobar.example.com
132 Tests the remote machine with TCP echo (five tests, every ten
133 seconds).
134
135 echoping -h / foobar.example.com
136 Tests the remote Web server and asks its home page. Note you
137 don't indicate the whole URL.
138
139 echoping -h http://www.example.com/ cache.example.com:3128
140 Tests the remote Web proxy-cache and asks a Web page. Note that
141 you must indicate the whole URL.
142
143 echoping -n 3 -m whois foobar.example.com -d tao.example.org
144 Loads the whois plugin and query the host foobar.example.com.
145 "-d tao.example.org" are options specific to the whois plugin.
146
147 echoping -u -P 0xa0 foobar.example.com
148 Sends several UDP Echo packets with an IP Precedence of 5.
149
151 The IP packet header contains 8 bits named the "type of service octet".
152 The value of the octet is set with the -P option. The effects of the
153 octet are defined differently in RFC791 Internet Protocol and RFC2474
154 Definition of the Differentiated Services Field (DS Field) in the IPv4
155 and IPv6 Headers.
156
157 RFC791 defines Precedence which has ascending priorities 0 through to
158 7, and the bits Delay, Throughput, Reliability, and Cost which indi‐
159 cates the application's preference for the properties of the packet's
160 path through the network. Precedence is in the most significant three
161 bits of the type of service octet, followed in decending significance
162 order by the D, T, R and C bits. The least significant bit must be
163 zero. Only one of the D, T, R or C bits may be set.
164
165 RFC2474 defines the Distributed Services Code Point, or DSCP. This
166 acts as a selector between 64 possible behaviours that the network can
167 apply to the packet. The DSCP is in the most significant six bits of
168 the type of service octet. The remaining least significant two bits of
169 the octet must be zero.
170
171 The numeric arguments to -p and -P can be in decimal (such as 11),
172 octal (such as 013) or hexadecimal (such as 0x0b). So padding decimal
173 arguments with leading zeros will change the value read.
174
175 You may need to be superuser to set some -p or -P values (precedence on
176 Linux, for instance).
177
178
180 See SourceForge bug tracking system at <http://source‐
181 forge.net/tracker/?group_id=4581&atid=104581>.
182
183
185 See the README for information about other network measurements pro‐
186 grams.
187
188
190 /usr/lib64/echoping
191 Plugins directory
192
193
195 Stephane Bortzmeyer <bortz@users.sourceforge.net>
196
197
198
199ECHOPING November 22, 1996 echoping(1)