1. 程式人生 > >windowsserver檢視伺服器端口占用查詢命令以及伺服器連線數

windowsserver檢視伺服器端口占用查詢命令以及伺服器連線數

Netstat用於顯示與IP、TCP、UDP和ICMP協議相關的統計資料,一般用於檢驗本機各埠的網路連線情況。

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

-a 顯示所有連線和監聽埠。

-b 顯示包含於建立每個連線或監聽埠的可執行元件。在某些情況下已知可執行元件

擁有多個獨立元件,並且在這些情況下包含於建立連線或監聽埠的元件序列被顯示。

這種情況下,可執行元件名在底部的 [] 中,頂部是其呼叫的元件,等等,直到 TCP/IP

部分。注意此選項可能需要很長時間,如果沒有足夠許可權可能失敗。

-e 顯示乙太網統計資訊。此選項可以與 -s

選項組合使用。

-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 選項用於指定預設情況的子集。

-v 與 -b 選項一起使用時將顯示包含於

為所有可執行元件建立連線或監聽埠的

元件。

interval 重新顯示選定統計資訊,每次顯示之間

暫停時間間隔(以秒計)。按 CTRL+C 停止重新

顯示統計資訊。如果省略,netstat 顯示當前

配置資訊(只顯示一次)

(Win2000)

C:\>netstat /?

Displays protocol statistics and current TCP/IP network connections.

NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [interval]

-a Displays all connections and listening ports.

-e Displays Ethernet statistics. This may be combined with the -s

option.

-n Displays addresses and port numbers in numerical form.

-p proto Shows connections for the protocol specified by proto; proto

may be TCP or UDP. If used with the -s option to display

per-protocol statistics, proto may be TCP, UDP, or IP.

-r Displays the routing table.

-s Displays per-protocol statistics. By default, statistics are

shown for TCP, UDP and IP; the -p option may be used to specify

a subset of the default.

interval Redisplays selected statistics, pausing interval seconds

between each display. Press CTRL+C to stop redisplaying

statistics. If omitted, netstat will print the current

configuration information once.

Netstat的一些常用選項

netstat -s——本選項能夠按照各個協議分別顯示其統計資料。如果你的應用程式(如Web瀏覽器)執行速度比較慢,或者不能顯示Web頁之類的資料,那麼你就可以用本選項來檢視一下所顯示的資訊。你需要仔細檢視統計資料的各行,找到出錯的關鍵字,進而確定問題所在。

netstat -e——本選項用於顯示關於乙太網的統計資料。它列出的專案包括傳送的資料報的總位元組數、錯誤數、刪除數、資料報的數量和廣播的數量。這些統計資料既有傳送的資料報數量,也有接收的資料報數量。這個選項可以用來統計一些基本的網路流量。

netstat -r——本選項可以顯示關於路由表的資訊,類似於後面所講使用route print命令時看到的 資訊。除了顯示有效路由外,還顯示當前有效的連線。

netstat -a——本選項顯示一個所有的有效連線資訊列表,包括已建立的連線(ESTABLISHED),也包括監聽連線請求(LISTENING)的那些連線,斷開連線(CLOSE_WAIT)或者處於聯機等待狀態的(TIME_WAIT)等

netstat -n——顯示所有已建立的有效連線。

接下來我們來看一下,微軟是怎麼說的?

微軟公司故意將這個功能強大的命令隱藏起來是因為它對於普通使用者來說有些複雜。我們已經知道:Netstat它可以用來獲得你的系統網路連線的資訊(使用的埠,在使用的協議等 ),收到和發出的資料,被連線的遠端系統的埠,Netstat在記憶體中讀取所有的網路資訊。

在Internet RFC標準中,Netstat的定義是: Netstat是在核心中訪問網路及相關資訊的程式,它能提供TCP連線,TCP和UDP監聽,程序記憶體管理的相關報告。

對於好奇心極強的人來說,緊緊有上面的理論是遠遠不夠的,接下來我們來詳細的解釋一下各個引數的使用,看看執行之後會發生什麼,顯示的資訊又是什麼意思,好了,廢話不說了,讓我們一起來實踐一下吧:)

C:\>netstat -a

Active Connections

Proto Local Address Foreign Address State

TCP Eagle:ftp Eagle:0 LISTENING

TCP Eagle:telnet Eagle:0 LISTENING

