#原创分享#如何查看电脑端口的占用情况
1、打开运行-->输入“CMD”回车。如下图 2、在提示符下输入:netstat /?(/前面有个空格 )
上面显示的各个参数的含义和用法,查看端口情况,最常用的参数是-a,-n和-o。如果不使用任何参数,则只显示当前活动的连接(TCP连接)3、我们先以-a为例来看一下执行后的效果,-a表示显示所有连接和侦听端口(包括TCP和UDP):
输入netstat -a的命令后,输出结果为四列,显示的当前所有连接和侦听的端口信息。第一列为协议,主要是TCP的端口占用情况和UDP的端口占用情况。第二列为本地地址和端口。第三列为外部地址和端口。++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 这里解释一下: a、0.0.0.0代表本机上可用的任意地址。 比如0.0.0.0:135表示本机上所有地址的135端口,这样多ip计算机就不用重复显示了。 b、TCP 0.0.0.0:445表示在所有的可用接口上监听TCP 445端口 C、127.0.0.1就是表示你本机ip地址的意思了。 就像127.0.0.1,外部地址显示为Aysdsj_xxzx(我的电脑名字),http,就表示80端口,https:就表示443端口。4、下面输入命令netstat -an ,如下所示:
注:加上-n参数,则会显示为127.0.0.1,80和443。因为-n参数的意思就是以数字的形式显示IP和端口号。这也是-a和-an两个参数的区别。5、对比一下:
-an参数 -a参数127.0.0.1 Aysdsj_xxzx(机器名)443 https 80 http6、 这里的命令为什么要用-an,而不是-n呢?因为如果不加-a这个参数,那么只会显示当前已经建立连接的端口情况,而不会显示所有的端口情况,处于监听状态(LISTENING) 的端口是显示不出来的。如下图
7、为什么所有UDP协议的外部连接都是*:*呢?在计算机中,*是一个通配符,可以表示任意字符,所以这里的*:*就表示任意地址和任意端口。那为啥只有UDP协议中是*:*呢?这是因为TCP协议和UDP协议是不一样的,TCP协议是一个握手协议,必须要跟远端的一个地址和端口建立建立连接,所以一定是一个确定的地址和端口。就像打电话,必须要有确定的远端的电话号码才可以通话。而UDP是一个广播协议,不需要跟远端建立连接,所以并没有确定的地址和端口。 8、第四列是状态,显示当前端口处于什么状态。 这里的状态只是指的TCP连接的状态,因为对于UDP协议而言,是不需要状态的。LISTENING:侦听来自远方的TCP端口的连接请求ESTABLISHED:代表一个打开的连接 CLOSE-WAIT:等待从本地用户发来的连接中断请求 TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认有不足之处,请不吝指教
|