美文网首页
centos查看端口占用情况

centos查看端口占用情况

作者: 水煮鱼又失败了 | 来源:发表于2020-06-01 12:34 被阅读0次

    1 说明

    linux经常会查询端口是否被占用,被哪些程序占用。

    这里使用netstat命令查看centos系统的端口占用情况。

    2 步骤

    (1)查看全部端口占用情况

    执行命令:

    netstat -tulpn
    

    结果如下:

    [root@w001 zhang]# netstat -tulpn
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp6       0      0 :::3306                 :::*                    LISTEN      10818/mysqld
    udp        0      0 127.0.0.1:323           0.0.0.0:*                           1596/chronyd
    

    可以看到:

    3306端口:被tcp协议的PID为10818的mysqld所占用,State为LISTEN表示正在被监听

    1596端口:被udp协议的PID为1596的chronyd所占用,State为空(state为当前连接状态,udp协议无连接状态)。

    (2)查询指定端口的占用情况

    如查询3306端口的占用情况,可看到如下记录为

    [root@w001 zhang]# netstat -tulpn |grep 3306
    tcp6       0      0 :::3306                 :::*                    LISTEN      10818/mysqld
    

    (3)查询占用端口的程序

    可通过上述查询结果的PID查询占用程序的详细情况:

    如查询占用3306端口的程序PID为10818,查看程序详情如下:

    [root@w001 zhang]# ps -ef | grep 10818
    mysql    10818     1  0 Feb23 ?        01:47:50 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
    

    3 参数说明

    常用参数说明如下:

    -t:显示TCP协议端口

    -u:显示UDP协议端口

    -l:--listening,只显示正在侦听的套接字(这是默认的选项)

    -p: --program,显示套接字所属进程的PID和名称。

    -n:--numeric,显示数字形式地址而不是去解析主机、端口或用户名。

    查看所有命令详细用法:

    man netstat
    

    4 套接字状态说明

    State:套接字的状态。因为在RAW协议中没有状态,而且UDP也不用状态信息,所以此行留空。通常它为以下几个值之一:

    ESTABLISHED:套接字有一个有效连接。

    SYN_SENT:套接字尝试建立一个连接。

    SYN_RECV:从网络上收到一个连接请求。

    FIN_WAIT1:套接字已关闭,连接正在断开。

    FIN_WAIT2:连接已关闭,套接字等待远程方中止。

    TIME_WAIT:在关闭之后,套接字等待处理仍然在网络中的分组

    CLOSED:套接字未用。

    CLOSE_WAIT:远程方已关闭,等待套接字关闭。

    LAST_ACK:远程方中止,套接字已关闭。等待确认。

    LISTEN:套接字监听进来的连接。如果不设置 --listening (-l) 或者 --all (-a) 选项,将不显示出来这些连接。

    CLOSING:套接字都已关闭,而还未把所有数据发出。

    UNKNOWN:套接字状态未知。

    相关文章

      网友评论

          本文标题:centos查看端口占用情况

          本文链接:https://www.haomeiwen.com/subject/hjijzhtx.html