Netstat命令详解
对于想要了解计算机的端口开放情况以及是否被木马程序操控的用户来说,Netstat命令是一个非常实用的工具。通过Netstat命令,我们可以看到当前的网络连接情况、路由表和网络接口信息,这样,用户就可以知道有哪些网络连接正在工作。Netstat命令有许多不同的参数,不同的参数可以实现不同的功能,使用时若是不带参数,那么Netstat命令显示活动的TCP连接。常用的Netstat命令选项Netstat命令有许多选项,附上不同参数的时候会出现不同的显示结果。当我们在cmd命令框中输入不同的Netstat命令的时候,会出现不同的结果。下面就介绍一些常用的Netstat命令选项。1、netstat -a这个命令常用于获得你的本地系统开放的端口,它会显示所有的连接和监听端口,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。断开连接(CLOSE_WAIT)或者处于联机等待状态的(TIME_WAIT)等。下面是一个具体的例子:1234567891011121314151617181920212223C:\>netstat -aActive ConnectionsProto Local Address Foreign Address StateTCP Eagle:ftp Eagle:0 LISTENINGTCP Eagle:telnet Eagle:0 LISTENINGTCP Eagle:smtp Eagle:0 LISTENINGTCP Eagle:microsoft-ds localhost:1031 ESTABLISHEDTCP Eagle:1031 localhost:microsoft-ds ESTABLISHEDTCP Eagle:2443 219.133.63.142:https CLOSE_WAITTCP Eagle:2907 192.168.1.101:2774 CLOSE_WAITUDP Eagle:1046 *:*UDP Eagle:1050 *:*我们可以看到在本地地址(Local Address )中看到本机名和开放端口号,Eagle代表的是计算机的名字(computer name),这个可以在“我的电脑”里面找到。后面的数字是指本地开放的端口,小于1024的端口通常运行一些网络服务,大于1024的端口用来与远程机器建立连接。远程地址(Foreign Address)中可以看到远程已经建立连接的IP以及开放的端口号。State表示当前连接状态。在这个命令中既可以显示TCP连接,又可以显示UDP连接。2、netstat -n这个选项显示所有已建立的有效连接。与netstat -a有点不同的是它会以数字的形式显示本地地址(计算机名)和端口号,这时看到的就不是“Eagle”了,而是一串数字,netstat -n只显示TCP连接。在互联网中黑客通常会通过获得用户IP的方式对用户发起攻击,所以有时候隐藏自己的IP能够减少被黑客攻击的风险。3、netstat -s本选项能够按照各个协议分别显示其统计数据,从而查看网络存在的连接,显示数据包的接收和发送情况。4、netstat -r此命令可以显示关于路由表的信息,除了显示有效路由外,还显示当前有效的连接。5、netstat -p此命令显示协议名查看某协议使用情况。6、netstat -b在命令提示符窗口中输入“netstat -b”命令,可显示在创建网络连接和侦听端口时所涉及的可执行程序。常见状态在Netstat命令后面有一项是状态栏(state),常见的状态有以下几种:LISTEN:侦听来自远方的TCP端口的连接请求SYN-SENT:在发送连接请求后等待匹配的连接请求SYN-RECEIVED:在收到和发送一个连接请求后等待对方对连接请求的确认ESTABLISHED:代表一个打开的连接TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认CLOSE-WAIT:等待从本地用户发来的连接中断请求CLOSING:等待远程TCP对连接中断的确认CLOSED:没有任何连接状态