80端口被占用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了80端口被占用相关的知识,希望对你有一定的参考价值。
我的操作系统是 vista HB的 装不起IIs 然后装了netbox 结果提示80端口被占用 我找到了占用80的pid 结果是系统进程 应该怎么找回80端口!高手帮下忙!
80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,此为上网冲浪使用次数最多的协议,主要用于WWW(World Wide Web)即万维网传输信息的协议。搭建网站主要使用的也是80端口,但是当80端口被其他的程序占用时应该怎么办呢?
在windows下查看80端口占用情况?是被哪个进程占用?如何终止进程?
这里主要是用到windows下的DOS工具,点击"开始"--"运行",输入"cmd"后点击确定按钮,进入DOS窗口,接下来分别运行以下命令:
netstat -aon | findstr "80"
然后会出现占用80端口的进程PID
Proto Local Address Foreign Address State PID
可以看出80端口被进程号为4306的程序占用.
tasklist | findstr "4306"
进程名 PID 会话名 会话 内存使用
很明显,是httpd占用了80端口;httpd.exe是Apache相关程序,是服务器软件中的一个进程,这是属于正常的使用。
不过,并不是只有httpd.exe进程会占用80端口,可能有其他的程序也会占用80端口,当你不知道占用端口的进程是干什么用的时,最好先查一下,避免关闭了正常使用的程序造成不必要的麻烦,如果确定是无效或恶意占用的程序就可以执行下面的命令.
taskkill /pid 4306 /F
成功: 已终止 PID 为 4306 的进程。
这表示使用上面的命令已将PID为4306的进程终止.(这一步同样可以在任务管理器中执行,httpd.exe就是任务管理器中的映像名称,选中它,点击"结束进程"即可)
tasklist | findstr "4306"
再次确认是否成功终止,如果成功终止此次执行命令后应返回空.
Dim httpd1
Dim httpd2
Dim httpd3
Dim httpd4
Dim httpd5
Dim httpd6
Dim httpd7
Dim httpd8
Dim httpd9Shell.Service.icon = "\status\on.gif"
Shell.Service.RunService "ASPWebserver", "小旋风AspWeb服务器2005", "小旋风AspWeb服务器2005 off"
'---------------------- 服务事件开始 ---------------------Sub OnServiceStart()
Shell.Service.SetTimer 100'----下面信息设置NETBOX的变量,----Set httpd0 = CreateObject("netbox.HttpServer")
Set httpd1 = CreateObject("netbox.HttpServer")
Set httpd2 = CreateObject("netbox.HttpServer")
Set httpd3 = CreateObject("netbox.HttpServer")
Set httpd4 = CreateObject("netbox.HttpServer")
Set httpd5 = CreateObject("netbox.HttpServer")
Set httpd6 = CreateObject("netbox.HttpServer")
Set httpd7 = CreateObject("netbox.HttpServer")
Set httpd8 = CreateObject("netbox.HttpServer")
Set httpd9 = CreateObject("netbox.HttpServer")'------开始分配80端口------If httpd0.Create("", 80) = 0 Then
Set host0 = httpd0.Addhost("", "\wwwroot")
host0.EnableWrite=false
host0.EnableScript = true
host0.AddDefault "default.asp"
host0.AddDefault "default.htm"
host0.AddDefault "default.html"
host0.AddDefault "index.asp"
host0.AddDefault "index.htm"
host0.AddDefault "index.html"httpd0.Start
else
Shell.MsgBox "服务器启动失败,80端口可能被占用!请停止当前WEB服务器或用记事本打开main.box文件修改端口.","错误对话框"
Shell.Quit 0
end if'------开始分配81端口------If httpd1.Create("", 81) = 0 Then
Set host1 = httpd1.Addhost("", "\wwwroot1")
host1.EnableWrite=false
host1.EnableScript = true
host1.AddDefault "default.asp"
host1.AddDefault "default.htm"
host1.AddDefault "default.html"
host1.AddDefault "index.asp"
host1.AddDefault "index.htm"
host1.AddDefault "index.html" else
Shell.MsgBox "服务器启动失败,81端口可能被占用!请停止当前WEB服务器或用记事本打开main.box文件修改端口.","错误对话框"
Shell.Quit 0
end if'------开始分配82端口------If httpd2.Create("", 82) = 0 Then
Set host2 = httpd2.Addhost("", "\wwwroot2")
host2.EnableWrite=false
host2.EnableScript = true
host2.AddDefault "default.asp"
host2.AddDefault "default.htm"
host2.AddDefault "default.html"
host2.AddDefault "index.asp"
host2.AddDefault "index.htm"
host2.AddDefault "index.html" else
Shell.MsgBox "服务器启动失败,82端口可能被占用!请停止当前WEB服务器或用记事本打开main.box文件修改端口.","错误对话框"
Shell.Quit 0
end if'------开始分配83端口------If httpd3.Create("", 83) = 0 Then
Set host3 = httpd3.Addhost("", "\wwwroot3")
host3.EnableWrite=false
host3.EnableScript = true
host3.AddDefault "default.asp"
host3.AddDefault "default.htm"
host3.AddDefault "default.html"
host3.AddDefault "index.asp"
host3.AddDefault "index.htm"
host3.AddDefault "index.html" else
Shell.MsgBox "服务器启动失败,83端口可能被占用!请停止当前WEB服务器或用记事本打开main.box文件修改端口.","错误对话框"
Shell.Quit 0
end if'------开始分配84端口------If httpd4.Create("", 84) = 0 Then
Set host4 = httpd4.Addhost("", "\wwwroot4")
host4.EnableWrite=false
host4.EnableScript = true
host4.AddDefault "default.asp"
host4.AddDefault "default.htm"
host4.AddDefault "default.html"
host4.AddDefault "index.asp"
host4.AddDefault "index.htm"
host4.AddDefault "index.html" else
Shell.MsgBox "服务器启动失败,84端口可能被占用!请停止当前WEB服务器或用记事本打开main.box文件修改端口.","错误对话框"
Shell.Quit 0
end if'------开始分配85端口------If httpd5.Create("", 85) = 0 Then
Set host5 = httpd5.Addhost("", "\wwwroot5")
host5.EnableWrite=false
host5.EnableScript = true
host5.AddDefault "default.asp"
host5.AddDefault "default.htm"
host5.AddDefault "default.html"
host5.AddDefault "index.asp"
host5.AddDefault "index.htm"
host5.AddDefault "index.html" else
Shell.MsgBox "服务器启动失败,85端口可能被占用!请停止当前WEB服务器或用记事本打开main.box文件修改端口.","错误对话框"
Shell.Quit 0
end if'------开始分配86端口------If httpd6.Create("", 86) = 0 Then
Set host6 = httpd6.Addhost("", "\wwwroot6")
host6.EnableWrite=false
host6.EnableScript = true
host6.AddDefault "default.asp"
host6.AddDefault "default.htm"
host6.AddDefault "default.html"
host6.AddDefault "index.asp"
host6.AddDefault "index.htm"
host6.AddDefault "index.html" else
Shell.MsgBox "服务器启动失败,86端口可能被占用!请停止当前WEB服务器或用记事本打开main.box文件修改端口.","错误对话框"
Shell.Quit 0
end if'------开始分配87端口------If httpd7.Create("", 87) = 0 Then
Set host7 = httpd7.Addhost("", "\wwwroot7")
host7.EnableWrite=false
host7.EnableScript = true
host7.AddDefault "default.asp"
host7.AddDefault "default.htm"
host7.AddDefault "default.html"
host7.AddDefault "index.asp"
host7.AddDefault "index.htm"
host7.AddDefault "index.html" else
Shell.MsgBox "服务器启动失败,87端口可能被占用!请停止当前WEB服务器或用记事本打开main.box文件修改端口.","错误对话框"
Shell.Quit 0
end if'------开始分配88端口------If httpd8.Create("", 88) = 0 Then
Set host8 = httpd8.Addhost("", "\wwwroot8")
host8.EnableWrite=false
host8.EnableScript = true
host8.AddDefault "default.asp"
host8.AddDefault "default.htm"
host8.AddDefault "default.html"
host8.AddDefault "index.asp"
host8.AddDefault "index.htm"
host8.AddDefault "index.html" else
Shell.MsgBox "服务器启动失败,88端口可能被占用!请停止当前WEB服务器或用记事本打开main.box文件修改端口.","错误对话框"
Shell.Quit 0
end if'------开始分配89端口------If httpd9.Create("", 89) = 0 Then
Set host9 = httpd9.Addhost("", "\wwwroot9")
host9.EnableWrite=false
host9.EnableScript = true
host9.AddDefault "default.asp"
host9.AddDefault "default.htm"
host9.AddDefault "default.html"
host9.AddDefault "index.asp"
host9.AddDefault "index.htm"
host9.AddDefault "index.html"'------启动------httpd0.Start
httpd1.Start
httpd2.Start
httpd3.Start
httpd4.Start
httpd5.Start
httpd6.Start
httpd7.Start
httpd8.Start
httpd9.Start else
Shell.MsgBox "服务器启动失败,89端口可能被占用!请停止当前WEB服务器或用记事本打开main.box文件修改端口.","错误对话框"
Shell.Quit 0
end if
End Sub '---结束语句---
Sub OnServiceStop()
httpd0.Close
httpd1.Close
httpd2.Close
httpd3.Close
httpd4.Close
httpd5.Close
httpd6.Close
httpd7.Close
httpd8.Close
httpd9.Close
End Sub
'------------------------------------------Sub OnServicePause()
Shell.Service.Icon = "\status\off.gif"
Shell.MsgBox "服务器暂停运行!必要时记得打开噢!","暂停运行"
End Sub'------------------------------------------Sub OnServiceResume()
OnServiceTimer
httpd0.Start
httpd1.Start
httpd2.Start
httpd3.Start
httpd4.Start
httpd5.Start
httpd6.Start
httpd7.Start
httpd8.Start
httpd9.Start
End Sub'----------程序运行时,在图标栏的图片-----------Sub OnServiceTimer
If Shell.Service.icon = "\status\on.gif" Then
Shell.Service.icon = "\status\on1.gif"
Else
Shell.Service.icon = "\status\on.gif"
End If
End Sub'------程序结束------ 参考技术B 80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,这是上网冲浪使用最多的协议,主要用于WWW(World Wide Web)即万维网传输信息的协议。80端口是网站站点的默认端口,如果不是人工设置的话,其他程序是不会去使用此端口的。有可能是你的其他一些关于web的程序设置了80端口,迅雷也会占用80端口。 PS小建议:要装web服务器还是最好用Linux或window 2003,不用IIS的话,Apache是很好的选择。 参考技术C 你是不是新装的ADSL用户,如果是,说明被电信封了。如果不是说明被第三方软件占用了该端口。 参考技术D 把迅雷关了试下。
如何查看端口被是不是被占用
如何查看端口被是否被占用,具体操作时什么样的?
关于如何查看端口是否被占用,可以根据以下步骤来操作:
1、开始---->运行---->cmd,或者是window+R组合键,调出命令窗口;
2、输入命令:netstat -ano,列出所有端口的情况。在列表中观察被占用的端口,比如是49157,首先找到它。
3、查看被占用端口对应的PID,输入命令:netstat -aon|findstr "49157",回车,记下最后一位数字,即PID,这里是2720。
4、继续输入tasklist|findstr "2720",回车,查看是哪个进程或者程序占用了2720端口,结果是:svchost.exe
5、或者是打开任务管理器,切换到进程选项卡,在PID一列查看2720对应的进程是谁,如果看不到PID这一列,如下图:
6、则点击查看--->选择列,将PID(进程标示符)前面的勾打上,点击确定。
7、这样就看到了PID这一列标识,看一下2720对应的进程是谁,如果没有,把下面的显示所有用户的进程前面的勾打上,就可以看到了,映像名称是svchost.exe,描述是,Windows的主进程,与上面命令查看的完全一致。
8、结束该进程:在任务管理器中选中该进程点击”结束进程“按钮,或者是在cmd的命令窗口中输入:taskkill /f /t /im Tencentdl.exe。
参考技术A 在搭建web平台的时候,好多会遇到某个端口被占用的情况,如果想查看是哪个程序占用某一个端口,好结束掉,或者想看看其他开放的端口,则可以用下面的方法(命令用红色字体):查看端口状态:
在开始——运行中输入cmd,在命令行窗口输入 netstat -an ;看到后面为Listening的端口就是开放的端口,如果要查看跟多信息,可以输入 netstat --help;查看帮助。
查看某一个端口被哪个程序占用:
方法一:
1.在开始--运行 里面输入cmd点回车,会出现运行窗口。
2.在提示符后输入netstat -ano回车,找到tcp 80端口对应的pid,比如1484.
3.ctrl+alt+del打开任务管理器,选进程,这里有很多正在运行的程序怎么找?别急点上面的 查看--选择列--在PID(进程标示符)前面打钩。好了,下面的进程前面都有了PID号码。这时上一步找到的PID就有用了,找到1484,比如PEER.EXE什么的,结束进程吧。这时再开服务器,看WEB可以启动了!
方法二:
在windows命令行窗口下执行:
C:\>netstat -aon|findstr "80"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
看到了吗,端口被进程号为2448的进程占用,继续执行下面命令:
C:\>tasklist|findstr "2448"
thread.exe 2016 Console 0 16,064 K
很清楚吧,thread占用了你的端口,Kill it
如果第二步查不到,那就开任务管理器,看哪个进程是2448,然后杀之即可。
如果需要查看其他端口。把 80 改掉即可。 参考技术B 利用命令查看端口及对应程序
利用 netstat 命令查看本机开放端口 netstat 是 windows 自带命令,用于查看系统开放的端口,主要参数只有 -a 和 -n ,前者表示显示所有连接和侦听端口,而后者表示以数字格式显示地址和端口号。
在 “ 命令提示符 ” 中输入 “ netstat -an ”, 即可显示本机所有开放端口。
其中 active connections 是指当前本机活动连接,
proto 是指连接使用的协议名称
local address 是本地计算机 IP 地址和连接正在使用的端口号
foreign address 是指连接此端口的远程计算机的 IP 地址与端口号
state 则表示 TCP 连接状态
注意如果后面的 UDP 协议有异常连接,则可能有木马正使用端口号,正处于监听状态,如冰河木马的默认监听端口号是 7626
利用 netstat 命令查找打开可疑端口的恶意程序
先用命令提示符 " netstat -ano " 命令显示端口状态,再在结果中找到可疑端口,然后根据其 PID 在输入 “ tasklist ” 命令显示中查找其对应程序,就可知道其程序名,进而查明程序的来源,采取适当的措施。
直接查看端口与程序 ( 以上两个命令的结合效果 )
在命令提示符后输入 “ netstat -anb ” 回车,即可显示所有端口及所对应的进程信息,用来查找木马非常方便
用第三方端口查看工具 FPORT
fport 是 foundstone 出品的一个用来查看系统所有打开 TCP/IP 和 UDP 端口,及它们对应程序的完整路径, PID 标识,进程名称等信息的小工具 参考技术C 在windows命令行窗口下执行:
C:\>netstat -aon|findstr "80"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
看到了吗,端口被进程号为2448的进程占用,继续执行下面命令:
C:\>tasklist|findstr "2448"
thread.exe 2016 Console 0 16,064 K
很清楚吧,thread占用了你的端口,Kill it
以上是关于80端口被占用的主要内容,如果未能解决你的问题,请参考以下文章