查看系统端口是否被占用

在Windows XP中要查看系统端口,可以使用Netstat命令,点击开始---运行---键入cmd,打开命令提示符窗口,在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态。

    如何关闭端口:
    在默认的情况下,有很多不安全的或没有什么用的端口是开启的,比如Telnet服务的23端口、FTP服务的21端口、SMTP服务的25端口、RPC服务的135端口等,为了系统的安全性,我们可以通过下面的方法来关闭端口:
    比如关闭SMTP服务的25端口,可以这样做:打开控制面板----管理工具----服务,接着在打开的服务窗口中找到并双击“Simple Mail Transfer Protocol (SMTP)”服务,单击“停止”按钮来停止该服务,然后在“启动类型”中选择“已禁用”,最后单击“确定”按钮即可。这样,关闭了SMTP服务就相当于关闭了对应的端口。
    还有种方法就是直接打开系统盘C:\WINDOWS\SYSTEM32\drivers\etc目录下的services文件,用记事本打开,你可以看到自己开放的所有端口,如果想关掉此端口,只要在前面加上“#”号就可以了。

补:Netstat命令用法:

命令格式:Netstat -a -e -n -o -s
-a 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。
-e 表示显示以太网发送和接收的字节数、数据包数等。
-n 表示只以数字形式显示所有活动的TCP连接的地址和端口号。
-o 表示显示活动的TCP连接并包括每个连接的进程ID(PID)。
-s 表示按协议显示各种连接的统计信息,包括端口号

 ----------------------------------------------------------------------------------------------------------------------------------------------

 进入CMD,输入netstat -ano就可以很清楚的看到本地80口占用程序的PID,然后再去任务管理器里查找到PID所对应的进程(如果任务管理器没有PID,查看-->选择列),原来是迅雷5给占用了,再去迅雷里查看设置,竟然BT的默认TCP传输端口是80,改掉设置,IIS启动正常了。。。 

 

-------------------------------------------------------------------------------------------------------------------

 

如何查看80端口被占用

开始--运行--cmd 

                       

--cmd 

 

进入命令提示符,输入netstat -ano 

 

 即可看到所有连接的PID 

 

之后启动任务管理器

 

 

找到这个PID所对应的程序

 

如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"

 

勾选pid,确定即可显示

 

 

 

经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用


假如我们需要确定谁占用了我们的80端口
1、Windows平台
在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 改掉即可


补充:原来出现这个错误原因(httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.111 for ServerName)是因为DNS没配置好. 如果不想配置DNS, 就在httpd.conf , 在最前加入 ServerName localhost:80 即可

 

 

 

另外360安全卫士中的【流量监控】,查看网络连接就可以看一些端口的情况。

 

【如何查看系统端口 与进程 的关联】

 

一、根据进程查端口号

“开始”-“运行”-输入“cmd.exe”

键入“tasklist”命令:列出系统正在运行的进程列表,把你要查的进程所对应的“PID”号记下或复制。

说明:相同的进程每次运行的“PID”号一般都不会相同,所以一旦该进程重启后,该“PID”号就会改变,这就需要重新查看。

再键入“netstat -ano   findstr 1140”命令

“findstr 1140”表示查找进程PID为“1140”的TCP连接以及TCP、UDP端口的侦听情况

可用 netstat/? 查看netstat的参数意义

二、根据端口号查进程

输入“netstat -ano”命令,列出系统当前的端口列表

再输入“tasklist /fi ″PID eq 788 ″

788 为进程PID

三、查出进程对应的程序

下面的操作就需要用到Windows 2000(Server或Professional版都可以)安装光盘中的一个工具。

首先在安装光盘的“SupportTools”目录下,用解压软件打开“support.cab”压缩包,找到“tlist.exe”文件,将此文件释放到任一目录,如“D:Support”。然后在命令提示符窗口中切换到此目录,运行“tlist.exe”命令,把要查的进程对应的PID号记下或复制(第一列就是进程的PID号),然后继续输入“tlist.exe 2012”命令(你输入的时候,需要将刚才记下的PID号替换掉这里的2012),“CmdLine ”后面显示的就是该进程对应的软件所在的目录。

除此之外,返回信息中还列出了该进程所调用的文件,得到了这些信息就可以很容易查出进程对应的程序了。

假如想关闭某个进程,可把该进程的PID号记下,在命令提符下输入“taskkill /pid 2400” 2400是PID号)就可以将PID号为2400的进程关闭,如果要强制关闭该进程,只须在这条命令的后面加个“/f”参数即可。

 

 

查看系统端口占用情况 收藏

开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"

 

        经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用

 

假如我们需要确定谁占用了9050端口

 

1、Windows平台

在windows命令行窗口下执行:

 

C:\>netstat -aon|findstr "9050"TCP    127.0.0.1:9050         0.0.0.0:0              LISTENING       2016

看到了吗,端口被进程号为2016的进程占用,继续执行下面命令:

 

C:\>tasklist|findstr "2016"tor.exe                    

2016 Console                 0     16,064 K这样就找到占用此端口的程序了..

 ------------------------------------------------------------------------------------------------------------------------------------------------------

 

80端口被占用怎么办?


如果系统中存在端口冲突就有可能发生本情况. IIS默认使用80端口进行HTTP通信. 如果除IIS外的应用程序正在运行并且正在相同的IP地址上使用80端口,在您试图使用IIS管理器启动网站时您也可能收到该错误讯息.


解决方法
要解决这个问题,您可以进行以下任一项操作:
• 在IIS管理器中更改网站绑定端口为除80端口外的其它端口.
• 停止正在使用80端口的应用程序,然后从IIS管理器中启动网站.
80端口被占用的解决方法

80端口被占用
今天装完Apache后,发现80端口被占用了:
Information not available (might be Skype).

可能是迅雷哦!呵呵

 

                       

 


点击上图右侧的“随机生成”按钮(工具-配置-BT/端口设置),换个TCP端口即可搞定。

要想知道某个端口被哪个应用程序占用了,有两种方法:

1.Netstat命令

1)“运行”中输入cmd
2)在命令行中输入netstat -ano,得到端口号对应的PID

3)打开任务管理器,点击“查看“菜单,选择“选择列”,给进程列表中添加”PID“列,然后找到PID对应的进程就可以了。

 

 

posted @ 2013-10-18 09:49  园封记忆  阅读(16348)  评论(0编辑  收藏  举报