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 con-
       nectivity  and performance.  Many network probes	can be sent simultane-
       ously 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  new-
       line  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	corre-
       sponding	 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	deter-
		     mines  the	number of network hops through which the probe
		     will travel before	a response is generated	by an interme-
		     diate network host.

	      size PACKET-SIZE

		     The size of the packet used to send the probe, in	bytes,
		     including the Internet Protocol header and	transport pro-
		     tocol 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 inte-
		     gral 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 inte-
		     gral 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 val-
		     ues  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 un-
	      resolved 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, indi-
		     cating  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 com-
       mands, 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)

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+14.3.quarterly>

home | help