Man Linux: Main Page and Category List


       echoping - tests a remote host with TCP or UDP


       echoping  [-4]  [-6]  [-v]  [-V]  [-ffill]  [-ttimeout]  [-c] [-d] [-u]
       [-ssize] [-nnumber] [-wdelay] [-hurl-or-path] [-R] [-iurl] [-ppriority]
       [-Ptos]  [-C]  [-S]  [-A]  [-a]  [-mplugin]  hostname  [:port]  [plugin


       echoping is a small program to test (approximatively) performances of a
       remote Internet host by sending it TCP "echo" packets. It can use other
       protocols as well (HTTP - which makes  it  a  good  tool  to  test  Web
       servers, UDP "echo", etc).

       echoping  simply  shows  the elapsed time, including the time to set up
       the  TCP  connection  and  to  transfer  the  data.  Therefore,  it  is
       unsuitable  to  physical  line  raw throughput measures (unlike bing or
       treno). On the other end, the action it performs are  close  from,  for
       instance,  a HTTP request and it is meaningful to use it (carefully) to
       measure Web performances.


              Name (or address) of the server  to  test.  For  HTTP,  you  can
              specify  a  port number. For HTTP and IPv6, you can use RFC 2732
              syntax (you will probably need to escape the brackets  from  the
              shell). The name can be an IDN (Unicode domain name).


       -v     Verbose

       -V     Displays  the  compiled-in configuration of echoping. Useful for
              bug reports.

       -s nnn Size of the data to  send.  Large  values  can  produce  strange
              results with some echo servers.

       -n nnn Numbers  of  repeated tests. With this option, you have also the
              minimum, maximum, average  and  median  time,  as  well  as  the
              standard  deviation.  The  median is the value such that half of
              the measures are under it and the other half is above. When  you
              measure  highly  variables  values, like it is often the case on
              the whole Internet, median  is  better  than  average  to  avoid
              "extreme"  values.  You  can check the "value" of the average by
              looking at the standard deviation: very roughly, if the standard
              deviation is more than the half of the average, the average does
              not mean anything. (See a book about statistics for the details:
              the reality is far more complicated.)

       -w nnn Number of seconds to wait between two tests (default is one). On
              systems which have usleep(), you can write it  as  a  fractional
              number, such as 3.14. Otherwise, use integers.

       -t nnn Number  of  seconds  to  wait a reply before giving up. For TCP,
              this is the maximum number of seconds for the  whole  connection
              (setup and data exchange).

       -u     Use UDP instead of TCP

       -d     Use the "discard" service instead of echo

       -c     Use the "chargen" service instead of echo

       -h url-or-path
              Use  the  HTTP  protocol (instead of echo) for the given URL. If
              the hostname is the Web server, the argument has to be a path, a
              relative  URL  (for  instance ’/’ or ’/pics/foobar.gif’). If the
              hostname is a proxy/cache like Squid, the argument has to be  an
              absolute URL.

       -R     Accept  HTTP status codes 3xx (redirections) as normal responses
              (the default is to regard them as errors)

       -i url Use the ICP protocol (instead of echo) for the  given  URL.  The
              URL  has to be an absolute one. This is mostly for testing Squid
              Web proxy/caches.

       -A     Force the proxy (if you use one) to ignore the cache

       -a     Force the proxy (if you use one) to  revalidate  data  with  the
              original server

       -C     Use the SSL/TLS (cryptography) protocol. For HTTP tests only.

       -S     Use the SMTP protocol (instead of echo) for the given server.

       -4     Use only IPv4 (even if the target machine has an IPv6 address)

       -6     Use only IPv6 (even if the target machine has an IPv4 address)

       -f character
              Fill the packet with this character (default is random filling)

       -D     Tries  to  display actual data transfer duration only, not total

       -N n   Displays an average which excludes values ("outliers") which are
              further than +/- N*standard deviation

       -p n   Send  packets  with  the  socket priority to the integer n.  The
              mapping of the socket priority into a network layer  or  a  link
              layer  priority  depends  upon  the  network  protocol  and link
              protocol in use.  For more details see SO_PRIORITY in socket(7).

       -P n   Set  the  IP type of service octet in the transmitted packets to
              the least significant eight bits of the integer n.  See ip(7) or
              ip(4)  (depending  on  your Unix). /usr/include/netinet/ip.h may
              contain interesting constants for setting Type Of Service.

       -m plugin
              Load the given plugin. The  plugin  is  first  searched  in  the
              normal   library   directories   (see   )   then   in
              /usr/lib/echoping. You can type ls in /usr/lib/echoping  to  get
              an  idea of the available plugins. The documentation for a given
              plugin is in echoping_PLUGINNAME(1) The plugin-specific  options
              appear after the hostname.


       echoping -v
              Tests the remote machine with TCP echo (one test).

       echoping -n 5 -w 10
              Tests  the  remote  machine with TCP echo (five tests, every ten

       echoping -h /
              Tests the remote Web server and asks its  home  page.  Note  you
              don’t indicate the whole URL.

       echoping -h
              Tests  the remote Web proxy-cache and asks a Web page. Note that
              you must indicate the whole URL.

       echoping -n 3 -m whois -d
              Loads the whois plugin and query  the  host
              "-d" are options specific to the whois plugin.

       echoping -u -P 0xa0
              Sends several UDP Echo packets with an IP Precedence of 5.


       The IP packet header contains 8 bits named the "type of service octet".
       The value of the octet is set with the -P option.  The effects  of  the
       octet  are  defined differently in RFC791 Internet Protocol and RFC2474
       Definition of the Differentiated Services Field (DS Field) in the  IPv4
       and IPv6 Headers.

       RFC791  defines  Precedence which has ascending priorities 0 through to
       7,  and  the  bits  Delay,  Throughput,  Reliability,  and  Cost  which
       indicates  the  application’s  preference  for  the  properties  of the
       packet’s  path  through  the  network.   Precedence  is  in  the   most
       significant  three  bits  of  the  type  of  service octet, followed in
       decending significance order by the D, T, R  and  C  bits.   The  least
       significant bit must be zero.  Only one of the D, T, R or C bits may be

       RFC2474 defines the Distributed Services Code  Point,  or  DSCP.   This
       acts  as a selector between 64 possible behaviours that the network can
       apply to the packet.  The DSCP is in the most significant six  bits  of
       the type of service octet.  The remaining least significant two bits of
       the octet must be zero.

       The numeric arguments to -p and -P can be  in  decimal  (such  as  11),
       octal  (such as 013) or hexadecimal (such as 0x0b).  So padding decimal
       arguments with leading zeros will change the value read.

       You may need to be superuser to set some -p or -P values (precedence on
       Linux, for instance).


       See        SourceForge        bug        tracking       system       at


       See  the  README  for  information  about  other  network  measurements


           Plugins directory


       Stephane Bortzmeyer <>