linux下常用命令查看端口占用

这篇具有很好参考价值的文章主要介绍了linux下常用命令查看端口占用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在linux使用过程中,有时候需要了解当前系统开放了哪些端口,并且还需要查看开放这些端口的具体进程和用户,可以使用netstat命令,netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息
语法
netstat [选项]
参数
-a或--all:显示所有连线中的Socket
-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址
-c或--continuous:持续列出网络状态
-C或--cache:显示路由器配置的快取信息
-e或--extend:显示网络其他相关信息
-F或--fib:显示FIB
-g或--groups:显示多重广播功能群组组员名单
-h或--help:在线帮助
-i或--interfaces:显示网络界面信息表单
-l或--listening:显示监控中的服务器的Socket
-M或--masquerade:显示伪装的网络连线
-n或--numeric:直接使用ip地址,而不通过域名服务器
-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称
-o或--timers:显示计时器
-p或--programs:显示正在使用Socket的程序识别码和程序名称
-r或--route:显示Routing Table
-s或--statistice:显示网络工作信息统计表
-t或--tcp:显示TCP传输协议的连线状况
-u或--udp:显示UDP传输协议的连线状况
-v或--verbose:显示指令执行过程
-V或--version:显示版本信息
-w或--raw:显示RAW传输协议的连线状况
-x或--unix:此参数的效果和指定"-A unix"参数相同
-ip或--inet:此参数的效果和指定"-A inet"参数相

一.列出所有端口

  1. netstat -a

列出所有端口
root@zph-IdeaCentre-GeekPro-14IOB:/home/git# netstat -a    
激活Internet连接 (服务器和已建立连接的)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:18081           0.0.0.0:*               LISTEN     
tcp        0      0 localhost:16067         0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:36325           0.0.0.0:*               LISTEN   
...
tcp6       0      0 backend.dahe.cn:6942    [::]:*                  LISTEN     
tcp6       0      0 [::]:18081              [::]:*                  LISTEN     
tcp6       0      0 [::]:9000               [::]:*                  LISTEN   
...
udp        0      0 0.0.0.0:631             0.0.0.0:*                          
udp        0      0 0.0.0.0:9011            0.0.0.0:*                          
udp        0      0 0.0.0.0:9012            0.0.0.0:*    
...
udp6       0      0 [::]:50890              [::]:*                             
udp6       0      0 [::]:59592              [::]:*                             
udp6       0      0 [::]:mdns               [::]:*                             
raw6       0      0 [::]:ipv6-icmp          [::]:*                  7  
...
活跃的UNIX域套接字 (服务器和已建立连接的)
Proto RefCnt Flags       Type       State         I-Node   路径
unix  2      [ ACC ]     流        LISTENING     45800263 /tmp/kstartpage-localserver
unix  2      [ ACC ]     流        LISTENING     41922    @/tmp/.ICE-unix/3991
unix  2      [ ACC ]     流        LISTENING     46172    /run/containerd/s/0ac10e2e4e19a7c252f915cfe40efa5b445bb4474f1306fca2d023be1308a6e2
unix  2      [ ACC ]     流        LISTENING     55360    @/home/zph/.cache/ibus/dbus-uGnotXWp
unix  2      [ ]         数据报                44991    /run/user/1000/systemd/notify
unix  2      [ ]         数据报                43923    /run/user/125/systemd/notify
unix  3      [ ]         流        已连接     44935    /run/systemd/journal/stdout
unix  3      [ ]         流        已连接     48483    @/tmp/.X11-unix/X0
unix  3      [ ]         流        已连接     23963    /run/dbus/system_bus_socket
  1. netstat -at

列出所有TCP端口
root@zph-IdeaCentre-GeekPro-14IOB:/home/git# netstat -a    
激活Internet连接 (服务器和已建立连接的)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:18081           0.0.0.0:*               LISTEN     
tcp        0      0 localhost:16067         0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:36325           0.0.0.0:*               LISTEN   
...

3.netstat -au

列出所有UDP端口
root@zph-IdeaCentre-GeekPro-14IOB:/home/git# netstat -a    
激活Internet连接 (服务器和已建立连接的)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 0.0.0.0:631             0.0.0.0:*                          
udp        0      0 0.0.0.0:9011            0.0.0.0:*                          
udp        0      0 0.0.0.0:9012            0.0.0.0:*    
...
udp6       0      0 [::]:50890              [::]:*                             
udp6       0      0 [::]:59592              [::]:*                             
udp6       0      0 [::]:mdns               [::]:*    

