返回列表

转载:windows和Linux系统如何查看本地端口,释放80端口

默认分类 2013/09/27 01:02

原文地址:http://www.cnblogs.com/wanghaosoft/archive/2013/01/11/find80.html

一、查看本地机器全部端口占用情况

开始>命令行提示符>cmd打开dos命令行(快捷键,win+R)

C:\Users\lenovo>netstat -aon

活动连接

协议  本地地址       外部地址        状态           PID  

TCP  0.0.0.0:80      0.0.0.0:0       LISTENING       4000  
TCP  0.0.0.0:135     0.0.0.0:0       LISTENING       908  
TCP  0.0.0.0:445     0.0.0.0:0       LISTENING       4  
TCP  0.0.0.0:1025    0.0.0.0:0       LISTENING       604  
TCP  0.0.0.0:1026    0.0.0.0:0       LISTENING       1028   
TCP  0.0.0.0:1027    0.0.0.0:0       LISTENING       1092  
TCP  0.0.0.0:1028    0.0.0.0:0       LISTENING       672  
TCP  0.0.0.0:1038    0.0.0.0:0       LISTENING       664  
TCP  0.0.0.0:3306    0.0.0.0:0       LISTENING       2424  
TCP  127.0.0.1:1029  127.0.0.1:4573  ESTABLISHED     2268  
TCP  127.0.0.1:2731  0.0.0.0:0       LISTENING       3356  

二、使用命令查找端口,以80端口为例

netstat -aon | findstr "端口"

>>netstat -aon | findstr "80"
Proto  Local Address          Foreign Address        State            PID 
TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       4000 

可以看出1458端口被进程号为1688的程序占用.

tasklist | findstr "4000" 

进程名称 PID 会话名 会话# 内存使用
httpd.exe 4000 Services 0 10,664 K

很明显,是httpd占用了4000端口;httpd.exe是apache服务器的进程, 当然,并不是只有httpd.exe进程会占用80端口,这只是我机器上的情况,一般迅雷,qq音乐等进程会占用80端口,结束占用80端口的进程即可。
终止进程.

taskkill /pid 4000/F

成功: 已终止 PID 为 4000的进程。
如果你很熟悉此进程,并确定可以终止,那么就直接使用上面的命令把PID为1688的进程终止.(这一步同样可以在任务管理器中执行,inetinfo.exe就是任务管理器中的映像名称,选中它,点击"结束进程"即可)

>>**tasklist | findstr "4000"  

再次确认是否成功终止,如果成功终止此次执行命令后应返回空.

三、linux下如何查看80端口占用情况?是被哪个进程占用?如何终止等

查询端口是否被占用,被哪个进程占用有两种方式:
1、netstat 命令

[root@AY12122501352213a7156 lsof_4.76_src]# netstat -apn |grep 80   
tcp  0  0 0.0.0.0:80  0.0.0.0:  LISTEN  25794/httpd         
unix  2  [ ]  DGRAM  3580   1303/klogd

如果80端口被占,则结束所占80端口进程,然后重新启动apache服务。如上,我的80端口是apache 的服务占用,25794/httpd ,前面是进程号,后面进程名称。

[root@AY12122501352213a7156 lsof_4.76_src]#** kill -9 25794 ** 

2、lsof命令 [root@AY12122501352213a7156 ~]# lsof -i:80

COMMAND   PID   USER   FD   TYPE DEVICE SIZE NODE NAME
httpd   25797 apache    3u  IPv4 256902       TCP *:http (LISTEN)
httpd   25798 apache    3u  IPv4 256902       TCP *:http (LISTEN)
httpd   25799 apache    3u  IPv4 256902       TCP *:http (LISTEN)
httpd   25800 apache    3u  IPv4 256902       TCP *:http (LISTEN)
httpd   25801 apache    3u  IPv4 256902       TCP *:http (LISTEN)
httpd   25802 apache    3u  IPv4 256902       TCP *:http (LISTEN)
httpd   25803 apache    3u  IPv4 256902       TCP *:http (LISTEN)   

lsof的安装以及命令详解请看http://www.cnblogs.com/wanghaosoft/archive/2013/01/11/2857216.html 终止进程的方式:kill pid

windows更多查看网络参数命令:

显示协议统计和当前 TCP/IP 网络连接。

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]

-a 显示所有连接和侦听端口。

-b 显示在创建每个连接或侦听端口时涉及的可执行程序。 在某些情况下,已知可执行程序承载多个独立的 组件,这些情况下,显示创建连接或侦听端口时涉 及的组件序列。此情况下,可执行程序的名称 位于底部[]中,它调用的组件位于顶部,直至达 到 TCP/IP。注意,此选项可能很耗时,并且在您没有 足够权限时可能失败。

-e 显示以太网统计。此选项可以与 -s 选项结合使用。

-f 显示外部地址的完全限定域名(FQDN)。 -n 以数字形式显示地址和端口号。

-o 显示拥有的与每个连接关联的进程 ID。

-p proto 显示 proto 指定的协议的连接;proto 可以是下列任 何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s 选 项一起用来显示每个协议的统计,proto 可以是下列任 何一个: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。

-r 显示路由表。

-s 显示每个协议的统计。默认情况下,显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计;

-p 选项可用于指定默认的子网。

-t 显示当前连接卸载状态。 interval 重新显示选定的统计,各个显示间暂停的间隔秒数。 按 CTRL+C 停止重新显示统计。如果省略,则 netstat 将打印当前的配置信息一次。