Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MTR-PACKET(8)		      System Administration		   MTR-PACKET(8)

NAME
     mtr-packet - send and receive network probes

DESCRIPTION
     mtr-packet  is a tool for sending network probes to measure network connec-
     tivity and performance.  Many network probes can be sent simultaneously  by
     a single process instance of mtr-packet and additional probes can be gener-
     ated  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 re-
	    ply 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 be-
		   fore 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 net-
		   work host.

	    size PACKET-SIZE

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

	    bit-pattern PATTERN-VALUE

		   The	packet	payload is filled with bytes of the value speci-
		   fied.  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 "traf-
		   fic 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 re-
	    trieve the version of mtr-packet.

REPLIES
     reply  The destination host received the send-probe probe and replied.  Ar-
	    guments 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 ex-
	    pired.

     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 or-
		   der: label, traffic-class, bottom-of-stack, ttl.

     no-route-network
	    no-route-host There was no route to the network or the  host  itself
	    for the send-probe request used to reach the host.

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

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

     probes-exhausted
	    A  probe  could not be sent because there are already too many unre-
	    solved 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,	indicat-
		   ing	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 follow-
     ing:

	    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.96			   MTR-PACKET(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mtr-packet&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help