1echoping(1)                        echoping                        echoping(1)
2
3
4

NAME

6       echoping - tests a remote host with TCP or UDP
7
8

SYNOPSIS

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

DESCRIPTION

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

ARGUMENT

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

OPTIONS

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

EXAMPLES

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

IP TYPE OF SERVICE OCTET

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

BUGS

156       See the TODO file or SourceForge bug tracking system at <http://source
157       forge.net/bugs/?group_id=4581>.
158
159

SEE ALSO

161       See  the  README  for information about other network measurements pro‐
162       grams.
163
164

AUTHOR

166       Stephane Bortzmeyer <bortz@users.sourceforge.net>
167
168
169
170ECHOPING                       November 22, 1996                   echoping(1)
Impressum