首頁 >php教程 >PHP开发 >Netstat指令詳解(windows下)

Netstat指令詳解(windows下)

高洛峰
高洛峰原創
2016-12-15 09:12:461408瀏覽

Netstat 用於顯示與IP 、TCP 、UDP 和ICMP 協定相關的統計數據,一般用於檢驗本機各連接埠的網路連線狀況。 

     如果你的電腦有時候接收到的資料封包導致出錯資料或故障,你不必感到奇怪,TCP/IP 可以容許這些類型的錯誤,並且能夠自動重發資料封包。但如果累積的出錯情況數目占到所接收的IP 資料報相當大的百分比,或者它的數目正迅速增加,那麼你就應該使用Netstat 查一查為什麼會出現這些情況了。

Netstat 詳細參數清單

(Winxp )

C:>netstat /?

顯示協定統計資訊與目前 TCP/IP 網路連線。

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

  -a        和監聽端口。 
  -b            顯示包含於建立每個連接或監聽連接埠的可執行元件。在某些情況下已知可執行元件
                則有多個獨立元件,且在這些情況下包含於建立連接或監聽埠的元件序列顯示。 
              地注意此選項可能需要很長時間,如果沒有足夠權限可能會失敗。 
  -e            顯示乙太網路統計資料。此選項可與 -s
                選項合併使用。 
  -n            以數位顯示位址和連接埠號碼。 
  -o            顯示每個連結相關的所屬流程 ID 。 
  -p proto      顯示 proto 指定的協定的連線;proto 可為 
             
                若與 -s 選項使用以顯示依協定統計資料,proto 可為下列協定者TCP 、TCPv6 、UDP 或 UDPv6 。 
  -r            顯示路由表。 
  -s            顯示以協定統計資料。預設地,顯示 IP 、 
                IPv6 、ICMP 、ICMPv6 、TCP 、TCPv     -p 選項用於指定預設情況的子集。 
  -v            與 -b 使用時將顯示包含於 
                   組件。 
  interval      重新顯示選定統計訊息,且每次顯示之間 
                且有暫停時間間隔(為秒計)        暫停時間間隔(以秒計) 。按 CTRL+C 停止重新 
                則以顯示統計資料。若省略,netstat 顯示目前 
                已的資料( 只顯示一次)

(Win2000 )
.

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

  -a            顯示所有連接與偵聽連接埠。
  -e            顯示乙太網路統計資料。這可以與 -s
                選項。
  -n            以數位形式顯示位址及連接埠號碼。
  -p proto      顯示 proto 指定的協定的連線; proto
                可能為 TCP 或 UDP。  如果與 -s 選項一起使用來顯示
                有關每個協定的統計訊息,且協定可能是 TCP、UDP 或 IP。
  -r            顯示路由表。
  -s             顯示每個協定的統計資料。  預設情況下,顯示 TCP、UDP 和 IP 的統計資料
               ; -p 選項可用於指定
        
  間隔      重新顯示選定的統計訊息,在每次顯示之間暫停間隔秒數
               。  依 CTRL+C 停止重新顯示
                統計資料。  若省略,netstat會列印一次目前
                設定資訊。

Netstat的一些常用選項
netstat -s ——本選項能夠按照各個協定分別顯示其統計資料。如果你的應用程式(如網頁瀏覽器)運作速度比較慢,或是無法顯示網頁之類的數據,那麼你就可以用選項來本查看一下所顯示的資訊。你需要仔細查看統計數據的各行,找到錯誤的關鍵字,進一步確定問題所在。

netstat -e——此選項用於顯示負載的統計資料。其推出的項目包括傳送資料封包的總位元組數、錯誤數、刪除數、資料封包的數量和廣播的數量。這些統計資料主要發送的資料報數量,也有接收的資料報數量。這個選項可以用來統計一些基本的網路流量。

netstat -r——本選項可以顯示關於路由表的信息,相似後面所講使用路由打印命令時看到的信息。除了顯示有效路由外,還顯示目前有效的連線。

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

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

 

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

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

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

