尝试在 Windows 机器上打开一个洞来访问 SQL 服务器。
我如何测试端口是否打开(不使用 SQL 测试登录等)
我正在寻找一种更通用的测试方法,不涉及 SQL 服务器,只是为了隔离无法连接的问题,即它是登录问题还是连接/防火墙问题。
答案1
您可以使用端口扫描工具,例如网络映射或者如果它是一个 TCP 端口,只需简单地 telnet 到相关端口即可。telnet 主机端口 - 例如 telnet server01 1433
答案2
首先,我要验证相关服务器是否确实在监听 1443。最简单的方法可能是(在服务器上,在 cmd 窗口中)netstat -an | find "1443"
并查看您得到什么返回结果。
其次,如果您正在寻找 TCP 连接,您可能能够telnet <hostname> 1443
查看是否获得连接。您将无法用它做任何事情,但这应该会告诉您是否可以建立连接。
如果您正在寻找 UDP,那么如果您有一种在无连接协议上建立连接的好方法,我会感到惊讶。
答案3
如果你想从公共互联网验证端口是否开放,你可以使用类似https://www.monitostech.com/tool/port。这在测试 Web 服务器是否可供公众访问时特别有用,或者如果您的系统地理分散,您可以验证它们是否具有开放的路径。
在检查本地 LAN 上的 Web 服务器和 SQL 服务器之间的连通性时,我发现这个 powershell 命令运行得很好:
try { $cn=new-object System.Net.Sockets.TcpClient; $cn.connect("host",port); $cn.close() ; "Test worked" } catch { "Test failed" }