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%


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM