80端口被占用时的终极解决方法

【摘要】 之前在某次安全测试时,遇到一个80端口被占用的坑,将解决方法共享出来。 使用netstat -ano 命令查看是哪个进程正在占用80端口

之前在某次安全测试时,遇到一个80端口被占用的坑,将解决方法共享出来

使netstat -ano 命令查看是哪个进程正在占用80端口

1q.png

PID为4的进程正在占用80端口。此进程为system进程,无法直接结束进程

使用netsh命令查看http端口使用状态

 

netsh http show servicetstate

2q.png

3q.png

4q.png

这里可以看到有两个进程正在使用http功能。分别为 3164和3196

5q.png

其中3196是sql server的report服务

6q.png

可以将其服务关闭。

8q.png

进程3164对应的是一个svchost服务。

59c06fab46b91.png
我们也可以将这个服务关闭

 

9q.png

再使用 netstat -ano 命令查看确实已经释放了80端口

 

但是奇怪的是,50秒之后端口又自动被占用了。

11q.png

从procmonitor中可以看到,每次关闭服务 BranchCache 每50s后就会继续被svchost给调用起来。

12q.png

通过services表中,我们发现这里的BranchCache 依赖了HTTP.SYS这个内核驱动。

13q.png

那我们手工将其禁用即可

 

以管理员权限打开cmd命令行

14q.png

这种方法对80端口占用解决应该是100%

posted @ 2018-06-04 08:49  StarkSoft  阅读(46323)  评论(1编辑  收藏  举报