linux檢查埠狀態命令

edwardking888發表於2010-11-03
netstat命令是一個監控TCP/IP網路的非常有用的工具,它可以顯示路由表、實際的網路連線以及每一個網路介面裝置的狀態資訊,在計算機上執行netstat後,其輸出結果為:

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED
tcp 296 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED
tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED
tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED
tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE

Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 1 [ ] STREAM CONNECTED 16178 @000000dd
unix 1 [ ] STREAM CONNECTED 16176 @000000dc
unix 9 [ ] DGRAM 5292 /dev/log
unix 1 [ ] STREAM CONNECTED 16182 @000000df

◆ 顯示路由表
在隨- r標記一起呼叫n e t s t a t時,將顯示核心路由表,就像我們利用r o u t e命令一樣。產生的輸出如下:

[root@machine1 /]$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
210.34.6.0 0.0.0.0 255.255.255.128 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 210.34.6.2 0.0.0.0 UG 0 0 0 eth0

- n 選項令netstat以點分四段式的形式輸出IP地址,而不是象徵性的主機名和網路名。如果想避免通過網路查詢地址(比如避開DNS或NIS伺服器),這一點是特別有用的。
netstat輸出結果中,第二列展示的是路由條目所指的閘道器,如果沒有使用閘道器,就會出現一個星號(*)或者0.0.0.0;第三列展示路由的概述,在為具體的I P地址找出最恰當的路由時,核心將檢視路由表內的所有條目,在對找到的路由與目標路由比較之前,將對I P地址和genmask進行按位“與”計算;第四列顯示了不同的標記,這些標記的說明如下:

■ G 路由將採用閘道器。
■ U 準備使用的介面處於“活動”狀態。
■ H 通過該路由,只能抵達一臺主機。
■ D 如果路由表的條目是由ICMP重定向訊息生成的,就會設定這個標記。
■ M 如果路由表條目已被ICMP重定向訊息修改,就會設定這個標記。

netstat輸出結果的Iface顯示該連線所用的物理網路卡,如eth0表示用第一張,eth1表示用第二張。

◆ 顯示介面特性

在隨- i標記一起呼叫時, netstat將顯示網路介面的當前配置特性。除此以外,如果呼叫時還帶上-a選項,它還將輸出核心中所有介面,並不只是當前配置的介面。netstat-i的輸出結果是這樣的:

[root@machine1 /]$ netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 787165 0 0 1 51655 0 0 0 BRU
eth1 1500 0 520811 0 0 0 1986 0 0 0 BRU
lo 3924 0 1943 0 0 0 43 0 0 0 LRU

MTU和Met欄位表示的是介面的MTU和度量值值;RX和TX這兩列表示的是已經準確無誤地收發了多少資料包( RX - OK / TX - OK)、產生了多少錯誤( RX-ERR/TX-ERR)、丟棄了多少包(RX-DRP/TX-DRP),由於誤差而遺失了多少包(RX-OVR/TX-OVR);最後一列展示的是為這個介面設定的標記,在利用ifconfig顯示介面配置時,這些標記都採用一個字母。它們的說明如下:

■ B 已經設定了一個廣播地址。
■ L 該介面是一個回送裝置。
■ M 接收所有資料包(混亂模式)。
■ N 避免跟蹤。
■ O 在該介面上,禁用A R P。
■ P 這是一個點到點連結。
■ R 介面正在執行。
■ U 介面處於“活動”狀態。

◆ 顯示連結
netstat支援用於顯示活動或被動套接字的選項集。選項- t、- u、- w和- x分別表示TCP、UDP、RAW和UNIX套接字連線。如果你另外還提供了一個- a標記,還會顯示出等待連線(也就是說處於監聽模式)的套接字。這樣就可以得到一份伺服器清單,當前所有執行於系統中的所有伺服器都會列入其中。

呼叫netstat -ta時,輸出結果如下:

[root@machine1 /]$ netstat -ta
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED
tcp 0 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED
tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED
tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED
tcp 0 0 *:9001 *:* LISTEN
tcp 0 0 *:6000 *:* LISTEN
tcp 0 0 *:socks *:* LISTEN
tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE

上面的輸出表明部分伺服器處於等待接入連線狀態。利用- a選項的話,netstat還會顯示出所有的套接字。注意根據埠號,可以判斷出一條連線是否是外出連線。對呼叫方主機來說,列出的埠號應該一直是一個整數,而對眾所周知服務(well known service)埠正在使用中的被呼叫方來說,netstat採用的則是取自/etc/services檔案的象徵性服務名。

 

[hadoop@hadoop_namenode hadoop-config]$ netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State     
tcp        0      0 127.0.0.1:2208              0.0.0.0:*                   LISTEN     
tcp        0      0 0.0.0.0:933                 0.0.0.0:*                   LISTEN     
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN     
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN     
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN     
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN     
tcp        0      0 127.0.0.1:2207              0.0.0.0:*                   LISTEN     
tcp        0      0 ::ffff:192.168.75.17:9000   :::*                        LISTEN     
tcp        0      0 :::50090                    :::*                        LISTEN     
tcp        0      0 :::50070                    :::*                        LISTEN     
tcp        0      0 :::22                       :::*                        LISTEN     
tcp        0      0 :::45690                    :::*                        LISTEN     
tcp        0      0 :::44700                    :::*                        LISTEN 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8183550/viewspace-677262/,如需轉載,請註明出處,否則將追究法律責任。

相關文章