C:>netstat -a

活躍連接

  原始本地地址          國外地址        狀態
  TCP    Eagle:ftp         Eagle:telnet           Eagle:0               的偵測        監聽
  TCP    Eagle:http             Eagle:0            Eagle: 0監聽
  TCP    Eagle:https            Eagle:0                     監聽
  TCP    Eagle:1030             的鷹:0          鷹:0               TCP    鷹:8001           :8005             Eagle :0                監聽
  TCP    Eagle:8065             Eagle:microsoft-ds     localhost:1031        已建立
  TCP    Eagle:1031                Eagle:0                且正在監聽
  TCP Eagle: netbios-ssn      Eagle:0               監聽
  TCP    Eagle:1213      E_WAIT
  TCP    Eagle:2416             219 .133.63.142:https   CLOSE_WAIT
  TCP  33.63.142:https   CLOSE_WAIT
  TCP    Eagle:2907             192.168.1.101 :2774     CLOSE_WAIT
  TCP    Eagle:2916             192.168.1.101:telnet     192.168.1.101:telnet     192.168.1.101:telnet        219.137.227.10:4899    TIME_WAIT
  TCP    Eagle:2928            Eagle:2929             219.137.227.10:4899    建立
TCP    Eagle :3455             218.85.139.65:9002     建立
  TCP    Eagle:netbios-ssn      Eagle:0                監聽
  UDP    Eagle:microsoft-ds     *:*
  UDP    Eagle:1046             *:*
  UDP    Eagle:1050             * : *
  UDP    鷹:1073             *:*
  UDP    鷹:1938             * :*
  UDP    鷹:2314             *:*
  UDP    鷹:2399             *:*
  UDP    鷹:2413             *:*
  UDP    鷹:2904             *:*
  UDP    鷹:2908             *:*
  UDP    鷹:3456             *:*
  UDP    Eagle:4000             *:*
  UDP    Eagle:4001             *:*
  UDP    Eagle:6001             * :*🎠    Eagle:6003             *:*
  UDP鷹:6004             *:*
  UDP    鷹:6005            *:*
  UDP    鷹:6007             *:*
 UDP                  *:*
  UDP    以鷹: 6010             *:*
  UDP    鷹號:6011             *:*
  UDP    鷹號:1051             *:*UDP
    Eagle:netbios-ns  :*
  UDP Eagle:netbios-ns       *:*
  UDP    Eagle:netbios-dgm      *:*

       狀態
TCP    Eagle:2929             219.137.227.10:4899    219.137.227.10:4899    建立

 

協定(Proto ):TCP ,指的是傳輸層通訊協定(什麼?不懂?請用百度搜尋「TCP」 ,OSI 七層和TCP/IP 四層但基礎^_^ ) 🟒本地本地機器名(本地地址):Eagle,俗稱電腦名了,安裝系統時設定的,可以在「我的電腦」屬性中修改,本地並打開用於連接的連接埠:2929)    

遠端機器名稱(國外位址): 219.137。 

TIME_WAIT :連線目前已處於等待的狀態。

-a 參數常用於獲得你的本地系統開放的端口,用它您可以自己檢查你的系統上有沒有被安裝木馬(ps :有很多好程序用來檢測木馬,但你的目的是想成為真正的hacker ,手動檢測要比只按一下「scan 」按鈕好---- 僅個人觀點)。如果您Netstat 你自己的話,發現下面的資訊: 
   
   Port 12345(TCP) Netbus 
   Port 31337(UDP) BackO〠〠與木〠 ^ ,上面4899 是我連別人的,而且這個radmin 是商業軟體,目前我最喜歡的遠端控制軟體) 
  如果你需要木馬及其連接埠列表的話,去國內的H 站找找,或者baidu ,google 吧 
************************************************** ********* 
   
  # 一些原理:也許你有這樣的問題:「在機器名稱後的連接埠號碼代表什麼? 
  範例: Eagle:2929
    範例網路服務大於1024 的連接埠用來與遠端機器建立連線。 ****************************

 

