Annotation of embedaddon/mtr/mtr-packet.8, revision 1.1.1.1

1.1       misho       1: .TH MTR-PACKET 8 "0.87.203-0e5e" "mtr-packet" "System Administration"
                      2: .HP 7
                      3: .SH NAME
                      4: mtr-packet - send and receive network probes
                      5: .SH DESCRIPTION
                      6: .B mtr-packet
                      7: is a tool for sending network probes to measure network connectivity and
                      8: performance.  Many network probes can be sent simultaneously by a single
                      9: process instance of
                     10: .B mtr-packet
                     11: and additional probes can be generated by an instance of
                     12: .B mtr-packet
                     13: which already has network probes in flight.  It is intended to be used
                     14: by programs which invoke it with Unix pipes attached to its standard input
                     15: and output streams.
                     16: .LP
                     17: .B mtr-packet
                     18: reads command requests from
                     19: .IR stdin ,
                     20: each separated by a newline character, and responds with command replies to
                     21: .IR stdout ,
                     22: also each separated by a newline character.  The syntactic structure of
                     23: requests and replies are the same.  The following format is used:
                     24: .LP
                     25: .RS
                     26: .I TOKEN
                     27: .I COMMAND
                     28: [\c
                     29: .I ARGUMENT-NAME
                     30: .I ARGUMENT-VALUE
                     31: \&...]
                     32: .RE
                     33: .LP
                     34: .I TOKEN
                     35: is a unique integer value.  The same value will be used as the
                     36: .I TOKEN
                     37: for the response.  This is necessary for associating replies with requests,
                     38: as commands may be completed in a different order than they are requested.
                     39: The invoker of
                     40: .B mtr-packet
                     41: should always use the
                     42: .I TOKEN
                     43: value to determine which command request has completed.
                     44: .LP
                     45: .I COMMAND
                     46: is a string identifying the command request type.  A common command is
                     47: .BR send-probe ,
                     48: which will transmit one network probe.
                     49: .LP
                     50: .I ARGUMENT-NAME
                     51: strings and
                     52: .I ARGUMENT-VALUE
                     53: strings always come in pairs.  It is a syntactic error to provide an
                     54: .I ARGUMENT-NAME
                     55: without a corresponding
                     56: .IR ARGUMENT-VALUE .
                     57: Valid
                     58: .I ARGUMENT-NAME
                     59: strings depend on the
                     60: .I COMMAND
                     61: being used.
                     62: .SH REQUESTS
                     63: .TP
                     64: .B send-probe
                     65: Send a network probe to a particular IP address.  Either an
                     66: .B ip-4
                     67: or
                     68: .B ip-6
                     69: argument must be provided.
                     70: A valid
                     71: .B send-probe
                     72: command will reply with
                     73: .BR reply ,
                     74: .BR no-reply ,
                     75: or
                     76: .BR ttl-expired .
                     77: .IP
                     78: The following arguments may be used:
                     79: .IP
                     80: .B ip-4
                     81: .I IP-ADDRESS
                     82: .HP 14
                     83: .IP
                     84: The Internet Protocol version 4 address to probe.
                     85: .HP 7
                     86: .IP
                     87: .B ip-6
                     88: .I IP-ADDRESS
                     89: .HP 14
                     90: .IP
                     91: The Internet Protocol version 6 address to probe.
                     92: .HP 7
                     93: .IP
                     94: .B protocol
                     95: .I PROTOCOL
                     96: .HP 14
                     97: .IP
                     98: The protocol to use for the network probe.
                     99: .BR icmp ,
                    100: .BR sctp ,
                    101: .BR tcp ,
                    102: and
                    103: .B udp
                    104: may be used.  The default protocol is
                    105: .BR icmp.
                    106: .HP 7
                    107: .IP
                    108: .B port
                    109: .I PORT-NUMBER
                    110: .HP 14
                    111: .IP
                    112: The destination port to use for
                    113: .BR sctp ,
                    114: .BR tcp ,
                    115: or
                    116: .B udp
                    117: probes.
                    118: .HP 7
                    119: .IP
                    120: .B local-ip-4
                    121: .I IP-ADDRESS
                    122: .HP 14
                    123: .IP
                    124: The local Internet Procol version 4 address to use when sending probes.
                    125: .HP 7
                    126: .IP
                    127: .B local-ip-6
                    128: .I IP-ADDRESS
                    129: .HP 14
                    130: .IP
                    131: The local Internet Protocol version 6 address to use when sending probes.
                    132: .HP 7
                    133: .IP
                    134: .B local-port
                    135: .I PORT-NUMBER
                    136: .HP 14
                    137: .IP
                    138: For
                    139: .B udp
                    140: probes, the local port number from which to send probes.
                    141: .HP 7
                    142: .IP
                    143: .B timeout
                    144: .I TIMEOUT-SECONDS
                    145: .HP 14
                    146: .IP
                    147: The number of seconds to wait for a response to the probe before discarding
                    148: the probe as lost, and generating a
                    149: .B no-reply
                    150: command reply.
                    151: .HP 7
                    152: .IP
                    153: .B ttl
                    154: .I TIME-TO-LIVE
                    155: .HP 14
                    156: .IP
                    157: The time-to-live value for the Internet Protocol packet header used in
                    158: constructing the probe.  This value determines the number of network hops
                    159: through which the probe will travel before a response is generated by an
                    160: intermediate network host.
                    161: .HP 7
                    162: .IP
                    163: .B size
                    164: .I PACKET-SIZE
                    165: .HP 14
                    166: .IP
                    167: The size of the packet used to send the probe, in bytes, including the
                    168: Internet Protocol header and transport protocol header.
                    169: .HP 7
                    170: .IP
                    171: .B bit-pattern
                    172: .I PATTERN-VALUE
                    173: .HP 14
                    174: .IP
                    175: The packet payload is filled with bytes of the value specified.
                    176: Valid pattern values are in the range 0 through 255.
                    177: .HP 7
                    178: .IP
                    179: .IP
                    180: .B tos
                    181: .I TYPE-OF-SERVICE
                    182: .HP 14
                    183: .IP
                    184: In the case of IPv4, the "type of service" field in the IP header
                    185: is set to this value.  In the case of IPv6, the "traffic class"
                    186: field is set.
                    187: .HP 7
                    188: .IP
                    189: .B mark
                    190: .I ROUTING-MARK
                    191: .HP 14
                    192: .IP
                    193: The packet mark value to be used by mark-based routing.
                    194: (Available only on Linux.)
                    195: .HP 7
                    196: .TP
                    197: .B check-support
                    198: Check for support for a particular feature in this version of
                    199: .B mtr-packet
                    200: and in this particular operating environment.
                    201: .B check-support
                    202: will reply with
                    203: .BR feature-supported .
                    204: A
                    205: .B feature
                    206: argument is required.
                    207: .HP 7
                    208: .IP
                    209: .B feature
                    210: .I FEATURE-NAME
                    211: .HP 14
                    212: .IP
                    213: The name of a feature requested.
                    214: .HP 7
                    215: .IP
                    216: Some features which can be checked are
                    217: .BR send-probe ,
                    218: .BR ip-4 ,
                    219: .BR ip-6 ,
                    220: .BR icmp ,
                    221: .BR sctp ,
                    222: .BR tcp ,
                    223: .BR udp ,
                    224: and
                    225: .BR mark .
                    226: The feature
                    227: .B version
                    228: can be checked to retrieve the version of
                    229: .BR mtr-packet .
                    230: .SH REPLIES
                    231: .TP
                    232: .B reply
                    233: The destination host received the
                    234: .B send-probe
                    235: probe and replied.  Arguments of
                    236: .B reply
                    237: are:
                    238: .HP 7
                    239: .IP
                    240: .B ip-4
                    241: .I IP-ADDRESS
                    242: .HP 14
                    243: .IP
                    244: The Internet Protocol version 4 address of the host which replied
                    245: to the probe.
                    246: .HP 7
                    247: .IP
                    248: .B ip-6
                    249: .I IP-ADDRESS
                    250: .HP 14
                    251: .IP
                    252: The Internet Protocol version 6 address of the host which replied
                    253: to the probe.
                    254: .HP 7
                    255: .IP
                    256: .B round-trip-time
                    257: .I TIME
                    258: .HP 14
                    259: .IP
                    260: The time which passed between the transmission of the probe and its
                    261: response.  The time is provided as a integral number of microseconds
                    262: elapsed.
                    263: .HP 7
                    264: .TP
                    265: .B no-reply
                    266: No response to the probe request was received before the timeout
                    267: expired.
                    268: .TP
                    269: .B ttl-expired
                    270: The time-to-live value of the transmitted probe expired before the probe
                    271: arrived at its intended destination.  Arguments of
                    272: .B ttl-expired
                    273: are:
                    274: .HP 7
                    275: .IP
                    276: .B ip-4
                    277: .I IP-ADDRESS
                    278: .HP 14
                    279: .IP
                    280: The Internet Protocol version 4 address of the host at which the
                    281: time-to-live value expired.
                    282: .HP 7
                    283: .IP
                    284: .B ip-6
                    285: .I IP-ADDRESS
                    286: .HP 14
                    287: .IP
                    288: The Internet Protocol version 6 address of the host at which the
                    289: time-to-live value expired.
                    290: .HP 7
                    291: .IP
                    292: .B round-trip-time
                    293: .I TIME
                    294: .HP 14
                    295: .IP
                    296: The time which passed between the transmission of the probe and its
                    297: response.  The time is provided as a integral number of microseconds
                    298: elapsed.
                    299: .HP 7
                    300: .IP
                    301: .B mpls
                    302: .I MPLS-LABEL-LIST
                    303: .HP 14
                    304: .IP
                    305: A list of Multiprotocol Label Switching values returned
                    306: with the probe response.
                    307: If the
                    308: .B mpls
                    309: argument is present, one or more MPLS labels will be represented by
                    310: a comma separated list of values.  The values are provided in groups
                    311: of four.  The first four values in the list correspond to the
                    312: first MPLS label, the next four values correspond to the second MPLS
                    313: label, and so on.  The values are provided in this order:
                    314: .IR label ,
                    315: .IR experimental-use ,
                    316: .IR bottom-of-stack ,
                    317: .IR ttl .
                    318: .HP 7
                    319: .TP
                    320: .B no-route
                    321: There was no route to the host used in a
                    322: .B send-probe
                    323: request.
                    324: .TP
                    325: .B network-down
                    326: A probe could not be sent because the network is down.
                    327: .TP
                    328: .B probes-exhausted
                    329: A probe could not be sent because there are already too many unresolved
                    330: probes in flight.
                    331: .TP
                    332: .B permission-denied
                    333: The operating system denied permission to send the probe with the
                    334: specified options.
                    335: .TP
                    336: .B invalid-argument
                    337: The command request contained arguments which are invalid.
                    338: .TP
                    339: .B feature-support
                    340: A reply to provided to
                    341: .B check-support
                    342: indicating the availability of a particular feature.  The argument provided
                    343: is:
                    344: .HP 7
                    345: .IP
                    346: .B support
                    347: .I PRESENT
                    348: .HP 14
                    349: .IP
                    350: In most cases, the
                    351: .I PRESENT
                    352: value will be either
                    353: .BR ok ,
                    354: indicating the feature is supported, or
                    355: .BR no ,
                    356: indicating no support for the feature.
                    357: .IP
                    358: In the case that
                    359: .B version
                    360: is the requested
                    361: .IR FEATURE-NAME ,
                    362: the version of
                    363: .B mtr-packet
                    364: is provided as the
                    365: .I PRESENT
                    366: value.
                    367: .HP 7
                    368: .IP
                    369: .SH EXAMPLES
                    370: A controlling program may start
                    371: .B mtr-packet
                    372: as a child process and issue the following command on
                    373: .IR stdin :
                    374: .LP
                    375: .RS
                    376: 42 send-probe ip-4 127.0.0.1
                    377: .RE
                    378: .LP
                    379: This will send a network probe to the loopback interface.  When the probe
                    380: completes,
                    381: .B
                    382: mtr-packet
                    383: will provide a response on
                    384: .I stdout
                    385: such as the following:
                    386: .LP
                    387: .RS
                    388: 42 reply ip-4 127.0.0.1 round-trip-time 126
                    389: .RE
                    390: .LP
                    391: This indicates that the loopback address replied to the probe, and the
                    392: round-trip time of the probe was 126 microseconds.
                    393: .LP
                    394: In order to trace the route to a remote host, multiple
                    395: .B send-probe
                    396: commands, each with a different
                    397: .B ttl
                    398: value, are used.
                    399: .LP
                    400: .RS
                    401: 11 send-probe ip-4 8.8.8.8 ttl 1
                    402: .RS 0
                    403: 12 send-probe ip-4 8.8.8.8 ttl 2
                    404: .RS 0
                    405: 13 send-probe ip-4 8.8.8.8 ttl 3
                    406: .RS 0
                    407: \&...
                    408: .RE 0
                    409: .LP
                    410: Each interemediate host would respond with a
                    411: .B ttl-expired
                    412: message, and the destination host would respond with a
                    413: .BR reply :
                    414: .LP
                    415: .RS
                    416: 11 ttl-expired ip-4 192.168.254.254 round-trip-time 1634
                    417: .RS 0
                    418: 12 ttl-expired ip-4 184.19.243.240 round-trip-time 7609
                    419: .RS 0
                    420: 13 ttl-expired ip-4 172.76.20.169 round-trip-time 8643
                    421: .RS 0
                    422: 14 ttl-expired ip-4 74.40.1.101 round-trip-time 9755
                    423: .RS 0
                    424: 15 ttl-expired ip-4 74.40.5.126 round-trip-time 10695
                    425: .RS 0
                    426: 17 ttl-expired ip-4 108.170.245.97 round-trip-time 14077
                    427: .RS 0
                    428: 16 ttl-expired ip-4 74.40.26.131 round-trip-time 15253
                    429: .RS 0
                    430: 18 ttl-expired ip-4 209.85.245.101 round-trip-time 17080
                    431: .RS 0
                    432: 19 reply ip-4 8.8.8.8 round-trip-time 17039
                    433: .RE 0
                    434: .LP
                    435: Note that the replies in this example are printed out of order.
                    436: (The reply to probe 17 arrives prior to the reply to probe 16.)
                    437: This is the reason that it is important to send commands with unique
                    438: token values, and to use those token values to match replies with
                    439: their originating commands.
                    440: .SH CONTACT INFORMATION
                    441: .PP
                    442: For the latest version, see the mtr web page at
                    443: .UR http://\:www.\:bitwizard.\:nl/\:mtr/
                    444: .UE
                    445: .PP
                    446: For patches, bug reports, or feature requests, please open an issue on
                    447: GitHub at:
                    448: .UR https://\:github\:.com/\:traviscross/\:mtr
                    449: .UE .
                    450: .SH "SEE ALSO"
                    451: .BR mtr (8),
                    452: .BR icmp (7),
                    453: .BR tcp (7),
                    454: .BR udp (7),
                    455: TCP/IP Illustrated (Stevens, ISBN 0201633469).

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>