Linux Netstat命令常用选项详细解析
Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
?
如果我们的计算机有时候接受到的数据报会导致出错数据删除或故障,我们不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么我们就应该使用Netstat查一查为什么会出现这些情况了。
?
1、netstat 的一些常用选项
?
·netstat –s
?
本选项能够按照各个协议分别显示其统计数据。如果我们的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么我们就可以用本选项来查看一下所显示的信息。我们需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。
?
·netstat –e
?
本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)。
?
·netstat –r
?
本选项可以显示关于路由表的信息,类似于后面所讲使用route print命令时看到的 信息。除了显示有效路由外,还显示当前有效的连接。
?
·netstat –a
?
本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。
?
·netstat –n
?
显示所有已建立的有效连接。
?
下面是 netstat 的输出示例:
?
C:\>netstat -e
?
Interface Statistics
?
Received Sent
?
Bytes 3995837940 47224622
?
Unicast packets 120099 131015
?
Non-unicast packets 7579544 3823
?
Discards 0 0
?
Errors 0 0
?
Unknown protocols 363054211
?
C:\>netstat -a
?
Active Connections
?
Proto Local Address Foreign Address State
?
TCP CORP1:1572 172.16.48.10:nbsession ESTABLISHED
?
TCP CORP1:1589 172.16.48.10:nbsession ESTABLISHED
?
TCP CORP1:1606 172.16.105.245:nbsession ESTABLISHED
?
TCP CORP1:1632 172.16.48.213:nbsession ESTABLISHED
?
TCP CORP1:1659 172.16.48.169:nbsession ESTABLISHED
?
TCP CORP1:1714 172.16.48.203:nbsession ESTABLISHED
?
TCP CORP1:1719 172.16.48.36:nbsession ESTABLISHED
?
TCP CORP1:1241 172.16.48.101:nbsession ESTABLISHED
?
UDP CORP1:1025 *:*
?
UDP CORP1:snmp *:*
?
UDP CORP1:nbname *:*
?
UDP CORP1:nbdatagram *:*
?
UDP CORP1:nbname *:*
?
UDP CORP1:nbdatagram *:*
?
C:\>netstat -s
?
IP Statistics
?
Packets Received = 5378528
?
Received Header Errors = 738854
?
Received Address Errors = 23150
?
Datagrams Forwarded = 0
?
Unknown Protocols Received = 0
?
Received Packets Discarded = 0
?
Received Packets Delivered = 4616524
?
Output Requests = 132702
?
Routing Discards = 157
?
Discarded Output Packets = 0
?
Output Packet No Route = 0
?
Reassembly Required = 0
?
Reassembly Successful = 0
?
Reassembly Failures =
?
Datagrams Successfully Fragmented = 0
?
Datagrams Failing Fragmentation = 0
?
Fragments Created = 0
?
ICMP Statistics
?
Received Sent
?
Messages 693 4
?
Errors 0 0
?
Destination Unreachable 685 0
?
Time Exceeded 0 0
?
Parameter Problems 0 0
?
Source Quenches 0 0
?
Redirects 0 0
?
Echoes 4 0
?
Echo Replies 0 4
?
Timestamps 0 0
?
Timestamp Replies 0 0
?
Address Masks 0 0
?
Address Mask Replies 0 0
?
TCP Statistics
?
Active Opens = 597
?
Passive Opens = 135
?
Failed Connection Attempts = 107
?
Reset Connections = 91
?
Current Connections = 8
?
Segments Received = 106770
?
Segments Sent = 118431
?
Segments Retransmitted = 461
?
UDP Statistics
?
Datagrams Received = 4157136
?
No Ports = 351928
?
Receive Errors = 2
?
Datagrams Sent = 13809
?
2、Netstat的妙用
?
经常上网的人一般都使用ICQ的,不知道我们有没有被一些讨厌的人骚扰,想投诉却又不知从和下手?其实,我们只要知道对方的IP,就可以向他所属的ISP投诉了。但怎样才能通过ICQ知道对方的IP呢?如果对方在设置ICQ时选择了不显示IP地址,那我们是无法在信息栏中看到的。其实,我们只需要通过Netstat就可以很方便的做到这一点:当他通过ICQ或其他的工具与我们相连时(例如我们给他发一条ICQ信息或他给我们发一条信息),我们立刻在DOS 命令提示符下输入netstat -n或netstat -a就可以看到对方上网时所用的IP或ISP域名了,甚至连所用Port都完全暴露了。