脚本Windows批量验证TCP端口连通性

Posted Lucking_SunJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了脚本Windows批量验证TCP端口连通性相关的知识,希望对你有一定的参考价值。

作为一名网络工程师经常会遇到互联网出口NAT设备割接,设备上存在大量的DNAT配置,难以验证割接后的网络连通性,多么希望有个工具可以批量测试所有公网端口........

下面分享一个简单的DOS脚本,用于windows下批量测试TCP端口连通性。

前提条件:

1.Windows安装Tcping工具,这个网上有很多教程。

2.准备一个txt文件,内容格式为:地址/域名 端口,例如:

www.baidu.com 80

114.114.114.114 80

脚本内容:

@echo off

chcp 65001

for /f  "tokens=1-2 delims= " %%a in (D:\\ip.txt) do tcping -n 2 %%a %%b>nul&&echo %%a %%b  通 >> D:\\print.txt  || echo %%a %%b 不通  >> D:\\print.txt

pause

将脚本复制到txt文本中保存,修改后缀名为bat文件。创建好ip.txt文件和print.txt文件,执行bat脚本后打开print文件,结果如下:

【脚本】Windows批量验证TCP端口连通性_连通性


注释:

chcp 65001 //​UTF-8代码页,防止有中文回显乱码

通过for /f读取文件中的内容对变量赋值

pause //脚本执行后按任意键继续

参数选项介绍:

​"delims=​"这个用来指定分割符号,用于分割文本中的数据,如上文前提条件中的举例,在IP地址和端口号之间增了一个空格,此处脚本中delims=空格,用于拆分IP地址和端口。

"tokens="这个用来提取文件中通过delims分割后的值,例如“114.114.114.114 80”,delims指定的分割符号为空格,此时我们只需要两个值则tokens的取值为1-2。将取到的第一个值赋予%%a,第二个值赋予%%b。

取值后执行tcping命令,-n表示指定ping2个包。

>nul表示将tcping的回显结果删除

&&echo %%a %%b  通 >> D:\\print.txt  || echo %%a %%b 不通  >> D:\\print.txt表示将tcping执行的结果追加到指定文件


以上是关于脚本Windows批量验证TCP端口连通性的主要内容,如果未能解决你的问题,请参考以下文章

Windows ❀ Windows系统下端口连通性常见的验证方法

Windows ❀ Windows系统下端口连通性常见的验证方法

Windows ❀ Windows系统下端口连通性常见的验证方法

怎样检测TCP/UDP端口的连通性

使用Telnet检查服务器防火墙连通性

怎样检测TCP/UDP端口的连通性 netcat udp端口检查