4.netstat -ax

列出所有unix端口
root@zph-IdeaCentre-GeekPro-14IOB:/home/git# netstat -ax
活跃的UNIX域套接字 (服务器和已建立连接的)
Proto RefCnt Flags       Type       State         I-Node   路径
unix  2      [ ACC ]     流        LISTENING     45800263 /tmp/kstartpage-localserver
unix  2      [ ACC ]     流        LISTENING     41922    @/tmp/.ICE-unix/3991
unix  2      [ ]         数据报                43113    @00007
unix  3      [ ]         SEQPACKET  已连接     13411759 @00056
unix  3      [ ]         SEQPACKET  已连接     18909896 @00064
unix  3      [ ]         SEQPACKET  已连接     13411758 @00055
unix  3      [ ]         流        已连接     9417778  @00042
unix  3      [ ]         SEQPACKET  已连接     18909898 @00065
unix  3      [ ]         SEQPACKET  已连接     13410651 @00054
...

5.netstat -atnlp

直接使用ip地址列出所有处理监听状态的TCP端口,且加上程序名
oot@zph-IdeaCentre-GeekPro-14IOB:/home/git# netstat -atnlp 
激活Internet连接 (服务器和已建立连接的)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:18081           0.0.0.0:*               LISTEN      7198/docker-proxy   
tcp        0      0 127.0.0.1:16067         0.0.0.0:*               LISTEN      877/sunloginclient  
tcp        0      0 0.0.0.0:36325           0.0.0.0:*               LISTEN      1723352/wineserver6 
...
tcp        0      0 127.0.0.1:42257         127.0.0.1:59726         ESTABLISHED 1272941/wpsoffice   
tcp        0      0 192.168.110.153:50104   47.118.71.166:443       ESTABLISHED 877/sunloginclient  
tcp        0      0 192.168.110.153:50370   115.236.121.91:443      TIME_WAIT   -                   
tcp        0      0 127.0.0.1:59726         127.0.0.1:42257         ESTABLISHED 1272941/wpsoffice   
tcp        0      1 192.168.1.123:41866     192.168.1.25:6379       SYN_SENT    1194120/resp        
tcp        0      0 127.0.0.1:41385         127.0.0.1:41034         ESTABLISHED 5895/wpscloudsvr    
tcp        0      0 192.168.1.123:35726     192.168.1.123:3306      ESTABLISHED 1696523/Navicat.exe 
tcp        0      0 127.0.0.1:3334          127.0.0.1:51668         TIME_WAIT   -                  
...
tcp6       0      0 127.0.0.1:6942          :::*                    LISTEN      1669475/java        
tcp6       0      0 :::18081                :::*                    LISTEN      7207/docker-proxy   
tcp6       0      0 :::9000                 :::*                    LISTEN      1669475/java        
tcp6       0      0 :::5672                 :::*                    LISTEN      1506/docker-proxy   
...

6.netstat -ntulp | grep 80

查看所有80端口使用情况,进程列表如下,其中最后一栏是PID/进程名称
root@zph-IdeaCentre-GeekPro-14IOB:/home/git# netstat -ntulp | grep 80
tcp        0      0 0.0.0.0:18081           0.0.0.0:*               LISTEN      7198/docker-proxy   
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7219/docker-proxy   
tcp        0      0 0.0.0.0:28017           0.0.0.0:*               LISTEN      1419/docker-proxy   
tcp6       0      0 :::18081                :::*                    LISTEN      7207/docker-proxy   
tcp6       0      0 :::20080                :::*                    LISTEN      1669475/java        
tcp6       0      0 :::80                   :::*                    LISTEN      7226/docker-proxy   
tcp6       0      0 :::28017                :::*                    LISTEN      1426/docker-proxy   
udp        0      0 192.168.110.153:5657    0.0.0.0:*                           1662680/sunlogincli 
进一步使用ps -aux | grep 进程名称,或者直接: ps -aux | grep pid查看
就可以明确知道80是被哪个程序占用了!然后判断是否使用kill命令干掉

二.显示每个协议的统计信息

1.netstat -s

显示所有端口的统计信息
...
netstat -s 
Ip:
    Forwarding: 1
    24242904 total packets received
    1 with invalid addresses
    1436195 forwarded
    0 incoming packets discarded
    18447295 incoming packets delivered
    13101444 requests sent out
    775 outgoing packets dropped
    834 dropped because of missing route
    37 fragments dropped after timeout
    2465 reassemblies required
    1214 packets reassembled ok
    37 packet reassemblies failed
