Link Search Menu Expand Document

MTR & Traceroute

Table of contents

MTR

  • MTR - a combination between traceroute and ping.
  • MTR default uses icmp, traceroute default use udp.
  • If seeing waiting for reply, update file ferm.conf > protocol icmp accept.
sudo mtr -r -c 30 example.com
sudo mtr 192.168.0.1

MTR over IPv4 & IPv6

sudo mtr -rw -c 30 example.com -4 
    # 30 times over IPv4
sudo mtr -rwc 10 192.168.0.1 -T -4
sudo mtr -rwc 10 example.com -T -6

MTR sending 64 hops

sudo mtr 192.168.0.1 --tcp --port 443 -m64 -U20 -rwc1

MTR over tcp

  • Force mtr over tcp
sudo mtr --tcp 192.168.0.1
  • Force over tcp and port 443
sudo mtr --tcp --port 443 192.168.0.1
  • User -rw for report
sudo mtr --tcp --port 443 192.168.0.1 -rw -c 10
  • Use -U for unknown hosts, by default mtr has 5, increase it to 30 unknown hosts
sudo mtr --tcp --port 443 192.168.0.1 -U 30 -rw -c 10
  • Use -m 64 is to increase the hops, mtr default to 30 hops max
sudo mtr --tcp --port 443 192.168.0.1 -U 30 -m 64 -rw -c 10

MTR flags usage

-r //--report 
-c //-cycles, Set the number of pings sent
-w //--report-wide
-t //--tcp, set TCP instead of ICMP
-4 //Use IPv4 only
-6 //Use IPv6 only

Install MTR

apt-get install build-essential curl file git
brew install mtr 

Install MTR on Ubuntu

apt-get -y install mtr

A little note for installation error

  • Potential error: Failure to start mtr-packet: Invalid argument
  • Need to add export PATH=$PATH:/usr/local/sbin to ~/.zshrc in order to have mtr to run.

Traceroute

Install apt install traceroute.

traceroute example.com 
traceroute 192.168.0.1

Ping

  • Ping IP, count 10 times.
ping -c 10 192.168.0.1
  • Ping hostname over IPv6, count 5 times.
ping6 geekyflare.com -c 5

Netcat

  • Connecting to IP address over port 443
nc -nvz 192.168.0.1 443 
  • Connecting to IP address over any ports
nc -nvz 192.168.0.1 any-ports