Linux(Centos 7.6)命令详解:netstat

1.命令作用

打印网络连接、路由表、接口统计信息、网络地址转换连接和多播成员资格(Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships)

2.命令语法

usage: netstat [-vWeenNcCF] [<Af>] -r
             netstat [-vWnNcaeol] [<Socket> ...]
             netstat { [-vWeenNac] -I[<Iface>] | [-veenNac] -i | [-cnNe] -M | -s [-6tuw] } [delay]

<Socket>={-t|--tcp} {-u|--udp} {-U|--udplite} {-S|--sctp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom
<AF>=Use '-6|-4' or '-A <af>' or '--<af>'; default: inet
address families: inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP) x25 (CCITT X.25)

3.参数详解

OPTION:

  • -r, --route,显示路由表信息
  • -I, --interfaces=<Iface>,显示<Iface>的接口表
  • -i, --interfaces,显示网络接口信息
  • -g, --groups,显示组播组成员关系
  • -s, --statistics,显示网络统计信息。包括网络接口、SNMP协议等
  • -M, --masquerade,显示伪装连接
  • -v, --verbose,显示详细信息
  • -W, --wide,不要截断IP地址
  • -n, --numeric,不解析名称(以数字形式显示地址和端口号)
  • --numeric-hosts,不要解析主机名
  • --numeric-ports,不要解析端口名称
  • --numeric-users,不要解析用户名
  • -N, --symbolic,解析硬件名称
  • -e, --extend,显示其他/更多信息(网络统计信息,包括网络接口、协议等)
  • -p, --programs,显示socket的PID/程序名(显示特定协议tcp、udp或icmp的连接)
  • -o, --timers,显示计时器(显示与每个连接相关的进程 ID)
  • -c, --continuous,连续显示网络状态信息,按 Ctrl + C 结束
  • -l, --listening,显示监听服务器套接字
  • -a, --all,显示所有套接字(默认:已连接);包括TCP、UDP及Unix域套接字
  • -F, --fib,display转发信息库(缺省值)
  • -C, --cache,显示路由缓存而不是FIB
  • -Z, --context,显示套接字的SELinux安全上下文
  • -t, --tcp,显示TCP协议的连接
  • -u, --udp,显示UDP协议的连接
  • -U, --udplite,
  • -S, --sctp,
  • -w, --raw,
  • -x, --unix,列出所有unix端口
  • --ax25,
  • --ipx,
  • --netrom,

4.常用用例

4.1.列存所有连接(包括监听和未监听)

netstat -a       # 列出所有连接
netstat -at      # 列出所有tcp连接
netstat -au      # 列出所有udp连接

4.2.列出处于监听状态的连接

netstat -l    # 只显示监听的连接
netstat -lt   # 只显示所有监听的tcp连接
netstat -lu   # 只显示所有监听的tcp连接
netstat -lx   # 只显示所有监听的unix连接

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

netstat -s     # 显示所有连接的统计信息
netstat -st    # 显示所有tcp连接的统计信息
netstat -su    # 显示所有udp连接的统计信息

4.4.显示PID和进程名称

netstat -atp     # 列出所有tcp连接,p参数是增加显示PID和进程名称

4.5. 持续输出netstat信息

netstat -c               # 每隔一秒输出网络信息
netstat -c | grep tcp    # 每隔一秒输出指定的网络信息

4.6.显示核心路由信息

netstat -r    # 显示核心路由信息

4.7.显示网络接口列表

netstat -i     # 显示网络接口列表

4.8.显示User和Inode 

netstat -ate    # 显示所有tcp网络连接,e参数会多显示用户名和Inode

4.9.端口以数字显示

netstat -atn                   # 端口默认是以名称显示,指定n参数后显示数字形式的端口名称
netstat -atunlp | grep 5432    # 显示tcp/udp相关连接,通过管道grep输出5432端口相关的连接;需要指定n参数,grep才能检索出数字端口相关的信息

4.10.输出解释

4.10.1.输出内容