Icmp:
    243369 ICMP messages received
    121452 input ICMP message failed
    InCsumErrors: 2
    ICMP接收历史
        destination unreachable: 243306
        echo requests: 61
    509041 ICMP messages sent
    0 ICMP messages failed
    ICMP发出历史
        destination unreachable: 508790
        redirect: 190
        echo replies: 61
IcmpMsg:
        InType3: 243306
        InType8: 61
        OutType0: 61
        OutType3: 508790
        OutType5: 190
Tcp:
    462505 active connection openings
    78005 passive connection openings
    157712 failed connection attempts
    15033 connection resets received
    57 connections established
    10597061 segments received
    10743739 segments sent out
    352176 segments retransmitted
    154 bad segments received
    68109 resets sent
Udp:
    7675704 packets received
    346575 packets to unknown port received
    5 packet receive errors
    2304726 packets sent
    0 receive buffer errors
    766 send buffer errors
    InCsumErrors: 3
    IgnoredMulti: 4513727
...

2.netstat -st

显示所有TCP的统计信息
root@zph-IdeaCentre-GeekPro-14IOB:/home/git# netstat -st  
IcmpMsg:
    InType3: 243334
    InType8: 61
    OutType0: 61
    OutType3: 508836
    OutType5: 190
Tcp:
    462536 active connection openings
    78009 passive connection openings
    157727 failed connection attempts
    15040 connection resets received
    44 connections established
    10597395 segments received
    10744119 segments sent out
    352217 segments retransmitted
    154 bad segments received
    68118 resets sent
...

3.netstat -su

显示所有UDP的统计信息
oot@zph-IdeaCentre-GeekPro-14IOB:/home/git# netstat -su  
IcmpMsg:
    InType3: 243365
    InType8: 61
    OutType0: 61
    OutType3: 508889
    OutType5: 190
Udp:
    7676804 packets received
    346615 packets to unknown port received
    5 packet receive errors
    2305120 packets sent
    0 receive buffer errors
    766 send buffer errors
    InCsumErrors: 3
    IgnoredMulti: 4513950
UdpLite:
IpExt:
    InMcastPkts: 977756
    OutMcastPkts: 113557
    InBcastPkts: 4577068
    OutBcastPkts: 8744
    InOctets: 9461558252
    OutOctets: 6272910705
    InMcastOctets: 190764565
    OutMcastOctets: 19281779
    InBcastOctets: 592484027
    OutBcastOctets: 2783112
    InNoECTPkts: 25074741
    InECT1Pkts: 1
    InECT0Pkts: 1
MPTcpExt:

三.显示核心路由信息

1.netstat -r

显示所有端口的统计信息
root@zph-IdeaCentre-GeekPro-14IOB:/home/git# netstat -r  
内核 IP 路由表
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface



default         192.168.110.1   0.0.0.0         UG        0 0          0 wlxc01c301feed1
default         192.168.1.1     0.0.0.0         UG        0 0          0 enp3s0
link-local      0.0.0.0         255.255.0.0     U         0 0          0 wlxc01c301feed1
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U         0 0          0 br-f09cae0a4177
172.19.0.0      0.0.0.0         255.255.0.0     U         0 0          0 br-73a94d145376
172.20.0.0      0.0.0.0         255.255.0.0     U         0 0          0 br-fb28ebb843fe
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 enp3s0
192.168.110.0   0.0.0.0         255.255.255.0   U         0 0          0 wlxc01c301feed1

2.netstat -rn

显示所有TCP的统计信息
oot@zph-IdeaCentre-GeekPro-14IOB:/home/git# netstat -rn
内核 IP 路由表
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.110.1   0.0.0.0         UG        0 0          0 wlxc01c301feed1
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 enp3s0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 wlxc01c301feed1
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U         0 0          0 br-f09cae0a4177
172.19.0.0      0.0.0.0         255.255.0.0     U         0 0          0 br-73a94d145376
172.20.0.0      0.0.0.0         255.255.0.0     U         0 0          0 br-fb28ebb843fe
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 enp3s0
192.168.110.0   0.0.0.0         255.255.255.0   U         0 0          0 wlxc01c301feed1
说明:
Destination:目标网络或者主机。
Gateway:网关地址,如果没有设置则为*。
Genmask:目标网络掩码;如果默认路由则用"0.0.0.0"。
Flags标志说明:
U Up表示此路由当前为启动状态
H Host,表示此网关为一主机
G Gateway,表示此网关为一路由器
R Reinstate Route,使用动态路由重新初始化的路由
D Dynamically,此路由是动态性地写入
M Modified,此路由是由路由守护程序或导向器动态修改
! 表示此路由当前为关闭状态
Iface:对于这个路由,数据包将要发送到那个接口(网卡)

