TCPView是一个用来显示系统中所有的TCP和UDP端点(endpoint)列表的Windows程序,包括本地和远程的网络地址,以及TCP连接的状态。在Windows Server 2008、Vista、NT、2000和XP上,TCPView还会显示拥有端点的进程名。TCPView是Windows自带的netstat程序的一个子集,但是信息更加丰富且方便实用。随TCPView一起下载的还有一个功能相同的命令行版本Tcpvcon。
Sysinternals网址:http://technet.microsoft.com/en-us/Sysinternals/bb897437.aspx
一、TCPView警察看守的叫端口
通俗地讲,端口(Port)就是电脑向网络开放的信息出入“门户”。和小区大门不同的是,在电脑上这种“门户”有个256×256(65535)个,而且它们还有多种状态。
1.端口的分类
根据端口和服务的绑定情况,端口可分为公认端口、注册端口和动态端口。
公认端口:0~1023。这个范围内的端口系统一般保留给一些常用的系统服务,比如WEB服务使用80端口,FTP服务使用21端口。因为这些端口和服务形成了一一对应关系,已被大家所公认,所以这些端口叫做公认端口。
注册端口:1024~49151。这个范围内的端口比较松散地绑定于一些服务,也就是说,和公认端口相比,这些端口和服务并没有形成一一对应关系,许多服务可绑定于这些端口,这些端口同样可用于许多其它目的
动态端口:49152~65535。这个范围内的端口一般不为服务所使用,它常常被动态分配给客户端,因而这个范围内的端口叫做动态端口。需要注意的是在实际应用中,端口从1024起就开始动态分配了。
小提示:为了防止和系统服务发生冲突,大多数木马和病毒的服务端使用1024以上的端口。为了躲避扫描软件对端口的扫描,木马和病毒使用的端口有高端化的倾向,即尽量使用一些端口号较大的端口。
2.端口的状态
一个端口可以有多个状态。端口的状态不同,在电脑中所起的作用就不相同。下面介绍几个常见的端口状态。
LISTENING:即端口的监听状态。处于这种状态的端口就是我们常说的监听端口,这种状态的端口一般由某个服务程序打开,等待其它主机来连接,因而这种端口又叫做服务端口。
ESTABLISHED:即端口的连接状态。如果处于监听状态的端口已和其它主机建立了连接,那么端口的“LISTENING”状态就会变为“ESTABLISHED”状态。
SYN_SENT:大多数情况下,我们的电脑会主动打开一个端口去连接其它机器,这时端口的状态就表现为“SYN_SENT”。处于这种状态的端口一般是由客户端程序打开,所以这种端口也叫做客户端口。客户端口如果和服务端口建立了连接,那么端口的状态就会由“SYN_SENT”状态变为“ESTABLISHED”状态。
TIME_WAIT:处于“ESTABLISHED”状态的端口,如果连接被结束,那么端口的状态就会变为“TIME_WAIT”状态,它表示该端口曾经被访问过,现在访问结束了。
小提示:在上述所有的端口状态中,监听状态的端口尤其值得注意,特别是1024以上的监听端口,很有可能就是木马服务端打开的服务端口。
二、TCPView的十八般武艺
理解了端口的种类和状态以后,下面来看TCPView这个免费警察的十八般武艺。
实例1:查看端口及状态
Windows也内置了一个查看端口的程序“Netstat”,但它是命令行模式的,不易操作。TCPView的特点就是能够以图形界面的方式实时显示电脑中所有打开的端口及状态。
实例2:查看进程及位置
TCPView能够查看进程对应的程序在硬盘上的保存位置。
实例3:关闭连接及进程
在TCPView中,我们不仅可以关闭和外部发生的连接,还可以强制结束进程。在该进程上点击右键,在弹出的菜单上选择“关闭连接”。