Provided by: mtr_0.95-1.1ubuntu1_amd64 bug

NAME

       mtr-packet - send and receive network probes

DESCRIPTION

       mtr-packet  is  a  tool for sending network probes to measure network connectivity and performance.  Many
       network probes can be sent simultaneously by a single  process  instance  of  mtr-packet  and  additional
       probes  can  be generated by an instance of mtr-packet which already has network probes in flight.  It is
       intended to be used by programs which invoke it with Unix pipes attached to its standard input and output
       streams.

       mtr-packet reads command requests from stdin, each separated by a newline character,  and  responds  with
       command  replies  to  stdout,  also  each  separated  by a newline character.  The syntactic structure of
       requests and replies are the same.  The following format is used:

              TOKEN COMMAND [ARGUMENT-NAME ARGUMENT-VALUE ...]

       TOKEN is a unique integer value.  The same value will be used as the TOKEN for  the  response.   This  is
       necessary  for  associating replies with requests, as commands may be completed in a different order than
       they are requested.  The invoker of mtr-packet should always use  the  TOKEN  value  to  determine  which
       command request has completed.

       COMMAND  is  a  string  identifying the command request type.  A common command is send-probe, which will
       transmit one network probe.

       ARGUMENT-NAME strings and ARGUMENT-VALUE strings always come in  pairs.   It  is  a  syntactic  error  to
       provide  an  ARGUMENT-NAME without a corresponding ARGUMENT-VALUE.  Valid ARGUMENT-NAME strings depend on
       the COMMAND being used.

REQUESTS

       send-probe
              Send a network probe to a particular IP  address.   Either  an  ip-4  or  ip-6  argument  must  be
              provided.  A valid send-probe command will reply with reply, no-reply, or ttl-expired.

              The following arguments may be used:

              ip-4 IP-ADDRESS

                     The Internet Protocol version 4 address to probe.

              ip-6 IP-ADDRESS

                     The Internet Protocol version 6 address to probe.

              protocol PROTOCOL

                     The  protocol  to  use  for  the network probe.  icmp, sctp, tcp, and udp may be used.  The
                     default protocol is icmp.

              port PORT-NUMBER

                     The destination port to use for sctp, tcp, or udp probes.

              local-ip-4 IP-ADDRESS

                     The local Internet Protocol version 4 address to use when sending probes.

              local-ip-6 IP-ADDRESS

                     The local Internet Protocol version 6 address to use when sending probes.

              local-port PORT-NUMBER

                     For udp probes, the local port number from which to send probes.

              timeout TIMEOUT-SECONDS

                     The number of seconds to wait for a response to the probe before discarding  the  probe  as
                     lost, and generating a no-reply command reply.

              ttl TIME-TO-LIVE

                     The  time-to-live  value  for  the Internet Protocol packet header used in constructing the
                     probe.  This value determines the number of network  hops  through  which  the  probe  will
                     travel before a response is generated by an intermediate network host.

              size PACKET-SIZE

                     The  size  of  the packet used to send the probe, in bytes, including the Internet Protocol
                     header and transport protocol header.

              bit-pattern PATTERN-VALUE

                     The packet payload is filled with bytes of the value specified.  Valid pattern  values  are
                     in the range 0 through 255.

              tos TYPE-OF-SERVICE

                     In the case of IPv4, the "type of service" field in the IP header is set to this value.  In
                     the case of IPv6, the "traffic class" field is set.

              mark ROUTING-MARK

                     The packet mark value to be used by mark-based routing.  (Available only on Linux.)

       check-support
              Check  for  support  for a particular feature in this version of mtr-packet and in this particular
              operating environment.  check-support will reply with feature-supported.  A  feature  argument  is
              required.

              feature FEATURE-NAME

                     The name of a feature requested.

              Some  features  which  can  be checked are send-probe, ip-4, ip-6, icmp, sctp, tcp, udp, and mark.
              The feature version can be checked to retrieve the version of mtr-packet.