四.下面分析Proto,Recv-Q,Send-Q,Local Address, Foreign Address,State,PID/Program name 的含义

1.Proto

协议名(tcp协议还是udp协议);

2.recv-Q

网络接收队列
表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,recv()如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击;

3.send-Q

网路发送队列
对方没有收到的数据或者说没有Ack的,还是本地缓冲区.
如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快;
这两个值通常应该为0,如果不为0可能是有问题的。packets在两个队列里都不应该有堆积状态。可接受短暂的非0情况。

4.Local Address

1).Local Address 部分的0.0.0.0:8081表示监听服务器上所有ip地址的所有(0.0.0.0表示本地所有ip)873端口,比如你的服务器是有172.172.110.10和172.172.110.11两个ip地址,那么0.0.0.0:801此时表示监听172.172.110.10,172.172.110.11,127.0.0.1三个地址的8081端口
2).127.0.0.1:81这个表示监听本机的locahost地址的81端口(如果某个服务只监听了回环地址,那么只能在本机进行访问,无法通过tcp/ip 协议进行远程访问)
3).192.168.1.81:2222这是因为我们在启动的时候指定了192.168.1.81:2222参数,如果不指定的话,会监听0.0.0.0:2222

5.Foreign Address

与本机端口通信的外部socket,显示规则与Local Address相同

6.State解释

链路状态,共有11种
state列共有12中可能的状态,前面11种是按照TCP连接建立的三次握手和TCP连接断开的四次挥手过程来描述的

LISTEN

首先服务端需要打开一个socket进行监听,状态为LISTEN./*The socket is listening for incoming connections. 侦听来自远方TCP端口的连接请求 */

SYN_SENT

客户端通过应用程序调用connect进行activeopen.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态SYN_SENT。/*The socket is actively attempting to establish aconnection. 在发送连接请求后等待匹配的连接请求 */

SYN_RECV

服务端应发出ACK确认客户端的 SYN,同时自己向客户端发送一个SYN.之后状态置为SYN_RECV/* A connection request has been received from the network. 在收到和发送一个连接请求后等待对连接请求的确认 */

ESTABLISHED

代表一个打开的连接,双方可以进行或已经在数据交互了。/* The socket has an established connection. 代表一个打开的连接,数据可以传送给用户 */

FIN_WAIT1

主动关闭(activeclose)端应用程序调用close,于是其TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态./* The socket is closed, and the connection is shutting down. 等待远程TCP的连接中断请求,或先前的连接中断请求的确认 */

CLOSE_WAIT

被动关闭(passiveclose)端TCP接到FIN后,就发出ACK以回应FIN请求(它的接收也作为文件结束符传递给上层应用程序),并进入CLOSE_WAIT./* The remote end has shut down, waiting for the socketto close. 等待从本地用户发来的连接中断请求 */

FIN_WAIT2

主动关闭端接到ACK后,就进入了FIN-WAIT-2./* Connection is closed, and the socket is waiting for a shutdownfrom the remote end. 从远程TCP等待连接中断请求 */

LAST_ACK

被动关闭端一段时间后,接收到文件结束符的应用程 序将调用CLOSE关闭连接。这导致它的TCP也发送一个 FIN,等待对方的ACK.就进入了LAST-ACK./* The remote end has shut down, and the socket is closed. Waiting foracknowledgement. 等待原来发向远程TCP的连接中断请求的确认 */

TIME_WAIT

在主动关闭端接收到FIN后,TCP 就发送ACK包,并进入TIME-WAIT状态。/* Thesocket is waiting after close to handle packets still in the network.等待足够的时间以确保远程TCP接收到连接中断请求的确认*/

CLOSING

比较少见./* Bothsockets are shut down but we still don’t have all our datasent. 等待远程TCP对连接中断的确认 */

CLOSED

被动关闭端在接受到ACK包后,就进入了closed的状态。连接结束./*The socket is not being used. 没有任何连接状态 */

UNKNOWN

未知的Socket状态。/* Thestate of the socket is unknown. */文章来源地址https://www.toymoban.com/news/detail-756311.html

