Netstat命令详解
Netstat用于显示与IP、 TCP、 UDP和ICMP协议相关的统计数据一般用于检验本机各端口的网络连接情况。如果你的计算机有时候接收到的数据报导致出错数据或故障你不必感到奇怪 TCP/IP可以容许这些类型的错误并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比或者它的数目正迅速增加那么你就应该使用Netstat查一查为什么会出现这些情况了。
Netstat详细参数列表
(winXP)
C:\>netstat/?
显示协议统计信息和当前TCP/IP网络连接。
N ETSTAT[-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s][-v] [interval]
-a 显示所有连接和监听端口。
-b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组 件拥有多个独立组件并且在这些情况下包含于创建连接或监听端口的组件序列 被显示。这种情况下可执行组件名在底部的[]中顶部是其调用的组
件 等等直到TCP/IP部分。注意此选项可
能需要很长时间如果没有足够权限 可能失败。
-e 显示以太网统计信息。此选项可以与-s选项组合使用。
-n 以数字形式显示地址和端口号。
-o 显示与每个连接相关的所属进程ID。
-p proto 显示proto指定的协议的连接 proto可以是下列协议之一:TCP、 UDP、 TCPv6或UDPv6。如果与-s选项一起使用以显示按协议统计信息proto 可以是下列协议之一: IP、 IPv6、ICMP、 ICMPv6、 TCP、 TCPv6、 UDP
或 ()UDPv6。
-r 显示路由表。
-s 显示按协议统计信息。默认地显示IP、
IPv6、 ICMP、 ICMPv6、 TCP、 TCPv6、UDP和UDPv6的统计信息
-p选项用于指定默认情况的子集。
-v 与-b选项一起使用时将显示包含于
为所有可执行组件创建连接或监听端口的
组件。interval 重新显示选定统计信息每次显示之间
暂停时间间隔(以秒计)。按CTRL+C停止
重新
显示统计信息。如果省略 netstat显示当前
配置信息(只显示一次)
(win2000)
C:\>netstat/?
Displays protocol statistics and currentTCP/IPnetwork connections.
NETSTAT[-a] [-e] [-n] [-s] [-p proto] [-r] [interval]
-a Displaysal l connectionsand l isteningports.
-e Displays Ethernetstatistics.This maybe combined with the-soption.
-n Displaysaddressesand portnumbers innumerical form.
-p proto Shows connections for the protocolspecified by proto; protomay beTCP or UDP. If used with the -soptionto displayper-protocol statistics, proto may beTCP,UDP,or IP.
-r Displaysthe routingtable.
-s Displays per-protocol statistics. Bydefault, statistics areshown forTCP, UDPand IP; the -poption may be used to speci fya subsetof the default.interval Redisplays selected statistics, pausinginterval secondsbetween each display. Press CTRL+C tostop redisplayingstatistics. If omitted, netstat wi l l printthe currentconfiguration information once.
(l inux)
[john11@john~]$ netstat/?usage: netstat [-veenNcCF] [] -r netstat{-V| --version|-h|--help}netstat [-vnNcaeol] [ . . .]netstat { [-veenNac] -i[] | [-cnNe] -M| -s }[delay]
-r, --route displayroutingtable
-i, --interfaces=[] display interface table
-g, --groups displaymulticastgroupmemberships
-s, --statistics display networkingstatistics (l ike SNMP)
-M, --masquerade displaymasqueraded connections
-v, --verbose beverbose
-n, --numeric don't resolve names
--numeric-hosts don't resolve hostnames
--numeric-ports don't resolve portnames
--numeric-users don't resolve usernames
-N, --symbol ic resolve hardwarenames
-e, --extend displayother/moreinformation
-p, --programs displayPID/Programname for sockets
-c, --continuous continuous l isting
-l, --l istening displayl isteningserver
sockets
-a, --al l, --l istening displayal l sockets(default: connected)
-o, --timers displaytimers
-F, --fib displayForwarding
Information Base (default)
-C, --cache displayrouting cacheinstead of FIB
: Name of interface to monitor/l ist.
={-t|--tcp} {-u| --udp} {-w|--raw} {-x|--unix}--ax25 --ipx--netrom
=Use'-A'or '--'; default: inet
Listof possible addressfami l ies (which supportrouting):inet (DARPA Internet) inet6(IPv6) ax25 (AMPRAX.25)netrom(AMPR NET/ROM) ipx(Novel l IPX) ddp(Appletalk DDP)x25 (CCITT X.25)
Netstat的一些常用选项netstat -s——本选项能够按照各个协议分别显示其统计数据。如果你的应用程序如Web浏览器运行速度比较
慢或者不能显示Web页之类的数据那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行找到出错的关键字进而确定问题所在。netstat -e——本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。netstat -r——本选项可以显示关于路由表的信息类似于后面所讲使用route print命令时看到的信息。除了显示有效路由外还显示当前有效的连接。netstat -a——本选项显示一个所有的有效连接信息列表包括已建立的连接ESTABLISHE D 也包括监听连接请求LISTENING的那些连接断开连接
CLOSE_WAIT或者处于联机等待状态的
TIM E_WAIT等netstat -n——显示所有已建立的有效连接。netstat支持用于显示活动或被动套接字的选项集。选项-t、 - u、 -w和-x分别表示TCP、 UDP、 RAW和UNIX套接字连接。如果你另外还提供了一个-a标记还会显示出等待连接也就是说处于监听模式的
套接字。这样就可以得到一份服务器清单当前所有运行于系统中的所有服务器都会列入其中。
调用netstat -ta时输出结果如下
[root@machine1 /]$ netstat -ta
Active Internet connections (servers andestabl ished)
Proto Recv-Q Send-Q Local Address Foreign
Address Statetcp 0 2 210.34.6.89:telnet 210.34.6.96:2873ESTABLISHE Dtcp 00 210.34.6.89:1165 210.34.6.84:netbios-ssnESTABLISHE Dtcp 00 localhost. localdom:9001localhost. localdom:1162 ESTABLISHEDtcp 00 localhost. localdom:1162localhost. localdom:9001 ESTABLISHEDtcp 00 *:9001 *:* LISTE Ntcp 00 *:6000 *:* LISTE Ntcp 00 *:socks *:* LISTENtcp 080 210.34.6.89:1161
210.34.6.10:netbios-ssn CLOSE
上面的输出表明部分服务器处于等待接入连接状态。利用-
a选项的话 netstat还会显示出所有的套接字。注意根据端口号可以判断出一条连接是否是外出连接。对呼叫方主机来说列出的端口号应该一直是一个
整数而对众所周知服务wel l knownservice端口正在使用中的被呼叫方来说 netstat采用的则是取自/etc/services文件的象征性服务名在随- i标记一起调用时 netstat将显示网络接口的当前配置特性。除此以外如果调用时还带上-a选项它还将输出内核中所有接口并不只是当前配置的接口。 netstat-i的输出结果是这样的
[root@machine1 /]$ netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVRTX-OK TX-ERR TX-DRP TX-OVR Flgeth0 1500 0 787165 00 1 51655 000 BRUeth1 1500 0 520811 000 1986000 BRUlo 39240 1943 00043 00 0 LRU
MTU和Met字段表示的是接口的MTU和度量值值RX和TX这两列表示的是已经准确无误地收发了多少数据包 RX-O K/TX-
OK 、产生了多少错误
RX-ERR/TX-ERR 、丢弃了多少包RX-D RP/TX-D RP