Linux查看端口占用情况

Posted 北冥牧之

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux查看端口占用情况相关的知识,希望对你有一定的参考价值。

一、查看已知端口占用情况

比如,我们想知道8080端口的使用情况,或者说被谁占用了,命令如下:

 netstat -anp | grep 8080

结果如下:

也可以使用命令:

netstat -tln | grep 8080

 结果:

和上个命令对比,少了“2597932/java”,这个显示的是进程号以及被哪个程序所占用。

如果没有被占用,就什么都不显示。

二、查看全部端口占用情况

netstat -anp

# 或者
netstat -tln

显示结果分别如下面:

[root@Cent0S8-FTP sysconfig]# netstat -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:44321         0.0.0.0:*               LISTEN      1740/pmcd           
tcp        0      0 127.0.0.1:4330          0.0.0.0:*               LISTEN      2715/pmlogger       
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1191/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1196/cupsd          
tcp        0      0 192.168.10.111:22       192.168.10.112:56798    ESTABLISHED 3209340/sshd: fangd 
tcp        0      0 192.168.10.111:22       192.168.10.112:58794    ESTABLISHED 3330163/sshd: fangd 
tcp       32      0 192.168.10.111:35222    8.43.85.13:443          CLOSE_WAIT  3876/gnome-shell    
tcp        0     52 192.168.10.111:22       192.168.10.112:56674    ESTABLISHED 3198229/sshd: fangd 
tcp6       0      0 ::1:44321               :::*                    LISTEN      1740/pmcd           
tcp6       0      0 ::1:4330                :::*                    LISTEN      2715/pmlogger       
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::21                   :::*                    LISTEN      1430/vsftpd         
tcp6       0      0 :::22                   :::*                    LISTEN      1191/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1196/cupsd          
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           982/avahi-daemon: r 
udp        0      0 192.168.10.111:46722    193.182.111.143:123     ESTABLISHED 985/chronyd         
udp        0      0 0.0.0.0:67              0.0.0.0:*                           2632/dnsmasq        
udp        0      0 192.168.10.111:68       192.168.10.1:67         ESTABLISHED 1176/NetworkManager 
udp        0      0 0.0.0.0:111             0.0.0.0:*                           1/systemd           
udp        0      0 0.0.0.0:45242           0.0.0.0:*                           982/avahi-daemon: r 
udp        0      0 127.0.0.1:323           0.0.0.0:*                           985/chronyd         
udp6       0      0 :::5353                 :::*                                982/avahi-daemon: r 
udp6       0      0 :::111                  :::*                                1/systemd           
udp6       0      0 ::1:323                 :::*                                985/chronyd         
udp6       0      0 :::41737                :::*                                982/avahi-daemon: r 
raw6       0      0 :::58                   :::*                    7           1176/NetworkManager 
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name     Path
unix  2      [ ACC ]     SEQPACKET  LISTENING     24579    1/systemd            /run/systemd/coredump
unix  2      [ ACC ]     STREAM     LISTENING     29959    967/lsmd             /var/run/lsm/ipc/simc

[root@Cent0S8-FTP sysconfig]# netstat -tln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:44321         0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:4330          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp6       0      0 ::1:44321               :::*                    LISTEN     
tcp6       0      0 ::1:4330                :::*                    LISTEN     
tcp6       0      0 :::111                  :::*                    LISTEN     
tcp6       0      0 :::21                   :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN

三、查看具体端口被哪个程序占用

lsof -i :8080

 [root@Cent0S8-FTP sysconfig]# lsof -i :8080
COMMAND     PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
java    2597932 root   45u  IPv6 27126054      0t0  TCP *:webcache (LISTEN)

 四、kill被占用的进程

我们通过三中的命令得到PID对应的2597932,或者通过命令“netstat -anp | grep 8080”得到的“2597932/java”,这里的2597932都是端口占用的对应进程的进程号,我们杀掉对应进程号即可。

 kill -9 2597932

五、检查对应端口是否还在占用

在“四”中,我们kill了对应的进程,那么是否成功了呢,我们可以通过“一”中的命令再查看一下8080端口的使用情况。

netstat -anp | grep 8080

发现没有任何结果,这就说明已经kill掉了对应的进程。

Linux 查看程序端口占用情况

一、查看Linux服务器的所有端口占用情况:

netstat -apn

所有进程和端口如下:

技术分享

 

二、直接查看某个端口被占用情况

netstat -apn | grep 8088

查看8088端口:

技术分享

 

以上是关于Linux查看端口占用情况的主要内容,如果未能解决你的问题,请参考以下文章

linux查看端口占用情况

Linux Ubuntu系统查看本机服务器端口占用情况

linux查看端口占用情况

Linux查看程序端口占用情况

Linux查看程序端口占用情况

Linux查看程序端口占用情况