如何解决Win10提示“服务器启动失败80端口被占用”的问题

如何解决Win10提示“服务器启动失败80端口被占用”的问题,第1张

步骤如下:
1、以管理员身份运行cmd;
2、输入:net stop >简单的讲一下自己对端口的理解,以及一些与端口有关的命令的介绍。

1背景介绍
什么是端口

在 Internet上,各主机间通过TCP/TP协议发送和接收数据报,各个数据报根据其目的主机的ip地址来进行互联网络中的路由选择。

我们知道大多数 *** 作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据报传送给众多同时运行的进程中的哪一个呢?

端口机制便由此被引入进来。

本地 *** 作系统会给那些有需求的进程分配协议端口 (protocal port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。

当目的主机接收到数据报后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。

2知识剖析

端口的分类  在Internet上,按照协议类型分类,端口被分为TCP端口和UDP端口两类

虽然他们都用正整数标识,但这并不会引起歧义,比如TCP的80端口和UDP的80端口,因为数据报在标明端口的同时,还将标明端口的类型。

从端口的分配来看,端口被分为固定端口和动态端口两大类: 固定端口(0-1023):使用集中式管理机制,即服从一个管理机构对端口的指派,这个机构负责发布这些指派。

由于这些端口紧绑于一些服务,所以我们会经常扫描这些端口来判断对方 是否开启了这些服务 如TCP的21(ftp),80(>

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所对应的进程或服务)

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

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

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

用工具检测一下吧,比如360网络连接状态可以看到,报端口占用错那肯定是端口被占用的,有可能是你之前启动apache时存在本身卡死进程,并不一定要其他程序占用的。实在不行就换个端口启动吧。

端口:0
服务:Reserved
说明:通常用于分析 *** 作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果。一种典型的扫描,使用IP地址为0000,设置ACK位并在以太网层广播。
端口:1
服务:tcpmux
说明:这显示有人在寻找SGI Irix机器。Irix是实现tcpmux的主要提供者,默认情况下tcpmux在这种系统中被打开。Irix机器在发布是含有几个默认的无密码的帐户,如:IP、GUEST UUCP、NUUCP、DEMOS 、TUTOR、DIAG、OUTOFBOX等。许多管理员在安装后忘记删除这些帐户。因此HACKER在INTERNET上搜索tcpmux并利用这些帐户。
端口:7
服务:Echo
说明:能看到许多人搜索Fraggle放大器时,发送到XXX0和XXX255的信息。
端口:19
服务:Character Generator
说明:这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时会发送含有垃圾字符的数据流直到连接关闭。HACKER利用IP欺骗可以发动DoS攻击。伪造两个chargen服务器之间的UDP包。同样Fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。

关于如何查看端口是否被占用,可以根据以下步骤来 *** 作:

1、开始---->运行---->cmd,或者是window+R组合键,调出命令窗口;

2、输入命令:netstat -ano,列出所有端口的情况。在列表中观察被占用的端口,比如是49157,首先找到它。

3、查看被占用端口对应的PID,输入命令:netstat -aon|findstr "49157",回车,记下最后一位数字,即PID,这里是2720。

4、继续输入tasklist|findstr "2720",回车,查看是哪个进程或者程序占用了2720端口,结果是:svchostexe

5、或者是打开任务管理器,切换到进程选项卡,在PID一列查看2720对应的进程是谁,如果看不到PID这一列,如下图:

6、则--->选择列,将PID(进程标示符)前面的勾打上,点击确定。

7、这样就看到了PID这一列标识,看一下2720对应的进程是谁,如果没有,把下面的显示所有用户的进程前面的勾打上,就可以看到了,映像名称是svchostexe,描述是,Windows的主进程,与上面命令查看的完全一致。

8、结束该进程:在任务管理器中选中该进程点击”结束进程“按钮,或者是在cmd的命令窗口中输入:taskkill /f /t /im Tencentdlexe。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13091863.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存