MTUを調べる

#!/bin/sh
#chkmtu.sh
#1500からICMPヘッダ28バイトを引いた1472を初期値とし
#1バイトずつ減らしていくことでパケットが分割されずに
#相手先に送信できるMTUを探す

ipaddr="www.google.co.jp"
nic=eth0

echo "Please wait..."
for i in `seq 1472 -1 0`; do
    NONE=`ping -s $i $ipaddr -c 2 | grep "100%" | wc -c`
    if [ $NONE == 0 ]; then
        i=$(( i+28 ))
        echo "Max MTU is $i "
        ifconfig $nic mtu $i &> /dev/null
        if [ $? != 0 ]; then
            echo "Can not changeMTU. Please set manually"
        else
            echo "MTU set $i"
        fi
        break
    else
        echo "...MTU size $i is not much"
    fi
done