REPLIES

       reply  The destination host received the send-probe probe and replied.  Arguments of reply are:

              ip-4 IP-ADDRESS

                     The Internet Protocol version 4 address of the host which replied to the probe.

              ip-6 IP-ADDRESS

                     The Internet Protocol version 6 address of the host which replied to the probe.

              round-trip-time TIME

                     The time which passed between the transmission of the probe and its response.  The time  is
                     provided as a integral number of microseconds elapsed.

       no-reply
              No response to the probe request was received before the timeout expired.

       ttl-expired
              The  time-to-live  value of the transmitted probe expired before the probe arrived at its intended
              destination.  Arguments of ttl-expired are:

              ip-4 IP-ADDRESS

                     The Internet Protocol version 4 address  of  the  host  at  which  the  time-to-live  value
                     expired.

              ip-6 IP-ADDRESS

                     The  Internet  Protocol  version  6  address  of  the  host at which the time-to-live value
                     expired.

              round-trip-time TIME

                     The time which passed between the transmission of the probe and its response.  The time  is
                     provided as a integral number of microseconds elapsed.

              mpls MPLS-LABEL-LIST

                     A  list  of  Multiprotocol Label Switching values returned with the probe response.  If the
                     mpls argument is present, one or more MPLS labels will be represented by a comma  separated
                     list  of  values.  The values are provided in groups of four.  The first four values in the
                     list correspond to the first MPLS label, the next four values correspond to the second MPLS
                     label, and so on.  The values are provided in this order: label, traffic-class,  bottom-of-
                     stack, ttl.

       no-route
              There was no route to the host used in a send-probe request.

       network-down
              A probe could not be sent because the network is down.

       probes-exhausted
              A probe could not be sent because there are already too many unresolved probes in flight.

       permission-denied
              The operating system denied permission to send the probe with the specified options.

       invalid-argument
              The command request contained arguments which are invalid.

       feature-support
              A  reply  to  provided  to check-support indicating the availability of a particular feature.  The
              argument provided is:

              support PRESENT

                     In most cases, the PRESENT value will be either ok, indicating the feature is supported, or
                     no, indicating no support for the feature.

                     In the case that version is the  requested  FEATURE-NAME,  the  version  of  mtr-packet  is
                     provided as the PRESENT value.

EXAMPLES

       A controlling program may start mtr-packet as a child process and issue the following command on stdin:

              42 send-probe ip-4 127.0.0.1

       This  will  send  a  network  probe to the loopback interface.  When the probe completes, mtr-packet will
       provide a response on stdout such as the following:

              42 reply ip-4 127.0.0.1 round-trip-time 126

       This indicates that the loopback address replied to the probe, and the round-trip time of the  probe  was
       126 microseconds.

       In  order  to  trace  the route to a remote host, multiple send-probe commands, each with a different ttl
       value, are used.

              11 send-probe ip-4 8.8.8.8 ttl 1
              12 send-probe ip-4 8.8.8.8 ttl 2
              13 send-probe ip-4 8.8.8.8 ttl 3
              ...

       Each intermediate host would respond with a ttl-expired message, and the destination host  would  respond
       with a reply:

              11 ttl-expired ip-4 192.168.254.254 round-trip-time 1634
              12 ttl-expired ip-4 184.19.243.240 round-trip-time 7609
              13 ttl-expired ip-4 172.76.20.169 round-trip-time 8643
              14 ttl-expired ip-4 74.40.1.101 round-trip-time 9755
              15 ttl-expired ip-4 74.40.5.126 round-trip-time 10695
              17 ttl-expired ip-4 108.170.245.97 round-trip-time 14077
              16 ttl-expired ip-4 74.40.26.131 round-trip-time 15253
              18 ttl-expired ip-4 209.85.245.101 round-trip-time 17080
              19 reply ip-4 8.8.8.8 round-trip-time 17039

       Note  that the replies in this example are printed out of order.  (The reply to probe 17 arrives prior to
       the reply to probe 16.)  This is the reason that it is important  to  send  commands  with  unique  token
       values, and to use those token values to match replies with their originating commands.

LANGUAGE BINDINGS

       A Python 3.x package for sending asynchronous network probes using mtr-packet is available.  See https://
       pypi.org/project/mtrpacket/

CONTACT INFORMATION

       For the latest version, see the mtr web page at http://www.bitwizard.nl/mtr/

       For  patches,  bug  reports,  or feature requests, please open an issue on GitHub at: https://github.com/
       traviscross/mtr.

SEE ALSO

       mtr(8), icmp(7), tcp(7), udp(7), TCP/IP Illustrated (Stevens, ISBN 0201633469).

mtr-packet                                            0.95                                         MTR-PACKET(8)