Linux基础命令---netstat显示网络状态

netstat

netstat指令可以显示当前的网络连接、路由表、接口统计信息、伪装连接和多播成员资格等信息。

此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

 

1、语法

     netstat [address_family_options] [--tcp|-t]  [--udp|-u] [--raw|-w]  [--listening|-l]  [--all|-a]  [--numeric|-n]  [--numeric-hosts]  [--numeric-ports]  [--numeric-ports]  [--symbolic|-N]  [--extend|-e[--extend|-e]]  [--timers|-o] [--program|-p]   [--verbose|-v]  [--continuous|-c]   [delay]

     netstat  {--route|-r} [address_family_options]  [--extend|-e[--extend|-e]]  [--verbose|-v]  [--numeric|-n] [--numeric-hosts]  [--numeric-ports]  [--numeric-ports]  [--continuous|-c] [delay]

     netstat  {--interfaces|-I|-i}  [iface]  [--all|-a]  [--extend|-e]  [--verbose|-v]  [--program|-p]  [--numeric|-n] [--numeric-hosts]  [--numeric-ports]  [--numeric-ports]  [--continuous|-c]  [delay]

     netstat  {--groups|-g} [--numeric|-n]  [--numeric-hosts]  [--numeric-ports]  [--numeric-ports]   [--continuous|-c]   [delay]

     netstat {--masquerade|-M}  [--extend|-e] [--numeric|-n]  [--numeric-hosts]  [--numeric-ports]  [--numeric-ports]  [--continuous|-c] [delay]

     netstat {--statistics|-s}  [--tcp|-t]  [--udp|-u]  [--raw|-w]  [delay]

     netstat {--version|-V}

     netstat {--help|-h}

 

address_family_options:

     [--protocol={inet,inet6,unix,ipx,ax25,netrom,ddp,  ...  }] [--unix|-x]  [--inet|--ip]  [--ax25]  [--ipx]  [--netrom]  [--ddp]

 

2、选项列表

选项

说明

--help

显示帮助信息

--version

显示版本信息

-v | --verbose

显示执行过程

-n | --numeric

直接显示数字ip

--numeric-hosts

显示主机的数字地址,不影响端口和用户名

--numeric-ports

显示端口,不影响主机和用户名

--numeric-users

显示用户id,不影响主机和端口

-A | --protocol

指定网络类型

-c | --continuous

持续显示

-e | --extend

显示其他附加信息

-o | --timers

显示计时器

-p | --program

显示正在使用的socket程序pid和名字

-l | --listen

只显示监听的socket信息

-a | -all

显示所有连接中的socket信息

-F

显示FIB

-C

显示路由的缓存

-Z | --context

如果打开了SELinux,那么就打印SELinux的上下文

-T | --notrim

停止修剪长地址

 

3、说明

netstat打印有关Linux网络子系统的信息。打印的信息类型由第一个参数控制

参数

说明

(none)

默认情况下,netstat显示打开的套接字列表。如果不指定任何地址族,则将打印所有已配置地址家族的活动套接字。

-r | --route

打印内核路由表

-g | --groups

显示IPv4和IPv6的多播组成员信息

-i| --interfaces=iface, -I=iface

显示所有网络接口的表,或指定的ifaces。

-M | --masquerade

显示假连接列表。

-s | --statistics

显示每个协议的汇总统计信息。

 

4、输出

Active Internet connections(TCP, UDP, raw)

说明

Proto

socket使用的协议,tcp, udp, raw。

Recv-Q

连接到此套接字的用户程序未复制的字节数。

Send-Q

远程主机未确认的字节数。

Local Address

套接字的本地端的地址和端口号。除非指定了“--numeric (-n)“选项,否则套接字地址将解析为其规范主机名(FQDN),端口号将被转换为相应的服务名称。

Foreign Address

套接字的远程端的地址和端口号。类似于“本地地址”。

State

socket的状态。由于在原始模式中没有状态,通常在UDP中也没有使用状态,因此这一列可以保留为空白。通常,这可以是几个值之一:

ESTABLISHED,套接字有一个已建立的连接。

SYN_SENT,套接字正在积极尝试建立连接。

SYN_RECV,已从网络接收到连接请求。

FIN_WAIT1,套接字关闭,连接正在关闭。

