Bootstrap

Windows下基于fping进行批量IP测试

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 unreachable

    4).显示某个文件中通的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存活。

;