windows下用cmd命令netstat查看系統端口使用狀況

開始--運行--cmd 進入命令提示符 輸入netstat -ano 便可看到全部鏈接的PID 以後在任務管理器中找到這個PID所對應的程序若是任務管理器中沒有PID這一項,能夠在任務管理器中選"查看"-"選擇列"

常常,咱們在啓動應用的時候發現系統須要的端口被別的程序佔用,如何知道誰佔有了咱們須要的端口,不少人都比較頭疼,下面就介紹一種很是簡單的方法,但願對你們有用

假如咱們須要肯定誰佔用了咱們的9050端口

一、Windows平臺
在windows命令行窗口下執行:
1.查看全部的端口占用狀況windows

C:\>netstat -ano瀏覽器

  協議    本地地址                     外部地址               狀態                   PID服務器

  TCP    127.0.0.1:1434         0.0.0.0:0              LISTENING       3236
  TCP    127.0.0.1:5679         0.0.0.0:0              LISTENING       4168
  TCP    127.0.0.1:7438         0.0.0.0:0              LISTENING       4168
  TCP    127.0.0.1:8015         0.0.0.0:0              LISTENING       1456
  TCP    192.168.3.230:139      0.0.0.0:0              LISTENING       4
  TCP    192.168.3.230:1957     220.181.31.225:443     ESTABLISHED     3068
  TCP    192.168.3.230:2020     183.62.96.189:1522     ESTABLISHED     1456
  TCP    192.168.3.230:2927     117.79.91.18:80        ESTABLISHED     4732
  TCP    192.168.3.230:2929     117.79.91.18:80        ESTABLISHED     4732
  TCP    192.168.3.230:2930     117.79.91.18:80        ESTABLISHED     4732
  TCP    192.168.3.230:2931     117.79.91.18:80        ESTABLISHED     4732網絡

 

2.查看指定端口的佔用狀況
C:\>netstat -aon|findstr "9050"less

  協議    本地地址                     外部地址               狀態                   PIDsocket

  TCP    127.0.0.1:9050         0.0.0.0:0              LISTENING       2016this

P: 看到了嗎,端口被進程號爲2016的進程佔用,繼續執行下面命令: (也能夠去任務管理器中查看pid對應的進程)命令行

3.查看PID對應的進程
C:\>tasklist|findstr "2016"調試

 映像名稱                       PID 會話名              會話#       內存使用
 ========================= ======== ================
  tor.exe                     2016 Console                 0     16,064 K

P:很清楚吧,tor佔用了你的端口。orm

 

4.結束該進程

C:\>taskkill /f /t /im tor.exe

 

 

其餘不懂的用 help吧~

 

 

netstat命令的功能是顯示網絡鏈接、路由表和網絡接口信息,可讓用戶得知目前都有哪些網絡鏈接正在運做。

該命令的通常格式爲:

 

netstat [選項]

 

命令中各選項的含義以下:

 

-a 顯示全部socket,包括正在監聽的。

-c 每隔1秒就從新顯示一遍,直到用戶中斷它。

-i 顯示全部網絡接口的信息,格式同「ifconfig -e」。

-n 以網絡IP地址代替名稱,顯示出網絡鏈接情形。

-r 顯示核心路由表,格式同「route -e」。

-t 顯示TCP協議的鏈接狀況。

-u 顯示UDP協議的鏈接狀況。

-v 顯示正在進行的工做。

 

-A 顯示任何關聯的協議控制塊的地址。主要用於調試

-a 顯示全部套接字的狀態。在通常狀況下不顯示與服務器進程相關聯的套接字

-i 顯示自動配置接口的狀態。那些在系統初始引導後配置的接口狀態不在輸出之列

-m 打印網絡存儲器的使用狀況

-n 打印實際地址,而不是對地址的解釋或者顯示主機,網絡名之類的符號

-r 打印路由選擇表

