网络状态查看

更新时间:
2024-03-14
下载文档

网络状态查看

概述

netstat 是一款命令行工具,可列出系统上所有的网络套接字连接情况,包括TCP、UDP以及UNIX等套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。

使用方式

在 SylixOS 系统中,通过在 Shell 界面使用 netstat 命令来显示所有的网络相关信息,如网络连接、路由表、接口状态、多播成员等。

在Shell命令行通过 help netstat 可以查看到该指令的实际使用方式。

[root@sylixos:/root]# help netstat   
show net status

-h, --help             display this message

-r, --route            display route table
-i, --interface        display interface table
-g, --groups           display multicast group memberships
-s, --statistics       display networking statistics (like SNMP)

-w, --raw              display raw socket information
-t, --tcp              display tcp socket information
-u, --udp              display udp socket information
-p, --packet           display packet socket information
-x, --unix             display unix socket information

-l, --listening        display listening server sockets
-k, --keepalive        display tcp keepalive information
-a, --all              display all sockets

-A <net type>, --<net type>    select <net type>, <net type>=inet, inet6 or unix
netstat {[-wtux --A] -i | [-hrigsapl]}

常用选项如下:

  • -h :显示帮助信息。
  • -r :显示路由表信息。
  • -i :显示接口信息。
  • -g :显示多播组成员信息。
  • -s :显示网络状态信息。
  • -w :显示原始套接字信息。
  • -t :显示 TCP 信息。
  • -u :显示 UDP 信息。
  • -p :显示 PACKET 套接字信息。
  • -x :显示 UNIX 域套接字信息。
  • -l :显示所有 LISTEN 状态的信息。
  • -a :显示所有套接字信息。

输出信息含义

在 SylixOS 中,执行 netstat -a 命令。

[root@sylixos:/root]# netstat -a
--UNIX--:
TYPE      FLAG STATUS  LCONN SHUTD      NREAD MAX_BUFFER PATH

--PACKET--:
TYPE      FLAG PROTOCOL INDEX MMAP MMAP_SIZE TOTAL    DROP

--TCP LISTEN--:
LOCAL                 REMOTE                STATUS   RETRANS RCV_WND SND_WND
*:23                  *:*                   listen         0       0       0
*:21                  *:*                   listen         0       0       0

--TCP--:
LOCAL                 REMOTE                STATUS   KA RETRANS RCV_WND SND_WND
10.4.120.37:23        10.4.0.105:63083      estab    *        0   65535 1048576

--UDP--:

LOCAL6                                       REMOTE6                                      UDPLITE
*:137                                        *:0                                          no
*:161                                        *:0                                          no

从输出结果可以看出,显示分为五部分:UNIX、PACKET、TCP LISTEN、TCP、UDP。

  • UNIX 部分
  • TYPE:UNIX 域套接字类型:stream、seqpacket、dgram。
  • FLAG:I/O标志,如 NONBLOCK。
  • STATUS:当前状态(仅对于类型为 stream):none、listen、connect、estab。
  • LCONN :本地 socket 连接数量。
  • SHUTD:当前关闭状态:rw、r、w、no。
  • NREAD:有效数据字节数(单位字节)。
  • MAX_BUFFER:最大接收缓冲区大小;
  • PATH:UNIX 域文件路径名。
  • PACKET 部分
  • TYPE:PACKET 套接字类型:raw、dgram。
  • FLAG:I/O标志,如 NONBLOCK。
  • PROTOCOL:协议类型,IPPROTO_IP - IPv4 网络协议 、IPPROTO_ICMP - 因特网控制报文协议 、IPPROTO_TCP - 传输控制协议 、IPPROTO_UDP - 用户数据报协议、IPPROTO_IPV6 - IPv6 网络协议 、IPPROTO_RAW - 原始 IP 数据包协议 。
  • INDEX:网络接口索引。
  • MMAP:是否进行了 mmap。
  • MMAP_SIZE:映射内存的大小。
  • TOTAL:总网络包数量。
  • DROP:丢弃的网络包数量。
  • TCP LISTEN 部分
  • LOCAL:本地 IP 地址及端口号。
  • REMOTE:远端 IP 地址及端口号。
  • STATUS:TCP 状态。