TCP Eagle:smtp Eagle:0 LISTENING

TCP Eagle:http Eagle:0 LISTENING

TCP Eagle:epmap Eagle:0 LISTENING

TCP Eagle:https Eagle:0 LISTENING

TCP Eagle:microsoft-ds Eagle:0 LISTENING

TCP Eagle:1030 Eagle:0 LISTENING

TCP Eagle:6059 Eagle:0 LISTENING

TCP Eagle:8001 Eagle:0 LISTENING

TCP Eagle:8005 Eagle:0 LISTENING

TCP Eagle:8065 Eagle:0 LISTENING

TCP Eagle:microsoft-ds localhost:1031 ESTABLISHED

TCP Eagle:1031 localhost:microsoft-ds ESTABLISHED

TCP Eagle:1040 Eagle:0 LISTENING

TCP Eagle:netbios-ssn Eagle:0 LISTENING

TCP Eagle:1213 218.85.139.65:9002 CLOSE_WAIT

TCP Eagle:2416 219.133.63.142:https CLOSE_WAIT

TCP Eagle:2443 219.133.63.142:https CLOSE_WAIT

TCP Eagle:2907 192.168.1.101:2774 CLOSE_WAIT

TCP Eagle:2916 192.168.1.101:telnet ESTABLISHED

TCP Eagle:2927 219.137.227.10:4899 TIME_WAIT

TCP Eagle:2928 219.137.227.10:4899 TIME_WAIT

TCP Eagle:2929 219.137.227.10:4899 ESTABLISHED

TCP Eagle:3455 218.85.139.65:9002 ESTABLISHED

TCP Eagle:netbios-ssn Eagle:0 LISTENING

UDP Eagle:microsoft-ds *:*

UDP Eagle:1046 *:*

UDP Eagle:1050 *:*

UDP Eagle:1073 *:*

UDP Eagle:1938 *:*

UDP Eagle:2314 *:*

UDP Eagle:2399 *:*

UDP Eagle:2413 *:*

UDP Eagle:2904 *:*

UDP Eagle:2908 *:*

UDP Eagle:3456 *:*

UDP Eagle:4000 *:*

UDP Eagle:4001 *:*

UDP Eagle:6000 *:*

UDP Eagle:6001 *:*

UDP Eagle:6002 *:*

UDP Eagle:6003 *:*

UDP Eagle:6004 *:*

UDP Eagle:6005 *:*

UDP Eagle:6006 *:*

UDP Eagle:6007 *:*

UDP Eagle:6008 *:*

UDP Eagle:6009 *:*

UDP Eagle:6010 *:*

UDP Eagle:6011 *:*

UDP Eagle:1045 *:*

UDP Eagle:1051 *:*

UDP Eagle:netbios-ns *:*

UDP Eagle:netbios-dgm *:*

UDP Eagle:netbios-ns *:*

UDP Eagle:netbios-dgm *:*

我們拿其中一行來解釋吧:

Proto Local Address Foreign Address State

TCP Eagle:2929 219.137.227.10:4899 ESTABLISHED

協議(Proto):TCP,指是傳輸層通訊協議(什麼?不懂?請用baidu搜尋"TCP",OSI七層和TCP/IP四層可是基礎^_^)

本地機器名(Local Address):Eagle,俗稱計算機名了,安裝系統時設定的,可以在“我的電腦”屬性中修改,本地開啟並用於連線的埠:2929)

遠端機器名(Foreign Address):219.137.227.10

遠端埠:4899

狀態:ESTABLISHED

狀態列表

LISTEN :在監聽狀態中。

ESTABLISHED:已建立聯機的聯機情況。

TIME_WAIT:該聯機在目前已經是等待的狀態。

-a 引數常用於獲得你的本地系統開放的埠,用它您可以自己檢查你的系統上有沒有被安裝木馬(ps:有很多好程式用來檢測木馬,但你的目的是想成為真正的 hacker,手工檢測要比只按一下“scan”按鈕好些----僅個人觀點)。如果您Netstat你自己的話,發現下面的資訊:

  Port 12345(TCP) Netbus

  Port 31337(UDP) Back Orifice

  *****************************************************************

  #一些原理:也許你有這樣的問題:“在機器名後的埠號代表什麼?

  例子:Eagle:2929

  小於1024的埠通常執行一些網路服務,大於1024的埠用來與遠端機器建立連線。  

  *****************************************************************

