在linux环境中,1433端口一般是Microsoft SQL Server的默认服务端口。当我们怀疑数据库无法连接时,第一步往往就是确认这台机器上的1433端口到底有没有打开。下面介绍几种实用的查看方式。

使用netstat命令查看
netstat是比较传统的网络状态查看工具,大多数linux发行版都自带。我们可以用如下命令检查1433端口的监听情况:
# 查看所有监听端口中是否包含1433 netstat -tulnp | grep 1433 # 如果输出类似下面内容,说明1433已被监听 # tcp 0 0 0.0.0.0:1433 0.0.0.0:* LISTEN 1234/sqlservr
若命令没有任何输出,通常表示当前系统没有进程在监听1433端口。
使用ss命令查看
ss是netstat的现代替代工具,执行速度更快。查看方式如下:
# 使用ss检查1433端口 ss -tulnp | grep 1433
当看到LISTEN状态的记录时,就说明端口处于打开状态。
使用telnet测试端口连通性
如果你在一台客户端linux机器上,想测试目标机的1433是否可访问,可以用telnet:
# 将host换成实际IP telnet 192.168.0.1 1433
能够进入连接界面或显示Connected,代表端口通;如果提示No route to host或Connection refused,则端口未打开或被防火墙拦截。
用nmap扫描端口
nmap适合从外部做端口探测:
nmap -p 1433 127.0.0.1
扫描结果中端口状态为open,即表示1433端口打开。
小结
在linux上查看1433端口是否打开,核心就是确认是否有进程监听该端口,以及网络层能否连通。日常排查推荐先用ss或netstat看本地监听,再用telnet或nmap做连通性验证,基本就能定位问题。