端口 1433 上的 telnet 无法正常工作

端口 1433 上的 telnet 无法正常工作

telnet 某个 IP 1433

在 Windows 7 上,此行不起作用。它说无法建立连接。我 100% 确定服务器已打开此端口。对于我的一个朋友,此行有效。

我怀疑有两个原因:

  • 我的 ISP 阻止了这个端口。
  • 我的系统阻止了它。

我关闭了防火墙和 Windows 防火墙。我还能做些什么来确保问题与我的系统配置无关?

顺便说一句,我不知道这是否重要,但是

telnet 某个 IP 80

工作正常

编辑

Wireshark 日志在这里

我更换了尝试 telnet 的 IP

<my_ip>

答案1

使用 telnet 是一种非常好且有用的工具,可以跟踪/排除连接故障。

这是我的做法:

a) 在 SQL Server 机器上:telnet localhost 1433 ——这是为了确保可以进行远程连接

b) 在另一台机器上,与 SQL 服务器机器位于同一个本地网络上:telnet 1433 —— 这会告诉您是否有可能访问“机器外”的端口

c) 现在,如果一切正常……这取决于您拥有的工具和访问权限。例 1:是否可以从 SQL Server 所在的防火墙进行 telnet?例 2:是否可以从必须穿过该防火墙的另一个非本地 SQL 系统进行 telnet?

通常你只能通过“b”,然后你必须一步步看三件事:

  • SQL Server 所在的防火墙
  • 您这边的防火墙硬件(运行 telnet 的地方)
  • 运行 telnet 的机器上的本地操作系统防火墙(例如出站过滤器或阻止出站连接的防火墙)

答案2

在 PC 上运行流量嗅探器(如 Wireshark 或 Network Monitor),查看尝试打开 telnet 连接时网络的响应。这将告诉您该端口上的出站流量是否被黑洞化或以其他方式被篡改。

ISP 封锁端口 1433 或带有 Telnet 标记的应用层流量的可能性极小。尝试使用同一 LAN 上的另一台 PC 或设备(如智能手机)来缩小可能性。

答案3

我花了两天时间排查同一个问题:telnet 1433 端口失败。费了好大劲,终于找到问题所在了!

问题在于服务器互联网连接被标识为“公共网络”,而它应该是域网络。

重启NLA服务后(参考域控制器认为它位于公共网络上),网络再次被识别为域网络,然后问题就消失了。我的防火墙设置设置为“域”配置文件,当它是公用网络时,防火墙设置不起作用。

我希望这些信息能够对其他人有所帮助。

答案4

只是为了确定以下查询返回什么

declare @dir nvarchar(4000)    

exec master.dbo.xp_instance_regread
    N'HKEY_LOCAL_MACHINE',
    N'SOFTWARE\Microsoft\MSSQLServer\SuperSocketNetLib\Tcp\IPAll',
    N'TcpDynamicPorts', 
    @dir output

select @dir

或者,编辑实例名称后

declare @dir nvarchar(4000)

exec master.dbo.xp_regread
    N'HKEY_LOCAL_MACHINE',
    N'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11.SQL110EXP02\MSSQLServer\SuperSocketNetLib\Tcp\IPAll',
    N'TcpDynamicPorts', 
    @dir output

select @dir

相关内容