脚本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文件,结果如下:
注释:
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系统下端口连通性常见的验证方法