[root@node2 ~]# netstat -atunep
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      0          35142      1/systemd           
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      0          44699      7258/X              
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      0          44230      7123/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          42604      6767/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      0          42876      6768/cupsd          
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      1002       107823     13265/postmaster    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      0          43991      7080/master         
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      0          97708      12555/sshd: root@pt 
tcp        0      0 127.0.0.1:6011          0.0.0.0:*               LISTEN      0          121445     14498/sshd: root@pt 
tcp        0     36 192.168.118.189:22      192.168.118.1:65109     ESTABLISHED 0          97577      12555/sshd: root@pt 
tcp        0      0 192.168.118.189:5432    192.168.118.189:34266   TIME_WAIT   0          0          -                   
tcp        0      0 192.168.118.189:5432    192.168.118.189:34264   ESTABLISHED 1002       122042     14687/postgres: pos 
tcp        0      0 192.168.118.189:22      192.168.118.1:57953     ESTABLISHED 0          121355     14498/sshd: root@pt 
tcp        0      0 192.168.118.189:34264   192.168.118.189:5432    ESTABLISHED 1002       122041     14685/psql          
tcp6       0      0 :::111                  :::*                    LISTEN      0          35144      1/systemd           
tcp6       0      0 :::6000                 :::*                    LISTEN      0          44698      7258/X              
tcp6       0      0 :::22                   :::*                    LISTEN      0          42613      6767/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      0          42875      6768/cupsd          
tcp6       0      0 :::5432                 :::*                    LISTEN      1002       107824     13265/postmaster    
tcp6       0      0 ::1:25                  :::*                    LISTEN      0          43992      7080/master         
tcp6       0      0 ::1:6010                :::*                    LISTEN      0          97707      12555/sshd: root@pt 
tcp6       0      0 ::1:6011                :::*                    LISTEN      0          121444     14498/sshd: root@pt 
udp        0      0 192.168.122.1:53        0.0.0.0:*                           0          44229      7123/dnsmasq        
udp        0      0 0.0.0.0:67              0.0.0.0:*                           0          44226      7123/dnsmasq        
udp        0      0 0.0.0.0:68              0.0.0.0:*                           0          95396      12432/dhclient      
udp        0      0 0.0.0.0:609             0.0.0.0:*                           0          35767      6378/rpcbind        
udp        0      0 0.0.0.0:111             0.0.0.0:*                           0          35143      1/systemd           
udp        0      0 0.0.0.0:46722           0.0.0.0:*                           70         35814      6370/avahi-daemon:  
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           70         35813      6370/avahi-daemon:  
udp6       0      0 :::609                  :::*                                0          35768      6378/rpcbind        
udp6       0      0 :::111                  :::*                                0          35145      1/systemd           
[root@node2 ~]# 

4.10.2.输出抬头解释

Active Internet connections (servers and established)活动的Internet连接 (服务器和已建立的)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name
----------------------------------------------------------------------------------------
Proto : 连接使用的协议类型(如 tcp、udp、tcp6、udp6、unix)
Recv-Q : 接收队列中未被应用程序读取的数据量(字节);通常应为0,若持续非零可能表示应用处理阻塞或遭受攻击
Send-Q : 发送队列中未被远端主机确认的数据量(字节);非零值可能表示网络拥塞或对端接收延迟
Local Address : 本地IP地址和端口(格式 IP:Port);0.0.0.0:postgres 表示监听所有网卡(指定-n参数后postgres会显示成对应的数字端口号信息)
Foreign Address : 远端主机的IP地址和端口;未建立连接时显示0.0.0.0:*;建立连接后显示如192.168.118.189:5432
State : 连接状态
User : 占用连接的用户(如:root、nginx等)
Inode : 套接字对应的文件系统inode号
PID/Program name : 占用连接的进程ID和程序名

4.10.3.输出状态解释

网络连接状态解释(State):
    CLOSED : 初始(无连接)状态。
    CLOSING : 等待远程TCP对连接中断的确认
    LISTEN : 侦听状态,等待远程机器的连接请求。
    ESTABLISHED : 完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。
    TIME_WAIT : 在TCP四次挥手时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态,等待最多MSL时间,让被动关闭端收到ACK包。
    SYN-RECEIVED : 再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了)
    CLOSE-WAIT : 等待从本地用户发来的连接中断请求
    FIN-WAIT-1 : 等待远程TCP连接中断请求,或先前的连接中断请求的确认
    FIN-WAIT-2 : 从远程TCP等待连接中断请求
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆是浪个

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值