繼續我們的探討,使用-n 參數。 n 

C:>netstat -n

Active Connections


  Proto  Local Address    7.0.0.1:445          127.0.0.1:1031         ESTABLISHED

  TCP        ESTABLISHED

  TCP    127.0. 0.1:1031         127.0.0.1:445          ESTABLISHED

  TCP    192.168.1.180:15    CLOSE_WAIT

  TCP    192.168.1.180:2416     219.133.63.142:443    219.133.63.142:443     CLOSE_WAIT

  TCP 192.168.1.180:2907     192.168.1.101:2774     CLOSE_WAIT

  TCP       ESTABLISHED

  TCP    192.168.1.180:2929     219.137.227.10:4899    ESTABLISHED 92.168.1.1:8004       SYN_SENT

  TCP    192.168.1.180:3455     218.85.139.65:9002    
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:micro   Eagle:1031             localhost:microsoft-ds  ESTABLISHED
  TCP    Eagle:1213    
  TCP    Eagle:2416             219.133.63.142:https CLOSE_WAIT
  TCP    Eagle:2443             219.133.63.142:https   CLOSE_WAIT🠎  TCP .168.1.101:2774     CLOSE_WAIT
  TCP    Eagle:2916                       219.137.227.10:4899    ESTABLISHED
  TCP    Eagle:3455 218.85.139.65:9002     ESTABLISHED

  

  繼續我們的參數解說 -e

    延續我們的參數解說 -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: (動態路由) 
          Netmask       .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 9  192.168.1  30
    192.168.1.180  255.255.255.255        127.0.0.1         127.0.0.1         127.0.0.1         127.0.0.1        68.1.181  255.255.255.255        127.0.0.1       127.0.0.1         127.0.0.1         127.0.0.1     255.255.255.255    192.168.1.180   192.168.1.180        68.1.181   192.168.1.181       30
        224.0.0.0         224.0.0.0         224.0.0.010. 8.1.180       20
          20
        224.0.0.0        240.0.0.0 21 1.181       30
  255.255.255.255  255.255.255.255    192.168.1.180   192.1   .255.255.255  255.255.255.255    192.168.1.181   192.168.1.181       192.168.1.181       192.168.1.181       192.168.1.181   
======== ==================================================== =================
Persistent Routes: (靜態路由) 
  None

C:>

 

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

C:>netstat -s

IPv4 Statistics        (IP 統計結果)     

  Packets Received                   = 369492 (接收包數) 
   eived Address Errors            = 2 (接收位址錯誤數) 
  Datagrams Forwarded              = 0 (未知協定接收數) 
  Received Packets Discarded         = 4203 (接收後的包數) 發送後碼                    = 369066 (請求數量) 
  Routing Discards     路線丟棄數) 
  Discarded Output Packets           = 2172 (丟棄數) 
  Output Packet No Route                   = 0 (重組的請求數 ) 
  Reassembly Successful        
  Reassembly Failures                = 0 (重組失敗數) 
  Datagram  (分片失敗的資料封包數 ) 
  Fragments Created                  = 0 (以分割數)

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

                            Received           784 (訊息數 ) 
  Errors                             548 (無法到達主機數目) 
  Time Exceeded             0     0           0 (參數錯誤) 
  Source Quenches           0          0 (重新導向數) 
  Echos                     25          207         25 (回覆回應數) 
  Timestamps                     0           0 (時間戳回覆數) 
  Address Masks             0             0 (位址遮罩回覆數)

TCP Statistics for IPv4 (TCP 統計結果)

  Active Opens            ) 
  Passive Opens                       = 80 (被動式開啟數    
  Reset Connections                   = 529 (重複連接數 ) 
       Segments Received                   = 350143 (目前收到的封包數) 

  Segments Sent                       = 347561   = 6108 (重傳的封包數目)

UDP Statistics for IPv4 (UDP 統計結果)


  Datagrams Received = 14309 (收到的資料包) 
  No Ports              = 1360 (無連接埠數) 
      = 14524 (資料包傳送數)

C:>

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn