需求:快速查找网络内开放22端口的主机
软件:tcping,下载后放在c:\windows\system32 目录
脚本:bat批处理
代码:
@echo off for /l %%i in (60,1,254) do ( tcping -n 1 192.168.30.%%i 22 && echo 192.168.30.%%i >> s.txt || echo 192.168.30.%%i >> f.txt ) pause
代码解释:
上面的脚本是一个在Windows下使用tcping进行局域网端口扫描的批处理脚本。 解释如下: @echo off:这条命令用于关闭命令行窗口的回显,即不显示执行命令的详细信息。 for /l %%i in (60,1,254) do (...):这是一个循环语句,从60循环到254,每次递增1。%%i是一个循环变量,用于表示当前循环的值。 tcping -n 1 192.168.30.%%i 22:这个命令使用tcping工具来尝试连接指定IP地址的22端口(SSH端口),-n 1表示只发送1个请求进行测试。 && echo 192.168.30.%%i >> s.txt:如果连接成功(返回值为0),则将IP地址追加到s.txt文件中,表示该IP的22端口是开放的。 || echo 192.168.30.%%i >> f.txt:如果连接失败(返回值不为0),则将IP地址追加到f.txt文件中,表示该IP的22端口是关闭的。 pause:这条命令用于暂停脚本的执行,以便查看脚本的输出结果。 脚本会循环从60到254,每次尝试使用tcping连接到192.168.30.%%i(其中%%i会被替换为当前循环的值)。如果连接成功,则将IP地址记录到s.txt文件中;如果连接失败,则将IP地址记录到f.txt文件中。 请注意,在运行脚本之前,需要确保已经安装了tcping工具,并将其路径添加到系统的环境变量中。
执行后在当前目录得到2个文件,s.txt和f.txt,得到结果