2018-08-23 12:52:09 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
PKT_SIZE=1472
|
|
|
|
INTERFACE="$1"
|
|
|
|
HOSTNAME="$2"
|
|
|
|
|
2019-01-14 17:38:42 +00:00
|
|
|
#count=$(ping -q -w 1 -M do -c 1 -s $PKT_SIZE -I $INTERFACE $HOSTNAME | grep -cE 'Message too long|100% packet loss')
|
2019-12-11 19:17:04 +00:00
|
|
|
#count=$(ping -B -w 1 -M do -c 1 -s $PKT_SIZE -I $INTERFACE $HOSTNAME 2>&1 | grep -c 'Message too long')
|
|
|
|
count=$(ping -B -w 1 -M do -c 1 -s $PKT_SIZE -I $INTERFACE $HOSTNAME 2>&1 | grep -cE 'Message too long|100% packet loss')
|
2018-08-23 12:52:09 +00:00
|
|
|
|
2019-12-03 19:20:04 +00:00
|
|
|
while [ $count -ge 1 ]; do
|
2018-08-23 12:52:09 +00:00
|
|
|
PKT_SIZE=$((PKT_SIZE - 1))
|
|
|
|
if [ "$PKT_SIZE" -lt "1200" ]; then
|
|
|
|
exit 0
|
|
|
|
fi
|
2019-01-14 17:38:42 +00:00
|
|
|
#count=$(ping -q -w 1 -M do -c 1 -s $PKT_SIZE -I $INTERFACE $HOSTNAME | grep -cE 'Message too long|100% packet loss')
|
2019-12-11 19:17:04 +00:00
|
|
|
#count=$(ping -B -w 1 -M do -c 1 -s $PKT_SIZE -I $INTERFACE $HOSTNAME 2>&1 | grep -c 'Message too long')
|
|
|
|
count=$(ping -B -w 1 -M do -c 1 -s $PKT_SIZE -I $INTERFACE $HOSTNAME 2>&1 | grep -cE 'Message too long|100% packet loss')
|
2018-08-23 12:52:09 +00:00
|
|
|
done
|
|
|
|
|
|
|
|
printf "$((PKT_SIZE + 28))"
|