#!/bin/bash # Define the target host to test MTU target_host="google.com" # Define the maximum MTU size to test max_mtu=1500 # Define the step size for MTU testing step=10 # Define the timeout for each ping command timeout=1 # Define the number of packets to send for each ping count=15 # Function to perform ping with a specific MTU size function ping_with_mtu { ping -M do -c $count -W $timeout -s $1 $target_host > /dev/null 2>&1 return $? } # Function to test MTU for a specific size function test_mtu { ping_with_mtu $1 return $? } # Iterate through MTU sizes and test them for (( mtu=$max_mtu; mtu>=1200; mtu-=$step )) do test_mtu $mtu if [ $? -eq 0 ]; then echo "MTU $mtu works fine. (Continuous)" else echo "MTU $mtu does not work. (Fragmented)" fi done