到了这里,关于linux下常用命令查看端口占用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux学习之端口、网络协议及查看端口占用情况(学习内容记录)

    端口 :设备与外界通讯交流的出口 网络协议: 网络协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则。 HTTP协议: HTTP协议 (超文本传输协议)是一种网络通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。默认

    2023年04月24日
    浏览(38)
  • 通过netstat命令查看Linux的端口占用

    完整写作 network statistics ,简写为 netstat ,常用的几个参数为 l 、 n 、 t 、 u 、 p 。 -l : 仅展示监听状态下的程序(state 为LISTEN)。 -n :会使用ip+端口的方式,来进行地址的描述。不使用-n就会变成服务器的名称+端口号 或者ip地址+协议。 -t与-u: 查看tcp协议和udp协议。 -p :

    2024年01月23日
    浏览(36)
  • CentOS7查看开放端口命令、查看端口占用情况和开启端口命令、杀掉进程等命令

    目录 文章原链接:http://t.csdn.cn/x3yDi 一、CentOS7查看开放端口命令 查看已经开放的端口 开启端口 命令含义 重启防火墙 停止firewall 禁止firewall开机启动 二、Centos查看端口占用情况和开启端口命令 列出所有端口 1、开启端口(以80端口为例) 2、关闭端口 3、查看端口状态 查看应

    2023年04月11日
    浏览(30)
  • Linux 查看服务器内存、CPU、网络等占用情况的命令

    1、查看物理CPU个数:cat  2、查看服务器CPU内核个数:cat    每个物理CPU中core的个数(即核数) 3、服务器内存使用情况:free 3.1、缓存清除 如果cached过大接近total数就需要清除缓存了,缓存清除命令:  4、查看服务器的平均负载:top top   --可以查看服务器各个进程情况 u

    2024年02月08日
    浏览(60)
  • cmd命令查看当前计算机端口占用情况

        1.打开cmd命令提示符,输入netstat -ano,可以看到当前本机的所有端口情况 2.输入netstat -aon|findstr,加端口号,记住进程pid 3.tasklist|findstr,加刚才记住的pid,可以查到该端口是哪个应用占用的 (1)地址一栏相关说明: 0.0.0.0 是对外开放,通过服务域名、ip可以访问的端口 1

    2024年02月06日
    浏览(32)
  • linux常用命令介绍 06 篇——Linux查看目录层级结构以及创建不同情况的层级目录

    Linux命令01篇——Linux解压缩文件常用命令. Linux命令02篇——linux日常常用命令介绍. linux常用命令介绍 03 篇——常用的文本处理工具之grep和cut(以及部分正则使用). linux常用命令介绍 04 篇——uniq命令使用介绍(Linux重复数据的统计处理). linux常用命令介绍 05 篇——实际应用

    2024年02月12日
    浏览(36)
  • Linux查看磁盘占用情况

    磁盘占用指的是已使用的磁盘空间大小,以及空闲的磁盘空间大小。 磁盘占用大小可以使用du、df命令查看,其中,du命令用于查看指定目录的磁盘空间占用情况,而df命令则可查看整个磁盘的占用情况。 查看指定目录的磁盘空间占用情况 du -h /path/test/directory 使用du命令查看指

    2024年02月11日
    浏览(27)
  • Linux_查看硬盘占用情况

    一、查看是什么占用了硬盘空间 这个命令查看的是显示目前在 Linux 系统上的所有文件系统磁盘使用情况,并根据大小适当显示(-h 参数代表以可读的方式展示文件的大小)。 一下为加 -h 和不加 -h 的结果 不加 -h 加 -h   Filesystem:文件系统 Size: 分区大小 Used: 已使用容量

    2024年02月04日
    浏览(31)
  • linux 查看端口占用

    使用lsof 可以使用lsof -i:端口号 来查看端口占用情况 使用netstat 可以使用netstat -tunlp | grep 端口号 来查看指定的端口号的进程情况 https://zhhll.icu/2021/linux/日常管理/查看端口占用/ 本文由 mdnice 多平台发布

    2024年02月10日
    浏览(30)
  • Windows 查看端口占用情况 & 80端口被占用处理方法

    一 . 用netstat指令查看是端口占用情况 查看所有端口的占用情况 命令格式:netstat [options] -a表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。 -n表示只以数字形式显示所有活动的TCP连接的地址和端口号。 -o表示显示活动的TCP连接并包括每个连接的进程ID(PID)。

    2024年02月06日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包