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] [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)
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
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 *:*
我們拿其中一行來解釋吧:
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
祝賀!您中了最常見的木馬(^_^,上面4899是我連别人的,而且這個radmin是商業軟體,目前我最喜歡的遠端控制軟體)
如果你需要木馬及其端口清單的話,去國内的H站找找,或者baidu,google吧
*****************************************************************
#一些原理:也許你有這樣的問題:“在機器名後的端口号代表什麼?
例子:Eagle:2929
小于1024的端口通常運作一些網絡服務,大于1024的端口用來與遠端機器建立連接配接。
*****************************************************************
繼續我們的探讨,使用-n參數。(Netstat -n)
Netstat -n基本上是-a參數的數字形式:
C:\>netstat -n
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連接配接(沒有在哪裡見過微軟的相關文檔,有哪個朋友見到的話,記得告訴我喔^_^)
-a 和 -n 是最常用的指令,如果要顯示一些協定的更詳細資訊,就要用-p這個參數了,它其實是-a 和 -n的一個變種,我們來看一個執行個體,你就明白了:【netstat -p @@@ 其中@@@為TCP或者UDP】
C:\>netstat -p tcp
繼續我們的參數講解 -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(資料包發送數)
本文轉自 h2appy 51CTO部落格,原文連結:http://blog.51cto.com/h2appy/600185,如需轉載請自行聯系原作者