netstat常用命令实操讲解

Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

如果我们的计算机有时候接受到的数据报会导致出错数据删除或故障,我们不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么我们就应该使用Netstat查一查为什么会出现这些情况了。

1、netstat命令的一些常用选项

netstat –s
本选项能够按照各个协议分别显示其统计数据。如果我们的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么我们就可以用本选项来查看一下所显示的信息。我们需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。

netstat –a
本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。

netstat命令显示所有网络上的活动。
可以使用netstat -i指令来检查封包流量。

-bash-3.00$ netstat -i
Name  Mtu  Net/Dest      Address        Ipkts  Ierrs Opkts  Oerrs Collis Queue
lo0   8232 loopback      localhost      820740 0     820740 0     0      0    
bge0  1500 t1000         t1000          225661640 0     239858019 0     0      0    

Name:接口名称。
Mtu:接口最大传输单元大小。
Net/Dest:该接口所连接到的实际网络地址。
Address:MAC和IP地址。
Ipkts:该接口所接受到的数据包的总数。
Ierrs:该接口所报告的错误的总数。
Opkts:该接口所传输的数据包的总数。
Oerrs:该接口所传输的错误数据包的总数。

-bash-3.00$ netstat -i 3
    input   bge0      output       input  (Total)    output
packets errs  packets errs  colls  packets errs  packets errs  colls
225662211 0     239858699 0     0      226482951 0     240679439 0     0    
51      0     55      0     0      51      0     55      0     0    
107     0     112     0     0      107     0     112     0     0    
25      0     32      0     0      25      0     32      0     0  
…… 

-bash-3.00$ netstat -in
Name  Mtu  Net/Dest      Address        Ipkts  Ierrs Opkts  Oerrs Collis Queue
lo0   8232 127.0.0.0     127.0.0.1      820740 0     820740 0     0      0    
bge0  1500 192.168.1.0   192.168.1.11   225611104 0     239796346 0     0      0  

-bash-3.00$ netstat -i 2 3
    input   bge0      output       input  (Total)    output
packets errs  packets errs  colls  packets errs  packets errs  colls
225663209 0     239859912 0     0      226483949 0     240680652 0     0    
21      0     25      0     0      21      0     25      0     0    
31      0     33      0     0      31      0     33      0     0    
没2秒统计一次,显示3次

netstat –n

-n选项表示不进行域名转换。 

-bash-3.00$ netstat -n

TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q    State
-------------------- -------------------- ----- ------ ----- ------ -----------
192.168.1.11.9999    192.168.1.31.3690     7984      0 49232      0 ESTABLISHED
192.168.1.11.9999    192.168.1.32.3657    27280      0 49232      0 ESTABLISHED
192.168.1.11.22      221.2.208.42.19899   15668      0 49640      0 ESTABLISHED
192.168.1.11.22      123.184.92.3.64029   16188     35 50400      0 ESTABLISHED
127.0.0.1.36424      127.0.0.1.10000      49152      0 49152      0 ESTABLISHED
127.0.0.1.10000      127.0.0.1.36424      49152      0 49210      0 ESTABLISHED
127.0.0.1.36426      127.0.0.1.10000      49152      0 49152      0 ESTABLISHED
127.0.0.1.10000      127.0.0.1.36426      49152      0 49156      0 ESTABLISHED
127.0.0.1.36427      127.0.0.1.9999       49152      0 49152      0 ESTABLISHED
127.0.0.1.9999       127.0.0.1.36427      49152      0 49152      0 ESTABLISHED
192.168.1.11.22      123.184.92.3.61267   16104      0 50400      0 ESTABLISHED
192.168.1.11.27218   192.168.1.40.53634   17472      0 65160      0 ESTABLISHED
192.168.1.11.27218   192.168.1.40.48873   57984      0 65160      0 ESTABLISHED
192.168.1.11.27618   192.168.1.40.59257   49280      0 65160      0 ESTABLISHED
192.168.1.11.27218   192.168.1.40.48884   23232      0 65160      0 ESTABLISHED
192.168.1.11.50362   192.168.2.5.389       6912      0 49640      0 TIME_WAIT
192.168.1.11.988     192.168.2.5.2049     64128      0 49640    116 ESTABLISHED
192.168.1.11.50363   192.168.2.5.389       6912      0 49640      0 TIME_WAIT
192.168.1.11.50364   192.168.2.5.389       6912      0 49640      0 TIME_WAIT
192.168.1.11.9999    192.168.1.30.4788    98092      0 49232      0 ESTABLISHED
192.168.1.11.47539   192.168.1.18.9999    65535      0 49640      0 ESTABLISHED
192.168.1.11.9999    192.168.1.14.55057   66560      0 49232      0 ESTABLISHED

Active UNIX domain sockets
Address  Type          Vnode     Conn  Local Addr      Remote Addr
60024683940 stream-ord 60021ea04c0 00000000 /tmp/ssh-oJq19606/agent.19606               
6000798d5a0 stream-ord 600245f3100 00000000 /tmp/ssh-lIE21178/agent.21178               
60005e6ec90 stream-ord 600245f19c0 00000000 /tmp/ssh-RXj19791/agent.19791               
60003231c88 stream-ord 6000322c900 00000000 /var/run/.inetd.uds          

netstat –r
本选项可以显示关于路由表的信息,类似于后面所讲使用route print命令时看到的 信息。除了显示有效路由外,还显示当前有效的连接。

-bash-3.00$ netstat -r

Routing Table: IPv4
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
192.168.1.0          t1000                U         1   3792 bge0     
224.0.0.0            t1000                U         1      0 bge0     
default              192.168.1.1          UG        1  10806          
localhost            localhost            UH       10   2154 lo0  

-bash-3.00$ netstat -rn

Routing Table: IPv4
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
192.168.1.0          192.168.1.11         U         1   3792 bge0     
224.0.0.0            192.168.1.11         U         1      0 bge0     
default              192.168.1.1          UG        1  10807          
127.0.0.1            127.0.0.1            UH       10   2154 lo0  

-bash-3.00$ netstat -pn
Net to Media Table: IPv4
Device   IP Address               Mask      Flags   Phys Addr
------ -------------------- --------------- ----- ---------------
bge0   192.168.1.40         255.255.255.255       00:1d:09:f1:d2:d6
bge0   192.168.1.1          255.255.255.255       00:14:f6:44:2a:27
bge0   192.168.1.11         255.255.255.255 SP    00:14:4f:1e:3f:9c
bge0   192.168.1.12         255.255.255.255       00:18:8b:f8:14:4d
bge0   192.168.2.7          255.255.255.255       00:1d:09:0c:3a:ef
bge0   192.168.1.18         255.255.255.255       00:11:25:c5:cd:a4
bge0   224.0.0.0            240.0.0.0       SM    01:00:5e:00:00:00

2、Netstat命令的妙用

经常上网的人一般都使用ICQ的,不知道我们有没有被一些讨厌的人骚扰,想投诉却又不知从和下手?其实,我们只要知道对方的IP,就可以向他所属的ISP投诉了。但怎样才能通过ICQ知道对方的IP呢?如果对方在设置ICQ时选择了不显示IP地址,那我们是无法在信息栏中看到的。其实,我们只需要通过Netstat就可以很方便的做到这一点:当他通过ICQ或其他的工具与我们相连时(例如我们给他发一条ICQ信息或他给我们发一条信息),我们立刻在DOS 命令提示符下输入netstat -n或netstat -a就可以看到对方上网时所用的IP或ISP域名了,甚至连所用Port都完全暴露了。      

上一篇:windows通过命令行查看进程杀死进程


下一篇:linux 端口被占用