Gyorsan megírtam magamnak egy bináris keresős változatot:
#!/bin/bash
destination_ip="$1"
lo=1200
hi=2000
while ((hi-lo>1)); do
    ((packet_size=(lo+hi)/2))
    echo "  Packet size: $packet_size, hi: $hi, lo: $lo" >&2
    if ping -4 -M do -c 1 -s "$packet_size" "$destination_ip" >&/dev/null; then
        lo="$packet_size"
    else
        hi="$packet_size"
    fi
done
if ping -4 -M do -c 1 -s "$hi" "$destination_ip" >&/dev/null; then
    lo="$hi"
fi
packet_size=$((lo+26))
echo "Maximum MTU size: $packet_size"
exit 0