用批处理测试MTU

本文介绍了一个用于自动测试最大传输单元(MTU)的批处理脚本。该脚本通过逐步逼近的方法确定网络设备的最佳MTU大小,并提供详细的测试过程及最终结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个自动测试MTU的批处理。本地测试结果:

ipaddress:192.168.1.1

try : 1000 [0 , 2000]
try : 1500 [1000 , 2000]
try : 1250 [1000 , 1500]
try : 1375 [1250 , 1500]
try : 1437 [1375 , 1500]
try : 1468 [1437 , 1500]
try : 1484 [1468 , 1500]
try : 1476 [1468 , 1484]
try : 1472 [1468 , 1476]
try : 1474 [1472 , 1476]
try : 1473 [1472 , 1474]
try : 1472 [1472 , 1473]

package: 1472
MTU : 1500

Press any key to continue . . .

脚本:

@echo off
chcp 437>nul
set /p ip=ipaddress:
if %ip%.==. goto:eof
echo.

set con=
for /f "tokens=1 delims= " %%a in ('ping %ip% -n 1 ^| find "Reply"') do set con=%%a
if %con%.==. goto:discon

set min=0
set max=2000

:test
call:try %min% %max%
if %df%.==. (
if %min%==%package% goto:result
set min=%package%
) else (
set max=%package%
)
goto:test
goto:eof

:result
echo.
echo package: %package%
set /a mtu=%package% + 28
echo MTU : %mtu%
echo.
pause
goto:eof

:try
set /a package=(%1+%2)/2
echo try : %package% [%1 , %2]
call:ping %package%
goto:eof

goto:eof
:ping
set df=
for /f "tokens=1 delims= " %%a in ('ping %ip% -f -l %1 -n 1 ^| find "DF"') do set df=%%a
goto:eof

:discon
echo Error: can not connect to %ip%
echo.
pause

转载于:https://www.cnblogs.com/dishuostec/archive/2011/04/02/2003135.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值