80端口被占用时的终极解决方法
【摘要】 之前在某次安全测试时,遇到一个80端口被占用的坑,将解决方法共享出来。 使用netstat -ano 命令查看是哪个进程正在占用80端口
之前在某次安全测试时,遇到一个80端口被占用的坑,将解决方法共享出来
使netstat -ano 命令查看是哪个进程正在占用80端口
PID为4的进程正在占用80端口。此进程为system进程,无法直接结束进程
使用netsh命令查看http端口使用状态
netsh http show servicetstate
这里可以看到有两个进程正在使用http功能。分别为 3164和3196
其中3196是sql server的report服务
可以将其服务关闭。
进程3164对应的是一个svchost服务。
我们也可以将这个服务关闭
再使用 netstat -ano 命令查看确实已经释放了80端口
但是奇怪的是,50秒之后端口又自动被占用了。
从procmonitor中可以看到,每次关闭服务 BranchCache 每50s后就会继续被svchost给调用起来。
通过services表中,我们发现这里的BranchCache 依赖了HTTP.SYS这个内核驱动。
那我们手工将其禁用即可
以管理员权限打开cmd命令行
这种方法对80端口占用解决应该是100%