任何工具都可以测试我的程序是否可以监听某个端口

任何工具都可以测试我的程序是否可以监听某个端口

操作系统:Windows Server 2003

是否有任何工具可以测试某个端口是否可供我的程序监听?谢谢。

答案1

对于 Windows:netstat 将显示现有的端口号 - 只需选择一个未使用的端口号。

要查看机器上正在监听的端口 - 使用 nmap 命令对机器进行操作。

要验证您的程序是否正确获取输入 - 远程登录到该端口,然后输入内容,看看您的程序是否获取到了。

答案2


可能需要首先通过查看常见端口使用列表来了解可能存在的端口冲突:http://www.iana.org/assignments/port-numbers

正如@robert所说,您可以使用 netstat 查看当时正在监听的端口:http://www.petri.co.il/quickly_find_local_open_ports.htm

您可以使用以下几种在线端口扫描器之一来测试某个端口是否可以从外部访问:http://www.canyouseeme.org/

最后,检查端口是否被阻塞:http://support.microsoft.com/kb/816792

答案3

我认为一般的想法是,你的程序应该尝试用一个函数绑定到端口,然后检查返回值以确保绑定成功。如果不成功,就会出错。这是从 *nix 的角度出发的,但我觉得这很通用。

我认为它具有通用性的原因是,理想情况下,检查端口和绑定到端口需要是原子的。在这种用法中,这意味着在检查完成和分配端口之间,没有其他程序有机会使用该端口。如果先使用 netstat 之类的东西,则在您检查和尝试使用端口之间,其他程序可能会使用它。

相关内容