繼續我們的探討,使用-n引數。(Netstat -n)

  Netstat -n基本上是-a引數的數字形式:

C:\>netstat -n

Active Connections

Proto Local Address Foreign Address State

TCP 127.0.0.1:445 127.0.0.1:1031 ESTABLISHED

TCP 127.0.0.1:1031 127.0.0.1:445 ESTABLISHED

TCP 192.168.1.180:1213 218.85.139.65:9002 CLOSE_WAIT

TCP 192.168.1.180:2416 219.133.63.142:443 CLOSE_WAIT

TCP 192.168.1.180:2443 219.133.63.142:443 CLOSE_WAIT

TCP 192.168.1.180:2907 192.168.1.101:2774 CLOSE_WAIT

TCP 192.168.1.180:2916 192.168.1.101:23 ESTABLISHED

TCP 192.168.1.180:2929 219.137.227.10:4899 ESTABLISHED

TCP 192.168.1.180:3048 192.168.1.1:8004 SYN_SENT

TCP 192.168.1.180:3455 218.85.139.65:9002 ESTABLISHED

-a 和 -n 是最常用的兩個,據我不完全測試得出以下結果:

1. -n 顯示用數字化主機名,即IP地址,而不是compute_name【eagle】

2. -n 只顯示TCP連線(沒有在哪裡見過微軟的相關文件,有哪個朋友見到的話,記得告訴我喔^_^)

得到IP等於得到一切,它是最容易使機器受到攻擊的東東,所以隱藏自己IP,獲得別人的IP對hacker來說非常重要,現在隱藏IP技術很流行,但那些隱藏工具或服務真的讓你隱身嗎?我看不見得,呵呵,代理,跳板不屬於今天討論,一個獲取對方IP的簡單例子請參考我前面的文章【用DOS命令查QQ好友IP地址

-a 和 -n 是最常用的命令,如果要顯示一些協議的更詳細資訊,就要用-p這個引數了,它其實是-a 和 -n的一個變種,我們來看一個例項,你就明白了:【netstat -p @@@ 其中@@@為TCP或者UDP】

C:\>netstat -p tcp

Active Connections

Proto Local Address Foreign Address State

TCP Eagle:microsoft-ds localhost:1031 ESTABLISHED

TCP Eagle:1031 localhost:microsoft-ds ESTABLISHED

TCP Eagle:1213 218.85.139.65:9002 CLOSE_WAIT

TCP Eagle:2416 219.133.63.142:https CLOSE_WAIT

TCP Eagle:2443 219.133.63.142:https CLOSE_WAIT

TCP Eagle:2907 192.168.1.101:2774 CLOSE_WAIT

TCP Eagle:2916 192.168.1.101:telnet ESTABLISHED

TCP Eagle:2929 219.137.227.10:4899 ESTABLISHED

TCP Eagle:3455 218.85.139.65:9002 ESTABLISHED

繼續我們的引數講解 -e

含義:本選項用於顯示關於乙太網的統計資料。它列出的專案包括傳送的資料報的總位元組數、錯誤數、刪除數、資料報的數量和廣播的數量。這些統計資料既有傳送的資料報數量,也有接收的資料報數量。這個選項可以用來統計一些基本的網路流量。

C:\>netstat -e

Interface Statistics

Received Sent

Bytes 143090206 44998789

Unicast packets 691805 363603

Non-unicast packets 886526 2386

Discards 0 0

Errors 0 0

Unknown protocols 4449

若接收錯和傳送錯接近為零或全為零,網路的介面無問題。但當這兩個欄位有100個以上的出錯分組時就可以認為是高出錯率了。高的傳送錯表示本地網路飽和或在主機與網路之間有不良的物理連線; 高的接收錯表示整體網路飽和、本地主機過載或物理連線有問題,可以用Ping命令統計誤位元速率,進一步確定故障的程度。netstat -e 和ping結合使用能解決一大部分網路故障。

接下來我們開始講解兩個比較複雜的引數 -r 和 -s ,也正因為如此,筆者把他放到最後講解,這裡面可能會涉及到其他方面的知識,以後在我的部落格中將會繼續寫出來,呵呵,最近比較忙

-r是用來顯示路由表資訊,我們來看例子:

