MTR & Traceroute
Table of contents
MTR
- MTR - a combination between
traceroute
andping
. - MTR default uses
icmp
, traceroute default useudp
. - If seeing
waiting for reply
, update fileferm.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