一、查看本地機器全部端口占用情況
開始>命令行提示符>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 "端口"
C:\Users\17le.com.cn>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的程序占用.
C:\Users\17le.com.cn>>tasklist | findstr "4000"
進程名稱 PID 會話名 會話# 內存使用
httpd.exe 4000 Services 0 10,664 K
很明顯,是httpd占用了4000端口;httpd.exe是apache服務器的進程, 當然,並不是只有httpd.exe進程會占用80端口,這只是我機器上的情況,一般迅雷,qq音樂等進程會占用80端口,結束占用80端口的進程即可。終止進程.
C:\Users\17le.com.cn>taskkill /pid 4000/F
成功: 已終止 PID 為 4000的進程。
如果你很熟悉此進程,並確定可以終止,那么就直接使用上面的命令把PID為1688的進程終止.(這一步同樣可以在任務管理器中執行,inetinfo.exe就是任務管理器中的映像名稱,選中它,點擊"結束進程"即可)
C:\Users\17le.com.cn>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 將打印當前的配置信息一次。