Co je to příkaz mtr?
Mtr (my traceroute) je síťový diagnostický nástroj příkazového řádku, který poskytuje funkce příkazů ping a traceroute. Jedná se o jednoduchý a multiplatformní nástroj, jehož výstupem jsou informace o celé trase, kterou síťové pakety procházejí z hostitelského systému do určeného cílového systému. Příkaz mtr je nadřazený příkazu traceroute, protože také vydává procento odezvy a doby odezvy pro všechny skoky v síti mezi těmito dvěma systémy.
Jako správce sítě musíte vědět, jak používat příkaz mtr a příznaky, které můžete použít k přizpůsobení výstupu, abyste mohli provádět produktivní diagnostiku sítě. Tento článek podrobně vysvětluje použití příkazu mtr a poskytuje příklady, které vám ukáží, jak s tímto příkazem používat konkrétní příznaky.
Příkazy a postupy popsané v tomto článku jsme spustili na systému Ubuntu 20.04 a Ubuntu 22.04 LTS, ale mělo by to fungovat i na Debianu 11.
Protože mtr je program příkazového řádku, použijeme jej v příkazovém řádku Ubuntu, terminálu. Terminálovou aplikaci můžete otevřít buď pomocí System Dash, nebo pomocí kombinace kláves Ctrl + Alt + t.
Instalace příkazu mtr
Příkaz mtr pravděpodobně není ve vašem systému nainstalován jako výchozí. můžete jej však snadno nainstalovat pomocí apt.
sudo apt install mtr
Použití příkazu mtr
1. Zobrazení zprávy traceroute v reálném čase
Příkaz mtr se primárně používá k zobrazení zprávy traceroute pro vzdálený počítač. Jediné, co musíte udělat, je zadat název domény nebo IP adresu vzdáleného systému pomocí příkazu mtr a na výstupu se zobrazí zpráva traceroute v reálném čase. Po zobrazení přehledu můžete příkaz ukončit buď klávesou q, nebo kombinací kláves Ctrl+C.
Zobrazovat názvy hostitelů
Následující syntaxe příkazu mtr zobrazuje názvy hostitelů ve zprávě traceroute.
Syntaxe:
$ mtr [název domény/IP]
Příklad:
$ mtr google.com
Zobrazit číselné adresy IP
Když použijete příznak g s příkazem mtr, zobrazí se ve zprávě traceroute namísto názvů hostitelů číselné IP adresy.
Syntaxe:
$ mtr -g [název domény/IP]
Příklad:
$ mtr -g google.com
Názvy hostitelů i číselné adresy IP
Když použijete příznak b s příkazem mtr, zobrazí se ve zprávě traceroute jak číselné IP adresy, tak názvy hostitelů.
Syntaxe:
$ mtr -b [název domény/IP]
Příklad:
$ mtr -b google.com
2. Zadejte limit pro počet pingů
Příkaz mtr můžete nakonfigurovat tak, aby skončil po vytištění zprávy traceroute pro určitý počet pingů. Ve výstupu můžete snadno zobrazit počet pingů ve sloupci Snt; když Snt dosáhne čísla, které jste zadali ve vašem příkazu přes příznak c, mtr se automaticky ukončí.
Syntaxe:
$ mtr -c [n] “ název domény/IP”
Příklad:
$ mtr -c 10 google.com
3. Povolit režim hlášení
Namísto tisku výstupu příkazu mtr na obrazovku můžete povolit režim sestavy, který místo toho vytiskne výstup v textovém souboru. Tímto způsobem můžete zaznamenat analýzu sítě pro pozdější použití a pozorování. Vše, co musíte udělat, je povolit režim sestavy pomocí příznaku r, zadat počet pingů, pro který chcete zprávu omezit pomocí příznaku c, a také zadat název souboru sestavy, do kterého bude sestava uložena.
Syntaxe:
$ mtr -r -c [n] “ název_domény/IP”>”název-přehledu”
Příklad:
$ mtr -r -c 10 google.com >mtr-report-google
Zpráva se ve výchozím nastavení uloží do domovské složky aktuálního uživatele. Můžete však určit správnou cestu, do které má být sestava uložena.
Vymazat výstup v přehledu
Přidání příznaku w s příznakem r umožní mtr vytisknout poměrně jasnou a čitelnější zprávu pro traceroute.
Syntaxe:
$ mtr – rw -c [n] “ název_domény/IP”>”název-přehledu”
Příklad:
mtr -rw -c 10 google.com >mtr-report-google
4. Změňte uspořádání výstupních polí
Když uvidíte výstup sestavy mtr, uvidíte, že sloupce jsou uspořádány specifickým výchozím způsobem. Příznak o vám umožňuje přeuspořádat výstup přizpůsobeným způsobem, aby byl užitečnější a produktivnější.
Syntaxe:
$ mtr -o “[Výstupní formát]” “ název domény/IP”
Manuální stránka mtr vám může pomoci s možnostmi, které máte při přizpůsobení sloupců sestavy mtr.
Příklad:
$ mtr -o "LSDR NBAW JMXI" google.com
5. Zadejte časový interval mezi požadavky ICMP ECHO
Ačkoli výchozí časový interval mezi každým požadavkem ICMP a ECHO je v příkazu mtr 1 sekunda, můžete jej změnit pomocí příznaku i a zadat nový časový interval.
Syntaxe:
$ mtr -i [čas-v-sekundách] “ název_domény/IP”
Příklad:
$ mtr -i 10 google.com
6. Použijte TCP SYN pakety nebo UDP datagramy
Pokud chcete použít datagramy TCP SYN nebo UDP pro vyžádání mtr namísto výchozích požadavků ICMP ECHO, můžete tak učinit pomocí příznaků tcp a udp.
Syntaxe:
$ mtr –tcp „název_domény/IP“
$ mtr –udp „název_domény/IP“
Příklad:
$ mtr --tcp google.com
$ mtr --udp google.com
7. Zadejte maximální počet skoků mezi místním systémem a vzdáleným počítačem
Můžete přizpůsobit maximální počet skoků, které mají být testovány mezi vaším lokálním systémem a vzdáleným počítačem, zadáním času v sekundách pomocí příznaku m. Výchozí časový limit mezi dvěma skoky je pro příkaz mtr 30 sekund.
Syntaxe:
$ mtr -m [timeInSeconds] “ název_domény/IP”
Příklad:
$ mtr -m 35 216.58.223.78
8. Zadejte velikost paketu
Pomocí příznaku s v příkazu mtr můžete určit velikost paketu IP v bajtech pro diagnostiku kvality sítě.
Syntaxe:
$ mtr – r -s [velikost paketu] “ název_domény/IP”
Příklad:
mtr -r -s 50 google.com
9. Tisk výstupu CSV
Výstup CSV sestavy mtr ohraničuje sloupce „,“. Pomocí příznaku csv můžete upravit příkaz mtr tak, aby výstup sestavy byl ve formátu CSV.
Syntaxe:
$ mtr –csv „název_domény/IP“
Příklad:
$ mtr --csv google.com
10. Tisk výstupu XML
Příkaz mtr může také podporovat formát XML pro tisk sestav traceroute. Zpráva XML je dobrou volbou pro automatizované zpracování výstupu a lze ji vytisknout zadáním příznaku xml pomocí příkazu mtr.
Syntaxe:
$ mtr –xml „název_domény/IP“
Příklad:
$ mtr --xml google.com
11. Přístup k nápovědě a manuálové stránce mtr
Nakonec můžete získat další možnosti použití a přizpůsobení příkazu mtr přečtením jeho nápovědy a manuálové stránky pomocí následujících příkazů.
$ man mtr
$ mtr --help
Zde je seznam všech možností příkazového řádku mtr
Usage: mtr [options] hostname -F, --filename FILE read hostname(s) from a file -4 use IPv4 only -6 use IPv6 only -u, --udp use UDP instead of ICMP echo -T, --tcp use TCP instead of ICMP echo -I, --interface NAME use named network interface -a, --address ADDRESS bind the outgoing socket to ADDRESS -f, --first-ttl NUMBER set what TTL to start -m, --max-ttl NUMBER maximum number of hops -U, --max-unknown NUMBER maximum unknown host -P, --port PORT target port number for TCP, SCTP, or UDP -L, --localport LOCALPORT source port number for UDP -s, --psize PACKETSIZE set the packet size used for probing -B, --bitpattern NUMBER set bit pattern to use in payload -i, --interval SECONDS ICMP echo request interval -G, --gracetime SECONDS number of seconds to wait for responses -Q, --tos NUMBER type of service field in IP header -e, --mpls display information from ICMP extensions -Z, --timeout SECONDS seconds to keep probe sockets open -M, --mark MARK mark each sent packet -r, --report output using report mode -w, --report-wide output wide report -c, --report-cycles COUNT set the number of pings sent -j, --json output json -x, --xml output xml -C, --csv output comma separated values -l, --raw output raw format -p, --split split output -t, --curses use curses terminal interface --displaymode MODE select initial display mode -g, --gtk use GTK+ xwindow interface -n, --no-dns do not resolve host names -b, --show-ips show IP numbers and host names -o, --order FIELDS select output fields -y, --ipinfo NUMBER select IP information in output -z, --aslookup display AS number -h, --help display this help and exit -v, --version output version information and exit
Po přečtení tohoto článku budete lépe vybaveni spuštěním diagnostiky sítě mezi vaším strojem a vzdáleným systémem. Máte také alternativu k příkazům ping a traceroute s mnoha dalšími možnostmi přizpůsobení pro lepší produktivitu a užitečnost.