您的位置:首页 > 理论基础 > 计算机网络

网络常用命令(四)netstat

2013-03-24 16:42 267 查看
一 netstat概述:

netstat收集了有关计算机网络连接的大量信息,包括接口的统计信息、路由信息和连接表(TCP连接状态)。可以把netstat看成是多种网络工具的“大杂烩”,是分析系统网络状态必不可少的工具。

下面讨论五种netstat的常见用途:

1.检查接口的配置信息;

2.监视网络连接状态;

3.标示正在监听的网络服务;

4.检查路由表;

5.查看各种网络协议运行的统计信息

二 用途详述:

(1)检查接口的配置信息:

netstat -i显示主机上每个网络接口的配置和状态,还有相关的流量计数。在linux上可以用ifconfig -a代替netstat -i,它输出的信息更详细。

如下图:(netstat -i)



RX packets和TX packets报告各个接口从机器启动以来接受和发送的包的个数。

error:存放各种不同类型的错误,显示有个别错误是正常的。

collisions:给出包在发送期间遇到的冲突次数。

(2)监视网络连接状态:

netstat不带参数只显示活动的TCP和UDP端口的状态。正常情况下不显示在等待连接("listening")的不活动的服务器,用netstat -a可以看到它们。 

如下图:netstat -a:



*protocol表示协议,包括:TCP、UDP、Unix域等协议。

*输出结果中的地址以hostname:service的形式显示,service是端口号。对于知名的服务来说,netstat用/etc/services中定义的映射关系,用符号表示其端口。用-n选项可以获得数字地址和端口号。如果DNS断了,没有-n的netstat将是非常蛋疼的。

*Send-Q和Recv-Q显示在本地主机上的连接中发送和接受的队列的长度。

*State:连接状态只对TCP有意义,UDP是一种无连接协议。对于当前活动的连接,最常见状态是ESTABLISHED(已连接);对于等待连接的服务器,最常见状态是LISTEN(监听,不用-a通常不显示);对于关闭过程中的连接,最常见状态为TIME_WAIT。还有其他状态,如SYN_WAIT,如果显示了大量处于SYN_WAIT状态的连接,说明该主机不能处理那么多数量的连接了。

(3)标示正在监听的网络服务:

netstat -a列出了所有主动监听的端口(所有状态是LISTEN的TCP端口,还可能是所有的UDP端口)。

在linux上netstat -l可以只显示正在监听的端口。还可以加上-p,让netstat显示出和某个端口相关联的的特定进程。

(4)检查路由表:

netstat -r将显示内核的路由表。目的地址和网关可以为主机名或IP地址,-n标志要求输出数字IP。

如下图:netstat -r:



netstat -rn:



*Flags表示路由的特征:U表示up(活动的),G表示网关,H表示主机路由,D表示由ICMP重定向产生的路由。

*MSS:Maximum Segment Size最大分段大小。

(5)查看各种网络协议运行的统计信息:

netstat -s将输出散步在网络代码各个角落里的计数器的统计信息。输出中IP、ICMP、TCP和UDP分别成单独的小节。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: