3.Linux netstat和ss 命令

一、Linux的netstat命令详解

1、TCP连接状态详解

复制代码
LISTEN: 侦听来自远方的TCP端口的连接请求
SYN-SENT: 再发送连接请求后等待匹配的连接请求
SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认
ESTABLISHED: 代表一个打开的连接
FIN-WAIT-1: 等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2: 从远程TCP等待连接中断请求
CLOSE-WAIT: 等待从本地用户发来的连接中断请求
CLOSING: 等待远程TCP对连接中断的确认
LAST-ACK: 等待原来的发向远程TCP的连接中断请求的确认
TIME-WAIT: 等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED: 没有任何连接状态
复制代码

2、命令格式

netstat(选项)

3、命令选项

复制代码
-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"参数相同。
复制代码

4、netstat用例

4.1 列出所有端口(包含TCP和UDP)

复制代码
[root@localhost ~]# netstat -a/-all
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:x11             0.0.0.0:*               LISTEN     
tcp        0      0 localhost.locald:domain 0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN     
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:nxlmd           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:pqsp            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:28002           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:28003           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:28004           0.0.0.0:*               LISTEN     
tcp        0     52 localhost.localdoma:ssh 192.168.235.1:57732     ESTABLISHED
tcp        0      0 localhost.localdoma:ssh 192.168.235.1:57734     ESTABLISHED
tcp6       0      0 [::]:sunrpc             [::]:*                  LISTEN     
tcp6       0      0 [::]:x11                [::]:*                  LISTEN     
复制代码

4.2 列出所有TCP端口

复制代码
[root@localhost ~]# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:x11             0.0.0.0:*               LISTEN     
tcp        0      0 localhost.locald:domain 0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN     
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:nxlmd           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:pqsp            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:28002           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:28003           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:28004           0.0.0.0:*               LISTEN     
tcp        0     52 localhost.localdoma:ssh 192.168.235.1:57732     ESTABLISHED
tcp        0      0 localhost.localdoma:ssh 192.168.235.1:57734     ESTABLISHED
tcp6       0      0 [::]:sunrpc             [::]:*                  LISTEN     
tcp6       0      0 [::]:x11                [::]:*                  LISTEN     
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 localhost:ipp           [::]:*                  LISTEN     
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN
复制代码

4.3列出所有UDP端口

复制代码
[root@localhost ~]# netstat -au
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 0.0.0.0:40896           0.0.0.0:*                          
udp        0      0 localhost.locald:domain 0.0.0.0:*                          
udp        0      0 0.0.0.0:bootps          0.0.0.0:*                          
udp        0      0 0.0.0.0:bootpc          0.0.0.0:*                          
udp        0      0 0.0.0.0:sunrpc          0.0.0.0:*                          
udp        0      0 localhost:323           0.0.0.0:*                          
udp        0      0 0.0.0.0:946             0.0.0.0:*                          
udp        0      0 0.0.0.0:mdns            0.0.0.0:*                          
udp6       0      0 [::]:sunrpc             [::]:*                             
udp6       0      0 localhost:323           [::]:*                             
udp6       0      0 [::]:946                [::]:*             
复制代码

4.4 找出程序运行的端口

[root@localhost ~]#  netstat -tunlp | grep ssh/端口/IP
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      9249/sshd           
tcp6       0      0 :::22                   :::*                    LISTEN      9249/sshd           

4.5 通过端口找进程ID

[root@localhost ~]# netstat -tunlp | grep 22 | awk '{print $7}' | cut -d/ -f1
11215
9249
9249

二、linux ss 命令用法说明

ss 是 Socket Statistics 的缩写。ss 命令可以用来获取 socket 统计信息,它显示的内容和 netstat 类似。但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快。当服务器的 socket 连接数量变得非常大时,无论是使用 netstat 命令还是直接 cat /proc/net/tcp,执行速度都会很慢。ss 命令利用到了 TCP 协议栈中 tcp_diag。tcp_diag 是一个用于分析统计的模块,可以获得 Linux 内核中第一手的信息,因此 ss 命令的性能会好很多。