-f address -family對於給出名字的地址簇打印統計數字和控制塊信息。到目前爲止,惟一支持的地址簇是inet

-I interface 只打印給出名字的接口狀態

-p protocol-name 只打印給出名字的協議的統計數字和協議控制塊信息

-s 打印每一個協議的統計數字

-t 在輸出顯示中用時間信息代替隊列長度信息。

 

netstat命令的列標題

Name 接口的名字

Mtu 接口的最大傳輸單位

Net/Dest 接口所在的網絡

Address 接口的IP地址

Ipkts 接收到的數據包數目

Ierrs 接收到時已損壞的數據包數目

Opkts 發送的數據包數目

Oeers 發送時已損壞的數據包數目

Collisions 由這個接口所記錄的網絡衝突數目

 

netstat的一些經常使用選項:

netstat -s--本選項可以按照各個協議分別顯示其統計數據。若是你的應用程序(如Web瀏覽器)運行速度比較慢,或者不能顯示Web頁之類的數據,那麼你就能夠用本選項來查看一下所顯示的信息。你須要仔細查看統計數據的各行,找到出錯的關鍵字,進而肯定問題所在。

netstat -e--本選項用於顯示關於以太網的統計數據。它列出的項目包括傳送的數據報的總字節數、錯誤數、刪除數、數據報的數量和廣播的數量。這些統計數據既有發送的數據報數量,也有接收的數據報數量。這個選項能夠用來統計一些基本的網絡流量)。

netstat -r--本選項能夠顯示關於路由表的信息,相似於後面所講使用route print命令時看到的 信息。除了顯示有效路由外,還顯示當前有效的鏈接。

netstat -a--本選項顯示一個全部的有效鏈接信息列表,包括已創建的鏈接(ESTABLISHED),也包括監聽鏈接請求(LISTENING)的那些鏈接。

bnetstat -n--顯示全部已創建的有效鏈接。

« AWKPHP經典 »netstat -an中state含義

 

 

netstat -an中state含義

LISTEN:偵聽來自遠方的TCP端口的鏈接請求

SYN-SENT:再發送鏈接請求後等待匹配的鏈接請求

SYN-RECEIVED:再收到和發送一個鏈接請求後等待對方對鏈接請求的確認

ESTABLISHED:表明一個打開的鏈接

FIN-WAIT-1:等待遠程TCP鏈接中斷請求,或先前的鏈接中斷請求的確認

FIN-WAIT-2:從遠程TCP等待鏈接中斷請求

CLOSE-WAIT:等待從本地用戶發來的鏈接中斷請求

CLOSING:等待遠程TCP對鏈接中斷的確認

LAST-ACK:等待原來的發向遠程TCP的鏈接中斷請求的確認

TIME-WAIT:等待足夠的時間以確保遠程TCP接收到鏈接中斷請求的確認

CLOSED:沒有任何鏈接狀態

其實能夠man netstat , 看其中的stat部分解釋

State

The state of the socket. Since there are no states in raw mode and usually no states used in UDP, this column may be left

blank. Normally this can be one of several values:

ESTABLISHED

The socket has an established connection.

SYN_SENT

The socket is actively attempting to establish a connection.

SYN_RECV

A connection request has been received from the network.

FIN_WAIT1

The socket is closed, and the connection is shutting down.

FIN_WAIT2

Connection is closed, and the socket is waiting for a shutdown from the remote end.

TIME_WAIT

The socket is waiting after close to handle packets still in the network.

CLOSED The socket is not being used.

CLOSE_WAIT

The remote end has shut down, waiting for the socket to close.

LAST_ACK

The remote end has shut down, and the socket is closed. Waiting for acknowledgement.

LISTEN The socket is listening for incoming connections. Such sockets are not included in the output unless you specify

the –listening (-l) or –all (-a) option.

CLOSING

Both sockets are shut down but we still don’t have all our data sent.

UNKNOWN

The state of the socket is unknown

相關文章
相關標籤/搜索