FIN_WAIT2,连接被关闭,套接字正在等待来自远程端的关闭。

TIME_WAIT,套接字在关闭后等待处理仍在网络中的数据包。

CLOSED,没有使用套接字。

CLOSE_WAIT,远程终端已关闭,等待套接字关闭。

LAST_ACK,远程终端已关闭,套接字已关闭。等待确认

LISTEN,套接字正在监听传入的连接。除非您指定“--listening”或“--all(-a)”选项,否则输出中不包含此类套接字。

CLOSING,两个套接字都已关闭,但我们仍然没有发送所有数据。

UNKNOWN,套接字的状态未知。

User

PID/Program name

Timer

Active UNIX domain Sockets

说明

Proto

套接字使用的协议(通常是Unix)。

RefCnt

参考计数(即通过这个套接字附加的进程)。

Flags

所显示的标志是SO_ACCEPTON (显示为ACC)、SO_WAITDATA(W)或SO_NOSPACE(N)。如果未连接套接字的相应进程正在等待连接请求,则在未连接套接字上使用SO_ACCECPTON。其他的标志不正常。

Type

可能的几种值:

SOCK_DGRAM,套接字以数据报(无连接)模式使用。

SOCK_STREAM,这是一个流(连接)套接字。

SOCK_RAW,套接字用作原始套接字。

SOCK_RDM,这个服务提供可靠传递的消息。

SOCK_SEQPACKET,这是一个顺序的数据包套接字。

SOCK_PACKET,原始接口访问套接字。

UNKNOWN,不知道的状态

State

FREE,套接字还没有分配

LISTENING,套接字正在监听请求。

CONNECTING,套接字正在尝试连接。

CONNECTED,套接字已经连接。

DISCONNECTING,套接字断开连接。

(empty),套接字没有连接到其他地方。

UNKNOWN,未知的状态

PID/Program name

打开套接字的进程ID(PID)和进程名。更多信息可在上面写的活动互联网连接部分获得。

Path

这是连接到套接字上的相应进程的路径名。

 

5、文件

     /etc/services,服务翻译文件

     /proc,proc文件系统的挂载点,它允许访问内核状态。

     /proc/net/dev,设备信息。

     /proc/net/raw,raw套接字信息。

     /proc/net/tcp,tcp套接字信息。

     /proc/net/udp,udp套接字信息。

     /proc/net/igmp,IGMP多播信息。

     /proc/net/unix,Unix域名套接字信息。

     /proc/net/ipx,IPX套接字信息。

     /proc/net/ax25,AX25套接字信息。

     /proc/net/appletalk,DDP (appletalk) 套接字信息。

     /proc/net/nr,NET/ROM套接字信息

     /proc/net/route,IP路由信息。

     /proc/net/ax25_route,AX25路由信息。

     /proc/net/ipx_route,IPX路由信息。

     /proc/net/nr_nodes,NET/ROM 节点列表。

     /proc/net/nr_neigh,NET/ROM邻居。

     /proc/net/ip_masquerade,伪装连接。

     /proc/net/snmp,静态。

 

6、实例

1)显示指定类型的网络信息

[root@localhost ~]# netstat -A inet             //指定网络类型inet

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address              Foreign Address            State      

udp        0      0 192.168.0.113:33423        192.168.0.1:domain         ESTABLISHED 

udp        0      0 192.168.0.113:40242        192.168.1.1:domain         ESTABLISHED 

udp        0      0 192.168.0.113:50786        192.168.0.1:domain          ESTABLISHED

2)显示路由表

[root@localhost ~]# netstat –r                 //显示路由表

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

255.255.255.255 -               255.255.255.255 !H        - -          - -

192.168.1.0     *               255.255.255.0   U         0 0          0 eth0

224.0.0.0       -               255.255.255.0   !         - -          - -

default         192.168.1.1     0.0.0.0         UG        0 0          0 eth0

3)显示网卡状态

[root@localhost ~]# netstat –i                    //显示网卡状态

Kernel Interface table

Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0       1500  0   121817      0      0      0    79998      0      0      0 BMRU

lo        16436   0     8374      0     0      0     8374      0      0      0 LRU

上一篇:HTTP/1.1协议(中文归纳版)


下一篇:Alpha 冲刺报告模板