精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
锐英源精品开源心得,禁止全文或局部转载,禁止任何形式的非法使用,侵权必究
netstat是通信环境观察和调试软件,类似的软件有ping、ipconfig、telnet、tracert和tcpdump,tcpdump在windows下没有,但是在linux下有。ping最简单,ipconfig次之,telnet较难,netstat、tracert和tcpdump最难,网上有很多这些软件的使用说明,本文重点在netstat目的和netstat基础引导方面。
netstat字面意思就是网络统计,把本台机器里的通信信息有个汇总的认识,也会给出来细节提示。
计算机网络里传输的是信息资源,就像现实世界里各种通路传输货物或人,通路的属性和货物或人的属性结合,形成各种标识,才能完成传输。
计算机网络里的通路相关的实体有网卡、有线网线、无线网线、路由器、交换机、光纤和专用的通信服务器等等,看不到的部分有客户端软件、防火墙、服务器软件、网关中转软件和代理ip软件等等。这些概念是宏观方面的,要理解netstat不需要这么宏大,不过有一定认识还是有好处。
要理解网卡的配置,才能基本掌握netstat目的。网卡里要配置IP、子网掩码和网关,IP和子网掩码确定一个范围,这个范围内的机器都能互相通信,而要和范围外的机器通信需要通过网关。IP是四组数字或六组数字组成的标识,这个标识在范围内区分计算机和网络设备,这标识是可以修改的,不是固定不变的。
假设范围内两个机器的IP是192.168.3.8和192.168.3.9,如果两台机器间有通信,则在通信时用netstat能够看到对方的IP,非通信时是看不到的。
前文提到客户端软件和服务器软件,一般的通信都是端对端通信,一个客户端软件一个服务器软件,软件运行在操作系统里,通信数据要能被软件对应定位,通信数据包收发给哪个软件,是通过端口来实现,端口是个虚拟概念,软件可以监控某个端口等待连接,可以向某个端口发送数据。理解端口用telnet最合适,telnet连接上IP端口,把键盘的输入当做通信数据发到IP和端口上。
知道了IP和端口,我们用netstat来观察下QQ软件的通信状态,如下图:
里面的细节先不谈,先讲怎么确定是QQ的通信状态,因为当时我开了3个QQ,只有这三个连接是同样的服务器IP和端口,所以就确定为QQ的,为了验证,我关了2个QQ,如下图:
中间的TIME_WAIT表示关闭QQ软件对通信状态的影响,是连接被操作系统回收时的一种状态。时间过一会,状态会变为:
这时候,上面行和最下面行已经不是QQ的信息了,多截图只是表达另外一个意思,netstat的统计信息会把相同信息汇总在一起,容易查看使用。
现在介绍下图形里的信息,TCP是连接的类型,192.168.1.6是自己机器IP,冒号:是自己端口,111.30.187.201是天津的IP,是腾讯公司服务器的IP,8080是服务器软件使用的端口,最后列是状态ESTABLISHED是连接成功正在通信。
理解了IP和端口,就基本能掌握netstat目的,对本文讲的基础能记好,把开始列出来的软件经常用用,就能达到netstat基础引导。后面会发一些复杂的功能介绍,希望大家能学以致用。