如何查看端口是否被占用

在学习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组件---确认

              

<think>首先,用户的问题是关于“查看端口是否占用的方法”,并且提供了几个引用内容。引用[1]、[2]和[3]都讨论了在Windows系统中查看端口占用的方法,主要使用命令行工具如netstat。 用户说:“我想查找查看端口是否占用的方法”,所以我需要根据这些引用信息,提供一个清晰、结构化的回答。 系统指令要求: - 所有行内数学表达式使用$...$格式,但这个问题是关于端口占用的,可能不涉及数学表达式,所以可能不需要。 - 独立公式必须使用$$...$$格式并单独成段,同样,这里可能不适用。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识,例如[^1]。 - 回答结构清晰,帮助用户逐步解决问题,保证回答真实可靠。 - 在最后,生成相关问题。 用户可见层要求回答结构清晰,帮助用户逐步解决问题。 引用内容: - [1]:描述使用netstat -ano查看所有端口占用情况,以及使用netstat -ano |findstr '端口号'查看特定端口。 - [2]:类似,使用netstat -ano|findstr "端口号"查看端口是否占用。 - [3]:更详细,包括查看所有端口、找特定端口对应的PID、然后通过任务管理器结束进程。 我的回答应该基于这些引用,但我要确保它是原创的、结构化的。 结构化回答: 1. 介绍方法:简述在Windows系统中查看端口是否占用的常用方法。 2. 逐步指导: - 打开命令提示符。 - 使用netstat命令查看端口状态。 - 特定端口检查。 - 可选:找出占用端口的进程并结束它。 3. 添加引用标识。 4. 用中文。 5. 最后生成相关问题。 生成相关问题: - 例如,如何结束占用端口的进程?其他操作系统如Linux上怎么做?等。 确保回答真实可靠:基于标准Windows命令,引用提供的信息是准确的。 最终输出: - 回答部分。 - §§相关问题§§部分。 </think> ### 查看端口是否占用的方法 在Windows系统中,查看端口是否占用主要通过命令行工具实现。以下是详细步骤,确保操作简单易懂: 1. **打开命令提示符(cmd)**: - 按下组合键`Win + R`打开“运行”窗口。 - 在输入框中输入`cmd`,然后按回车键打开命令窗口。 2. **查看所有端口占用情况**: - 在命令提示符窗口中,输入以下命令: ``` netstat -ano ``` - 该命令会列出系统当前所有端口占用状态(例如`LISTENING`表示监听中,`ESTABLISHED`表示已连接)。 - 在输出结果中,可以检查端口号对应的状态和进程ID(PID)[^3]。 3. **检查特定端口是否占用**: - 如果想查询某个具体端口(如8080),输入: ``` netstat -ano | findstr "端口号" ``` - 将`端口号`替换为实际数字(例如`netstat -ano | findstr "8080"`)。 - **结果解读**: - 如果输出显示一行或多行信息(包括PID),表示该端口已被占用。 - 如果无输出结果,表示该端口未被占用(处于闲置状态)[^2][^3]。 4. **可选:识别并结束占用进程**: - 如果端口占用,可以通过PID找出对应进程: - 从第3步的输出中记下PID(例如2720)。 - 输入命令: ``` tasklist | findstr "PID" ``` - 替换`PID`为实际数字(例如`tasklist | findstr "2720"`),查看进程名称。 - 在任务管理器中结束进程: - 按`Ctrl + Shift + Esc`打开任务管理器。 - 切换到“详细信息”标签页,在PID列找到对应进程。 - 右键点击该进程,选择“结束任务”。 - 或者直接在命令窗口输入: ``` taskkill /f /pid PID ``` (替换`PID`为实际数字)强制结束进程。 ### 注意事项 - **命令格式**:确保命令中的引号和空格正确(例如`findstr "8080"`)。 - **权限要求**:部分操作需要管理员权限。如果命令失败,请以管理员身份运行cmd(右键点击cmd图标,选择“以管理员身份运行”)。 - **其他工具**:对于高级用户,可以使用资源监视器(在任务管理器的“性能”标签页中打开)或第三方工具如`TCPView`进行可视化查看。 - **准确性**:该方法基于Windows内置命令,可靠且广泛使用[^2]。 如果端口占用,可能是应用程序冲突或服务运行中。建议先确认端口用途再决定是否结束进程。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值