1.常用选项

复制代码
-h, --help 帮助

-V, --version  显示版本号

-t, --tcp 显示 TCP 协议的 sockets

-u, --udp 显示 UDP 协议的 sockets

-x, --unix 显示 unix domain sockets,与 -f 选项相同

-n, --numeric 不解析服务的名称,如 "22" 端口不会显示成 "ssh"

-l, --listening 只显示处于监听状态的端口

-p, --processes 显示监听端口的进程(Ubuntu 上需要 sudo)

-a, --all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接

-r, --resolve 把 IP 解释为域名,把端口号解释为协议名称
复制代码

2.ss 用例

2.1 如果不添加选项 ss 命令默认输出所有建立的连接(不包含监听的端口),包括 tcp, udp, and unix socket 三种类型的连接:

复制代码
[root@localhost ~]# ss
Netid  State      Recv-Q Send-Q                                                                    Local Address:Port                                                                                     Peer Address:Port                
u_str  ESTAB      0      0                                                                                     * 80333                                                                                               * 76717                
u_str  ESTAB      0      0                                                                                     * 51167                                                                                               * 47558                
u_str  ESTAB      0      0      /run/containerd/s/54ffd166ed943e8222cfcef09e80c0c56877779e2beacfeec1b101d42ab007a9 66853                                                                                               * 60189                
u_str  ESTAB      0      0                                                                                     * 66830                                                                                               * 66833                
u_str  ESTAB      0      0                                                                                     * 82727                                                                                               * 76724                
u_str  ESTAB      0      0                                                           /run/systemd/journal/stdout 36635                                                                                               * 51882                
u_str  ESTAB      0      0                                                                                     * 73541                                                                                               * 78637                
u_str  ESTAB      0      0                                                                                     * 63218                                                                                               * 63217                
u_str  ESTAB      0      0                                                           /run/dbus/system_bus_socket 56052                                                                                               * 49966                
u_str  ESTAB      0      0                                                           /run/dbus/system_bus_socket 78827                                                                                               * 78826                
u_str  ESTAB      0      0                                                                                     * 51179                                                                                               * 47572                
u_str  ESTAB      0      0                                                                                     * 76294                                                                                               * 79995                
u_str  ESTAB      0      0                                                           /run/systemd/journal/stdout 45488                                                                                               * 47369                
复制代码

2.2  查看主机监听的端口

复制代码
[root@localhost ~]# ss -tnl
State      Recv-Q Send-Q                                                                         Local Address:Port                                                                                        Peer Address:Port              
LISTEN     0      128                                                                                        *:111                                                                                                    *:*                  
LISTEN     0      128                                                                                        *:6000                                                                                                   *:*                  
LISTEN     0      5                                                                              192.168.122.1:53                                                                                                     *:*                  
LISTEN     0      128                                                                                        *:22                                                                                                     *:*                  
LISTEN     0      128                                                                                127.0.0.1:631                                                                                                    *:*                  
LISTEN     0      100                                                                                127.0.0.1:25                                                                                                     *:*                  
LISTEN     0      128                                                                                        *:28000                                                                                                  *:*                  
LISTEN     0      128                                                                                        *:28001                                                                                                  *:*                  
LISTEN     0      128                                                                                        *:28002                                                                                                  *:*                  
LISTEN     0      128                                                                                        *:28003                                                                                                  *:*                  
LISTEN     0      128                                                                                        *:28004                                                                                                  *:*                  
LISTEN     0      128                                                                                       :::111                                                                                                   :::*                  
LISTEN     0      128                                                                                       :::6000                                                                                                  :::*                  
LISTEN     0      128                                                                                       :::22                                                                                                    :::*                  
LISTEN     0      128                                                                                      ::1:631                                                                                                   :::*                  
LISTEN     0      100                                                                                      ::1:25                                                                                                    :::*                  
复制代码

