-
Netstat
鎖定
Netstat是控制枱命令,是一個監控TCP/IP網絡的非常有用的工具,它可以顯示路由表、實際的網絡連接以及每一個網絡接口設備的狀態信息。Netstat用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用於檢驗本機各端口的網絡連接情況。
如果你的計算機有時候接收到的數據包導致出錯數據或故障,你不必感到奇怪,TCP/IP可以容許這些類型的錯誤,並能夠自動重發數據包。但如果累計的出錯情況數目佔到所接收的IP數據報相當大的百分比,或者它的數目正迅速增加,那麼你就應該使用Netstat查一查為什麼會出現這些情況了。
一般用netstat -an 來顯示所有連接的端口並用數字表示。
netstat命令的功能是顯示網絡連接、路由表和網絡接口信息,可以讓用户得知有哪些網絡連接正在運作。
[1]
使用時如果不帶參數,netstat顯示活動的 TCP 連接。
Netstat格式
該命令的一般格式為 :
netstat [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-x] [-t] [interval]
Netstat選項
命令中各選項的含義如下:
-n 以數字形式顯示地址和端口號。
-t 顯示當前連接卸載狀態。
-v 顯示正在進行的工作。
-p proto 顯示proto指定的協議的連接。
-b 顯示在創建每個連接或偵聽端口時涉及的可執行程序。
-e 顯示以太網統計。此選項可以與 -s 選項結合使用。
-f 顯示外部地址的完全限定域名(FQDN)。
-o 顯示擁有的與每個連接關聯的進程PID。
-q 顯示所有連接、偵聽端口和綁定的非偵聽 TCP 端口。
-s 顯示每個協議的統計。
-x 顯示 NetworkDirect 連接、偵聽器和共享端點。
-y 顯示所有連接的 TCP 連接模板。無法與其他選項結合使用。
interval 重新顯示選定的統計,各個顯示間暫停的 間隔秒數。按 CTRL+C 停止重新顯示統計。如果省略,則 netstat 將打印當前的配置信息一次。
Netstat列標題
Mtu 接口的最大傳輸單位
Net/Dest 接口所在的網絡
Address 接口的IP地址
Ipkts 接收到的數據包數目
Ierrs 接收到時已損壞的數據包數目
Opkts 發送的數據包數目
Oeers 發送時已損壞的數據包數目
Collisions 由這個接口所記錄的網絡衝突數目
Netstat常用選項
netstat -a
——本選項顯示一個所有的有效連接信息列表,包括已建立的連接(ESTABLISHED),也包括監聽連接請求(LISTENING)的那些連接。
netstat -b
該參數可顯示在創建網絡連接和偵聽端口時所涉及的可執行程序。
netstat -s
——本選項能夠按照各個協議分別顯示其統計數據。如果你的應用程序(如Web瀏覽器)運行速度比較慢,或者不能顯示Web頁之類的數據,那麼你就可以用本選項來查看一下所顯示的信息。你需要仔細查看統計數據的各行,找到出錯的關鍵字,進而確定問題所在。
netstat -e
——本選項用於顯示關於以太網的統計數據,它列出的項目包括傳送數據報的總字節數、錯誤數、刪除數,包括髮送和接收量(如發送和接收的字節數、數據包數
[1]
),或有廣播的數量。可以用來統計一些基本的網絡流量。
netstat -r
——本選項可以顯示關於路由表的信息,類似於後面所講使用routeprint命令時看到的信息。除了顯示有效路由外,還顯示當前有效的連接。
netstat -n
——顯示所有已建立的有效連接。
netstat -p
——顯示協議名查看某協議使用情況
Netstat常見狀態
即連接狀態。在原模式中沒有狀態,在用户數據報協議中也經常沒有狀態,於是狀態列可以空出來。若有狀態,通常取值為:
LISTEN
偵聽來自遠方的TCP端口的連接請求
SYN-SENT
在發送連接請求後等待匹配的連接請求
SYN-RECEIVED
在收到和發送一個連接請求後等待對方對連接請求的確認
ESTABLISHED
代表一個打開的連接
FIN-WAIT-1
FIN-WAIT-2
從遠程TCP等待連接中斷請求
CLOSE-WAIT
等待從本地用户發來的連接中斷請求
CLOSING
等待遠程TCP對連接中斷的確認
LAST-ACK
等待原來的發向遠程TCP的連接中斷請求的確認
TIME-WAIT
等待足夠的時間以確保遠程TCP接收到連接中斷請求的確認
CLOSED
沒有任何連接狀態
Netstat命令示例
該命令(Winxp下)的一般格式為 :
C:\>netstat /?
顯示協議統計信息和當前 TCP/IP網絡連接。
NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v]
-a 顯示所有連接和監聽端口。
-b 顯示包含於創建每個連接或監聽端口的可執行組件。在某些情況下已知可執行組件擁有多個獨立組件,並且在這些情況下包含於創建連接或監聽端口的組件序列被顯示。
這種情況下,可執行組件名在底部的 [] 中,頂部是其調用的組件,等等,直到 TCP/IP部分。注意此選項可能需要很長時間,如果沒有足夠權限可能失敗。
-e 顯示以太網統計信息。此選項可以與 -s選項組合使用
-n 以數字形式顯示地址和端口號。 此選項可以與 -a選項組合使用
-o 顯示與每個連接相關的所屬進程 ID。
-p proto 顯示 proto 指定的協議的連接;proto 可以是下列協議之一: TCP、UDP、TCPv6 或 UDPv6。
如果與 -s 選項一起使用以顯示按協議統計信息,proto 可以是下列協議之一:
-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] -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在內存中讀取所有的網絡信息。
Netstat實錄
用實例詳細的解釋一下各個參數的使用:
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 *:*
Netstat詳細信息
我們拿其中一行來解釋吧:
Proto Local Address Foreign Address State TCP Eagle:2929 219.137.227.10:4899 ESTABLISHED
協議(Proto):TCP,指是傳輸控制協議。
遠程機器名(Foreign Address):219.137.227.10
遠程端口:4899
狀態:ESTABLISHED
狀態列表
LISTEN :在監聽狀態中。
ESTABLISHED:已建立聯機的聯機情況。
-a 參數常用於獲得你的本地系統開放的端口,用它您可以自己檢查你的系統上有沒有被安裝木馬
如果您Netstat你自己的話,發現下面的信息:
Port 12345(TCP) Netbus Port 31337(UDP) Back Orifice
Netstat相關
繼續我們的探討,使用-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 是最常用的兩個,據我不完全測試得出以下結果:
2. -n 只顯示TCP連接
得到IP等於得到一切,它是最容易使機器受到攻擊的東西,所以隱藏自己IP,獲得別人的IP對hacker來説非常重要.
-a 和 -n 是最常用的命令,如果要顯示一些協議的更詳細信息,就要用-p這個參數了,它其實是-a 和 -n的一個變種,我們來看一個實例,你就明白了:【netstat -p @@@ 其中@@@為TCP或者UDP】
C:\>netstat -ptcp 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 ????????? ???????? Unicast packets ?????? ?????? 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 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(默認網關) ===========================================================================
Netstat補充信息
Persistent Routes:(靜態路由)
None
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 = 3 6 5 2 8 7(接收後轉交的包數) Output Requests = 3 69066(請求數) 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(數據包發送數) -----------------------------------------------------
netstat -abnov ,顯示的該進程發起的程序進程或者文件列表。此命令常用來判斷是否有可疑進程,之後進行相關操作。