windows - 检查远程主机上某个端口的状态

标签 windows batch-file tcp cmd

<分区>

我需要一个命令行来检查远程主机上的端口状态。我尝试了 ping xxx.xxx.xxx.xxx:161 但它无法识别“主机”。我认为这是一个“好”的答案,直到我对我知道该端口打开的主机执行了相同的命令。这是用于 Windows 上的批处理文件,它将检查远程端口的状态,然后运行使用该远程端口获取信息的命令,然后再次使用远程端口检查命令,然后使用下一个服务器上的该端口获取信息的命令, 等等。我到处都看过,认为 ping 可以做到这一点,但肯定有各种版本的 ping,我想因为我正在执行此操作的服务器没有显示该选项。

只是为了笑,我尝试了一个网站上基于 Web 的远程端口检查器 - 结果对于“问题”服务器和正确的服务器都是正确的。但是,我不能在其中包含 500 多个服务器 IP 的批处理中使用它。

有什么我可以做的简单的事情吗?我的 Perl 技能非常生疏(使用它或失去它),除了批处理之外不知道任何其他基于 Windows 的语言。 Unix 是我的技能,但这必须从 Widows Server 2003 执行。

最佳答案

您似乎在寻找端口扫描器,例如 nmapnetcat ,两者都适用于 Windows、Linux 和 Mac OS X。

例如,检查已知 ip 上的 telnet:

nmap -A 192.168.0.5/32 -p 23

例如,在 host.example.com 上查找从 20 到 30 的开放端口:

nc -z host.example.com 20-30

关于windows - 检查远程主机上某个端口的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1168317/

相关文章:

c++ - 无法在Windows 10上安装MinGW

assembly - 如何在 Win7 cmd.exe 中抑制 “terminate batch job”

c++ - 通过 Python 处理多个连接

c# - 在 C# 中获取本地 Windows 用户登录 session 时间戳

windows - 在 autohotkey 中获取可用的屏幕区域

windows - 将输出管道输出到由 [Diagnostics.Process]::Start 启动的 Windows 可执行文件?

mysql - 使用参数执行批处理文件

android - 使用批处理命令搜索文本文件并删除字符串

go - Golang在TCP上死锁。一段时间后写入

sockets - NodeJS : What is the proper way to handling TCP socket streams ? 我应该使用哪个定界符?