胆囊息肉

注册

 

发新话题 回复该主题

Linux里面netstatan命令作 [复制链接]

1#

netstat命令是Linux中非常重要的命令,主要用于查看网络状态,那么Linux里面netstat-an命令作用是什么?以下便是详细的内容介绍。

netstat:查看网络状态

命令详解

★★★★★

netstat命令用来显示本机网络连接状态、运行端口和路由表等信息。

netstat[选项]

-r显示路由表信息,功能类似前面学过的route和iproute

-g显示多播功能群组成员,功能类似前面学过的ipmaddr

-i显示网络接口信息,功能类似前面学过的ip-slink

-s显示各类协议的统计信息

-n显示数字形式地址而不是去解析主机、端口或用户名。默认情况下netstat命令会尝试解析并显示主机的主机名,这个过程通常比较长也是非必需的※

-a显示处于监听状态和非监听状态的socket信息※

使用范例

1.基础范例

范例10-25:常用选项组合(一)。

[root

oldboy~]#netstat-an#==常用组合-a和-n,显示所有连接信息。

ActiveInternetconnections(serversandestablished)#==活动的TCP/IP网络连接。

ProtoRecv-QSend-QLocalAddressForeignAddressState

tcp.0.0.0:.0.0.0LISTEN

tcp.0.0.12:.0.0.1:ESTABLISHED

tcp.0.0.12:.0.0.1:ESTABLISHED

tcp00:::22::LISTEN

ActiveUNIXdomainsockets(serversandestablished)#==活动的unixsocket连接。

ProtoRefCntFlagsTypeStateI-NodePath

范例10-26:常用选项组合(二)。

[root

oldboy~]#netstat-lntup

ActiveInternetconnections(onlyservers)

ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programname

tcp.0.0.0:.0.0.0LISTEN/sshd

tcp00:::22::LISTEN/sshd

以上命令语句的作用为显示所有TCP和UDP正在监听的连接信息。

q-l:显示所有LISTEN状态的网络连接。

q-n:显示IP地址,不进行DNS解析成主机名、域名。

q-t:显示所有TCP连接。

q-u:显示所有UDP连接。

q-p:显示进程号和进程名。

范例10-27:显示当前系统的路由表。

[root

oldboy~]#netstat-rn#==使用-r选项显示路由表信息,-n选项不进行DNS解析,加快命令执行速度。

KernelIProutingtable

DestinationGatewayGenmaskFlagsMSSWindowirttIface

10.0.0.00.0.0....0Ueth0

..0.00.0.0...0.0Ueth0

0.0.0..0.0.20.0.0.0UGeth0

#提示:该命令相当于route-n。

范例10-28:选项-i显示网络接口状况。

[root

oldboy~]#netstat-i

KernelInterfacetable

IfaceMTUMetRX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFlg

eth0154473545203BMRU

lo65536040814081LRU

以下是命令结果解释。

qIface表示网络设备的接口名称。

qMTU表示最大传输单元,单位字节。

qRX-OK/TX-OK表示已经准确无误地接收/发送了多少数据包。

qRX-ERR/TX-ERR表示接收/发送数据包时产生了多少错误。

qRX-DRP/TX-DRP表示接收/发送数据包时丢弃了多少数据包。

qRX-OVR/TX-OVR表示由于误差而遗失了多少数据包。

qFlg表示接口标记,其中:

lL:表示该接口是个回环设备。

lB:表示设置了广播地址。

lM:表示接收所有数据包。

lR:表示接口正在运行。

lU:表示接口处于活动状态。

lO:表示在该接口上禁用arp。

lP:表示一个点到点的连接。

正常情况下,RX-ERR/TX-ERR、RX-DRP/TX-DRP和RX-OVR/TX-OVR的值都应该为0,如果这几个选项的值不为0,并且很大,那么网络质量肯定有问题,网络传输性能也一定会下降。

2.生产案例

范例10-29:统计各个状态的网络连接个数。

[root

Backend-~]#netstat-n

awk/^tcp/{++oldboy[$NF]}END{for(ainoldboy)printa,oldboy[a]}#==这个题目利用了awk数组的功能,awk的使用请参考本书第四章。

TIME_WAIT

FIN_WAIT

FIN_WAIT

ESTABLISHED

SYN_RECV53

LAST_ACK30

分享 转发
TOP
发新话题 回复该主题