1. 程式人生 > >80端口被占用時的終極解決方法

80端口被占用時的終極解決方法

In ets data- -c VC cache 內核驅動 fab sta

【摘要】 之前在某次安全測試時,遇到一個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%

80端口被占用時的終極解決方法