2.3 通过 -r 选项解析 IP 和端口号

复制代码
[root@localhost ~]# ss -tlr
State      Recv-Q Send-Q                                                                       Local Address:Port                                                                                        Peer Address:Port                
LISTEN     0      128                                                                                      *:rpc.portmapper                                                                                         *:*                    
LISTEN     0      128                                                                                      *:x11                                                                                                    *:*                    
LISTEN     0      5                                                                    localhost.localdomain:domain                                                                                                 *:*                    
LISTEN     0      128                                                                                      *:ssh                                                                                                    *:*                    
LISTEN     0      128                                                                              localhost:ipp                                                                                                    *:*                    
LISTEN     0      100                                                                              localhost:smtp                                                                                                   *:*                    
LISTEN     0      128                                                                                      *:nxlmd                                                                                                  *:*                    
LISTEN     0      128                                                                                      *:pqsp                                                                                                   *:*                    
LISTEN     0      128                                                                                      *:28002                                                                                                  *:*                    
LISTEN     0      128                                                                                      *:28003                                                                                                  *:*                    
LISTEN     0      128                                                                                      *:28004                                                                                                  *:*                    
LISTEN     0      128                                                                                     :::rpc.portmapper                                                                                        :::*                    
LISTEN     0      128                                                                                     :::x11                                                                                                   :::*                    
LISTEN     0      128                                                                                     :::ssh                                                                                                   :::*                    
LISTEN     0      128                                                                              localhost:ipp                                                                                                   :::*                    
LISTEN     0      100                                                                              localhost:smtp                                                                                                  :::*      
复制代码

2.4 使用 -p 选项查看监听端口的程序名称

复制代码
[root@localhost ~]# ss -tlp
State      Recv-Q Send-Q                                                                       Local Address:Port                                                                                        Peer Address:Port                
LISTEN     0      128                                                                                      *:sunrpc                                                                                                 *:*                     users:(("rpcbind",pid=8828,fd=4),("systemd",pid=1,fd=50))
LISTEN     0      128                                                                                      *:x11                                                                                                    *:*                     users:(("X",pid=10901,fd=6))
LISTEN     0      5                                                                            192.168.122.1:domain                                                                                                 *:*                     users:(("dnsmasq",pid=11215,fd=6))
LISTEN     0      128                                                                                      *:ssh                                                                                                    *:*                     users:(("sshd",pid=9249,fd=3))
LISTEN     0      128                                                                              127.0.0.1:ipp                                                                                                    *:*                     users:(("cupsd",pid=9254,fd=12))
LISTEN     0      100                                                                              127.0.0.1:smtp                                                                                                   *:*                     users:(("master",pid=9483,fd=13))
LISTEN     0      128                                                                                      *:nxlmd                                                                                                  *:*                     users:(("docker-proxy",pid=12715,fd=4))
LISTEN     0      128                                                                                      *:pqsp                                                                                                   *:*                     users:(("docker-proxy",pid=12783,fd=4))
LISTEN     0      128                                                                                      *:28002                                                                                                  *:*                     users:(("docker-proxy",pid=12766,fd=4))
LISTEN     0      128                                                                                      *:28003                                                                                                  *:*                     users:(("docker-proxy",pid=12876,fd=4))
LISTEN     0      128                                                                                      *:28004                                                                                                  *:*                     users:(("docker-proxy",pid=12831,fd=4))
LISTEN     0      128                                                                                     :::sunrpc                                                                                                :::*                     users:(("rpcbind",pid=8828,fd=6),("systemd",pid=1,fd=52))
LISTEN     0      128                                                                                     :::x11                                                                                                   :::*                     
复制代码

 

posted @   家乐福的搬砖日常  阅读(395)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示