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