如何查看端口是否被占用

时间:2021-05-24 15:17:54

在学习tcp/ip的时候,经常遇到一些关于跟端口有关的东西,在写网络上的一些东西,有时用的一些端口被提示:端口已被占用,啊啊啊,挺郁闷的

然后就想着将它搞明白,

1.它到底是被那些程序占用的啊??

2.到底如何查看那些有关端口的东西呢??


一:

window下的基本上都是一样的,不管win8,win10,win7,vsta等等,都有dos

  

1.首先进入自己的dos界面,并输入netstat  -n

如何查看端口是否被占用

我们可以看到:

proto是表示协议,协议有两种(tcp,udp),我们上图用到的主要是tcp

Local Address:表示的是本机的IP地址(可以通过命令ipconfig来查看),冒号后面跟的是所使用的端口号

Foreign Address:表示的是连接到外面所用服务器的IP地址,以及服务器的端口

State:表示一些具体的状态,如:LAST_ACK等待所用的分组死掉


2.确认所要查询的端口号,输入命令:netstat  -aon | findstr  1044

如何查看端口是否被占用

最后面的数字就是就是当前程序或者服务的pid

3.输入命令:tasklist|findstr 2612 (查看pid所对应的进程或服务)

如何查看端口是否被占用

由上面可以看出当前正在运行的程序为:TsService.exe

4.通过任务管理器查看进程号为2612的程序

如何查看端口是否被占用

可以知道确实有pid为2612,且程序为TsService.exe的程序占用着1044的端口号



5.如果我们想用到这个端口,

         1.可以点击结束进程,杀死进程之后就可以使用这个端口号了。

          2.继续在dos界面输入命令:taskkill  /f  /pid  2612

               如何查看端口是否被占用

               也就是说TsService.exe程序已经被杀死了




二:

比较简单的一种:用Telnet远程登录,查看相应的端口有没有被占用

        Telnet   IP地址(本机)  端口号

        只有是本机地址,才能查看本机中的端口

         比如我们在dos下输入:telnet   192.168.1.102   80

              如何查看端口是否被占用

              我们可以看到上面显示端口连接失败,所以这个端口是占用着的。

       

       我们要清楚的是如果端口没有被占用,那么会弹出另外一个窗口,表明这个端口没有被占用,可以用


当然,如果开始显示telnet不是内部或外部命令,那么这时候我们需要简单更改一下配置:

进入控制面板---程序与功能---打开或关闭window功能---添加telnet组件---确认