fping是Linux下一个很好用的IP测试工具,结合代码可以完成批量的IP测试,在网络调试中用途很广。本文是基于fping for Windows结合bat批处理,定制的测试脚本样例。
一、程序信息
本次测试使用fpingV5.1 for Windows版,版本信息如下:
二、常用用法
1、需要管理员权限
2、常用参数
-a 显示能ping通的主机
-u 显示不能ping通的主机
-g 生成目标列表(不能与-f 指定目标文件参数同时使用)
如:192.168.1.0/24 或 192.168.1.0 192.168.1.255
-q 安静模式, 不显示每个目标ping结果
-f 指定目标地址文件.
3、示例(以192.168.80.0/29网段为例,可用192.168.80.1~6,现网实际能通的只有192.168.80.1)
1). 显示某段IP中通的IP:D:\download\fping>fping -ag 192.168.80.0/29
192.168.80.1
2). 显示某段IP中不通的IP:D:\download\fping>fping -ug 192.168.80.0/29
192.168.80.2
192.168.80.3
192.168.80.4
192.168.80.5
192.168.80.6
3). 显示某段IP的通断情况:D:\download\fping>fping -g 192.168.80.0/29
192.168.80.1 is alive
192.168.80.2 is unreachable
192.168.80.3 is unreachable
192.168.80.4 is unreachable
192.168.80.5 is unreachable
192.168.80.6 is unreachable4).显示某个文件中通的IP:
对应文件ip.txt内容为:
192.168.80.1
192.168.80.2
192.168.80.3
192.168.80.4
192.168.80.5
192.168.80.6执行结果:
D:\download\fping>fping -af ip.txt
192.168.80.1
三、bat脚本测试
1、代码
先上代码fping.bat
@echo off
cd /d "%~dp0"
cls
echo.
color 0a
:MENU
echo 请输入您选择的序号
echo 1-循环1万次扫描文件内活动IP
echo 2-循环1万次扫描文件内不活动的IP
echo 3-扫描网段内活动IP
echo 4-扫描同网段两个起止IP之间的活动IP
echo 5-退出脚本
Set /p input=请输入您的选择:
if %input% == 1 goto scan_f_a_loop1w
if %input% == 2 goto scan_f_u_loop1w
if %input% == 3 goto scan_net
if %input% == 4 goto scan_range
if %input% == 5 goto exit
goto :MENU
:scan_f_a_loop1w
Set file="ip.txt"
:loopa
cls
echo %num%
set /a num+=1
fping -af %file%
timeout /t 5 /nobreak
if %num% lss 10000 goto :loopa
goto MENU
:scan_f_u_loop1w
Set file="ip.txt"
:loopu
cls
echo %num%
set /a num+=1
fping -uf %file%
timeout /t 5 /nobreak
if %num% lss 10000 goto :loopu
goto MENU
:scan_net
Set scan_net="192.168.95.0/24"
Set /p scan_net=请输入扫描网段,形如[%scan_net%]:
echo 完整命令:fping -ag %scan_net%
fping -ag %scan_net%
timeout /t 10 /nobreak
goto MENU
:scan_range
Set range_start=192.168.95.1
Set range_end=192.168.95.10
Set /p range_start=请输入扫描开始地址,形如[%range_start%]:
Set /p range_end=请输入扫描结束地址,与开始IP同段,形如[%range_end%]:
echo 完整命令:fping -ag %range_start% %range_end%
fping -ag %range_start% %range_end%
timeout /t 10 /nobreak
goto MENU
:exit
echo 退出脚本
goto :eof
2、运行界面
3、测试样例:
1-循环1万次扫描文件内活动IP :每5秒测试一次ip.txt文件中的IP,返回能通的活动IP清单
2-循环1万次扫描文件内不活动的IP:每5秒测试一次ip.txt文件中的IP,返回不通的IP清单
3-按网段进行扫描
4-按连续IP进行扫描
即根据菜单按提示操作即可。
4、总结
前两项菜单中的1适合在工程测试过程中写入要测试的不通的IP,观察实施过程中原来不通的IP哪些通了;2适合在工程测试过程中写入要测试的通的IP,观察实施过程中原来通的IP哪些被中断了,后面又恢复了没有,特别适合网络割接调试用。3和4适用于检查某个网段或某两个同段IP间有哪些IP存活。