TCP 状态说明
CLOSED初始关闭状态
LISTEN监听状态,服务器端可以接受连接
SYN_SENT客户端发送 SYN 报文后进入此状态
SYN_RCVD服务器端接收到 SYN 报文后进入此状态
ESTABLISHED连接已经建立
FIN_WAIT_1主动关闭连接一方发送 FIN 报文进入此状态(一般很难看到)
FIN_WAIT_2进入 FIN_WAIT_1 状态的一端,当收到另一端的ACK后进入此状态
CLOSE_WAIT另一方请求关闭连接,回应完ACK后进入此状态,然后就可以做关闭本地等操作
CLOSING发起关闭方发送 FIN 报文,在没有收到ACK报文前收到了另一方的 FIN 报文进入此状态(这种情况可能会发送在双方同时请求关闭)
LAST_ACK被动关闭一方发送完 FIN 报文后,最后等待对方的ACK报文进入此状态
TIME_WAITFIN_WAIT_1 状态下,收到了对方同时带 FIN 标志和ACK标志的报文时进入此状态而无需进入 FIN_WAIT_2 状态
  • RETRANS:重传计数。
  • RCV_WND:接收窗口大小。
  • SND_WND:发送窗口大小。
  • TCP 部分
  • LOCAL:本地 IP 地址及端口号。
  • REMOTE:远端 IP 地址及端口号。
  • STATUS:TCP 状态。
  • RETRANS:重传计数。
  • RCV_WND:接收窗口大小。
  • SND_WND:发送窗口大小。
  • UDP 部分
  • LOCAL6:本地 IP 地址及端口号。
  • REMOTE6:远端 IP 地址及端口号。
  • UDPLITE:是否是 UDPLITE。

显示网络接口信息

在 SylixOS 中,执行 netstat -i 命令。

[root@sylixos:/root]# netstat -i
            |RECEIVE                                 |TRANSMIT
FACE  MTU    RX-BYTES   RX-OK RX-ERR RX-DRP RX-OVR    TX-BYTES   TX-OK TX-ERR TX-DRP TX-OVR FLAG
en3 : 1500   0          0     0      0      0         0          0     0      0      0      UBEthG
en2 : 1500   935552351  15388980 0      0      0         233707     4525  0      0      0      UBLEthG
en1 : 1500   0          0     0      0      0         0          0     0      0      0      UBEthG
lo0 : 0      168        3     0      0      0         168        3     0      0      0      UPL

显示选项如下所示:

  • FACE:系统中存在的所有网络接口。
  • MTU:最大传输单元,通常默认是 1500。
  • RX-BYTES:接收数据的字节数。
  • RX-OK:成功接收的数据包数。
  • RX-ERR:接收的错误数据包数。
  • RX-DRP:接收时,丢弃的数据包数。
  • RX-OVR:接收时,由于过速(在数据传输中,由于接收设备不能接收按照发送速率传送来的数据而使数据丢失)而丢失的数据包数。
  • TX-BYTES:发送数据的字节数。
  • TX-OK:成功发送的数据包数。
  • TX-ERR:发送的错误数据包数。
  • TX-DRP:发送时,丢弃的数据包数。
  • TX-OVR:发送时,由于过速而丢失的数据包数。
  • FLAG:U - 网络接口处于启动状态、B - 支持广播(Broadcast)、P - 网络接口是点对点连接、D - 网络接口 Dhcp 开启、L - 网络接口已经连接(Linkup)、Eth - 网络接口是以太网设备支持 ARP、G - 网络接口支持 IGMP。
文档内容是否对您有所帮助?
有帮助
没帮助