C:\>netstat -r

Route Table(路由表)

===========================================================================

Interface List(網路介面列表)

0x1 ........................... MS TCP Loopback interface

0x10003 ...00 0c f1 02 76 81 ...... Intel(R) PRO/Wireless LAN 2100 3B Mini PCI

dapter

0x10004 ...00 02 3f 00 05 cb ...... Realtek RTL8139/810x Family Fast Ethernet

C

===========================================================================

===========================================================================

Active Routes:(動態路由)

Network Destination Netmask Gateway Interface Metric

0.0.0.0 0.0.0.0 192.168.1.254 192.168.1.181 30

0.0.0.0 0.0.0.0 192.168.1.254 192.168.1.180 20

127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1

192.168.1.0 255.255.255.0 192.168.1.180 192.168.1.180 20

192.168.1.0 255.255.255.0 192.168.1.181 192.168.1.181 30

192.168.1.180 255.255.255.255 127.0.0.1 127.0.0.1 20

192.168.1.181 255.255.255.255 127.0.0.1 127.0.0.1 30

192.168.1.255 255.255.255.255 192.168.1.180 192.168.1.180 20

192.168.1.255 255.255.255.255 192.168.1.181 192.168.1.181 30

224.0.0.0 240.0.0.0 192.168.1.180 192.168.1.180 20

224.0.0.0 240.0.0.0 192.168.1.181 192.168.1.181 30

255.255.255.255 255.255.255.255 192.168.1.180 192.168.1.180 1

255.255.255.255 255.255.255.255 192.168.1.181 192.168.1.181 1

Default Gateway: 192.168.1.254(預設閘道器)

===========================================================================

Persistent Routes:(靜態路由)

None

C:\>

-s 引數的作用前面有詳細的說明,來看例子

C:\>netstat -s

IPv4 Statistics (IP統計結果)

Packets Received = 369492(接收包數)

Received Header Errors = 0(接收頭錯誤數)

Received Address Errors = 2(接收地址錯誤數)

Datagrams Forwarded = 0(資料報遞送數)

Unknown Protocols Received = 0(未知協議接收數)

Received Packets Discarded = 4203(接收後丟棄的包數)

Received Packets Delivered = 365287(接收後轉交的包數)

Output Requests = 369066(請求數)

Routing Discards = 0(路由丟棄數 )

Discarded Output Packets = 2172(包丟棄數)

Output Packet No Route = 0(不路由的請求包)

Reassembly Required = 0(重組的請求數)

Reassembly Successful = 0(重組成功數)

Reassembly Failures = 0(重組失敗數)

Datagrams Successfully Fragmented = 0(分片成功的資料報數)

Datagrams Failing Fragmentation = 0(分片失敗的資料報數)

Fragments Created = 0(分片建立數)

ICMPv4 Statistics (ICMP統計結果)包括Received和Sent兩種狀態

Received Sent

Messages 285 784(訊息數)

Errors 0 0(錯誤數)

Destination Unreachable 53 548(無法到達主機數目)

Time Exceeded 0 0(超時數目)

Parameter Problems 0 0(引數錯誤)

Source Quenches 0 0(源夭折數)

Redirects 0 0(重定向數)

Echos 25 211(迴應數)

Echo Replies 207 25(回覆迴應數)

Timestamps 0 0(時間戳數)

Timestamp Replies 0 0(時間戳回覆數)

Address Masks 0 0(地址掩碼數)

Address Mask Replies 0 0(地址掩碼回覆數)

TCP Statistics for IPv4(TCP統計結果)

Active Opens = 5217(主動開啟數)

Passive Opens = 80(被動開啟數)

Failed Connection Attempts = 2944(連線失敗嘗試數)

Reset Connections = 529(復位連線數)

Current Connections = 9(當前連線數目)

Segments Received = 350143(當前已接收的報文數)

Segments Sent = 347561(當前已傳送的報文數)

Segments Retransmitted = 6108(被重傳的報文數目)

UDP Statistics for IPv4(UDP統計結果)

Datagrams Received = 14309(接收的資料包)

No Ports = 1360(無埠數)

Receive Errors = 0(接收錯誤數)

Datagrams Sent = 14524(資料包傳送數)

C:\>

參考:http://www.cnblogs.com/jsdmz/archive/2011/10/31/2230313.html