zl程序教程

您现在的位置是:首页 >  系统

当前栏目

连接Linux下如何查看Socket连接状态(linux查看socket)

Linux状态连接 如何 查看 socket
2023-06-13 09:13:45 时间

Linux服务器作为一种广泛使用的服务器操作系统,有时需要对Socket连接进行连接状态的查看,以下提供几种查看Linux下Socket连接状态的方法。

1. 使用netstat命令

Netstat是Linux查看系统状态的一个命令,可以查看当前网络状态,包括TCP/IP、UDP(User Date Protocol)等查看实例如下:

$ netstat -an #查看全部的网络端口

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN

tcp 0 0 192.168.1.1:3389 172.17.165.243:1048 ESTABLISHED

tcp 0 0 192.168.1.1:5357 192.168.1.240:8899 ESTABLISHED

获取到的结果中包含了当前网络的连接情况,其中Local Address 代表本机地址,Foreign Address 代表外部的地址,state 表明链接的状态,当操作netstat时,可以使用后面的参数来细化输出:

#查看TCP端口

$ netstat -at

#查看UDP端口

$ netstat -au

#仅查看处于 Listening 状态的 TCP 端口

$ netstat -atnl

#查看指定端口 22 状态

$ netstat -ap | grep ssh

netstat 由于使用范围广,因此有多少参数可以使用,可以查看某一台机器所有生效的连接,也可以查看指定端口的连接状态。

2. 使用lsof命令

除了netstat,还可以使用lsof(List Open File)查看当前的Socket状态,查看示例如下:

$ lsof –n | grep TCP

sshd 3520 root 3u IPv4 157344 0t0 TCP *:ssh (LISTEN)

sshd 3520 root 4u IPv6 157346 0t0 TCP *:ssh (LISTEN)

vncserver 3549 xxxx 5u IPv4 176300 0t0 TCP 127.0.0.1:5801 (LISTEN)

lsof结果中多了最后一列是PID(进程标识),很容易查看出正在使用什么进程,可以使用如下命令查看,lsof可以生成中文输出,方便查看进程:

$ lsof –n –i TCP

$ lsof -n –i tcp:8888 # 监听指定端口 8888

$ lsof –n | grep TCP | grep LISTEN #仅查看处于 Listening 状态的 TCP 端口.

以上方法可以初步查看Linux下Socket连接状态,通过查看便可以对网络自50端口的开放、被防火墙封锁等进行快速定位,从而可以更快捷的解决网络的问题。


我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题

本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 连接Linux下如何查看Socket连接状态(linux查看socket)