在Linux眾多命令中,netstat命令是控制台命令,用於監控TCP/IP網絡,可顯示路由表的狀態信息,是個十分實用的命令,本文將對netstat命令做個詳細介紹,感興趣的朋友一起來了解一下吧。
如果你的計算機有時候接收到的數據報導致出錯數據或故障,你不必感到奇怪,TCP/IP可以容許這些類型的錯誤,並能夠自動重發數據報。但如果累計的出錯情況數目占到所接收的IP數據報相當大的百分比,或者它的數目正迅速增加,那麼你就應該使用netstat查一查為什麼會出現這些情況了。
1.命令格式:
netstat [-acCeFghilMnNoprstuvVwx][-A《網絡類型》][--ip]
2.命令功能:
netstat用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用於檢驗本機各端口的網絡連接情況。
3.命令參數:
-a或–all 顯示所有連線中的Socket。
-A《網絡類型》或–《網絡類型》 列出該網絡類型連線中的相關地址。
-c或–continuous 持續列出網絡狀態。
-C或–cache 顯示路由器配置的快取信息。
-e或–extend 顯示網絡其他相關信息。
-F或–fib 顯示FIB。
-g或–groups 顯示多重廣播功能群組組員名單。
-h或–help 在線幫助。
-i或–interfaces 顯示網絡界面信息表單。
-l或–listening 顯示監控中的服務器的Socket。
-M或–masquerade 顯示偽裝的網絡連線。
-n或–numeric 直接使用IP地址,而不通過域名服務器。
-N或–netlink或–symbolic 顯示網絡硬件外圍設備的符號連接名稱。
-o或–timers 顯示計時器。
-p或–programs 顯示正在使用Socket的程序識別碼和程序名稱。
-r或–route 顯示Routing Table。
-s或–statistice 顯示網絡工作信息統計表。
-t或–tcp 顯示TCP傳輸協議的連線狀況。
-u或–udp 顯示UDP傳輸協議的連線狀況。
-v或–verbose 顯示指令執行過程。
-V或–version 顯示版本信息。
-w或–raw 顯示RAW傳輸協議的連線狀況。
-x或–unix 此參數的效果和指定”-A unix”參數相同。
–ip或–inet 此參數的效果和指定”-A inet”參數相同。
4.使用實例:
實例1:無參數使用
命令:netstat
輸出:
代碼如下:
[root@localhost ~]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 268 192.168.120.204:ssh 10.2.0.68:62420 ESTABLISHED
udp 0 0 192.168.120.204:4371 10.58.119.119:domain ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] DGRAM 1491 @/org/kernel/udev/udevd
unix 4 [ ] DGRAM 7337 /dev/log
unix 2 [ ] DGRAM 708823
unix 2 [ ] DGRAM 7539
unix 3 [ ] STREAM CONNECTED 7287
unix 3 [ ] STREAM CONNECTED 7286
[root@localhost ~]#
上一頁123456下一頁共6頁
說明:
從整體上看,netstat的輸出結果可以分為兩個部分:
一個是Active Internet connections,稱為有源TCP連接,其中“Recv-Q”和“Send-Q”指的是接收隊列和發送隊列。這些數字一般都應該是0。如果不是則表示軟件包正在隊列中堆積。這種情況只能在非常少的情況見到。
另一個是Active UNIX domain sockets,稱為有源Unix域套接口(和網絡套接字一樣,但是只能用於本機通信,性能可以提高一倍)。
Proto顯示連接使用的協議,RefCnt表示連接到本套接口上的進程號,Types顯示套接口的類型,State顯示套接口當前的狀態,Path表示連接到套接口的其它進程使用的路徑名。
套接口類型:
-t :TCP
-u :UDP
-raw :RAW類型
--unix :UNIX域類型
--ax25 :AX25類型
--ipx :ipx類型
--netrom :netrom類型
狀態說明:
LISTEN:偵聽來自遠方的TCP端口的連接請求
SYN-SENT:再發送連接請求後等待匹配的連接請求(如果有大量這樣的狀態包,檢查是否中招了)
SYN-RECEIVED:再收到和發送一個連接請求後等待對方對連接請求的確認(如有大量此狀態,估計被flood攻擊了)
ESTABLISHED:代表一個打開的連接
FIN-WAIT-1:等待遠程TCP連接中斷請求,或先前的連接中斷請求的確認
FIN-WAIT-2:從遠程TCP等待連接中斷請求
CLOSE-WAIT:等待從本地用戶發來的連接中斷請求
CLOSING:等待遠程TCP對連接中斷的確認
LAST-ACK:等待原來的發向遠程TCP的連接中斷請求的確認(不是什麼好東西,此項出現,檢查是否被攻擊)
TIME-WAIT:等待足夠的時間以確保遠程TCP接收到連接中斷請求的確認
CLOSED:沒有任何連接狀態
實例2:列出所有端口
命令:netstat -a
輸出:
代碼如下:
[root@localhost ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:smux *:* LISTEN
tcp 0 0 *:svn *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 284 192.168.120.204:ssh 10.2.0.68:62420 ESTABLISHED
udp 0 0 localhost:syslog *:*
udp 0 0 *:snmp *:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 708833 /tmp/ssh-yKnDB15725/agent.15725
unix 2 [ ACC ] STREAM LISTENING 7296 /var/run/audispd_events
unix 2 [ ] DGRAM 1491 @/org/kernel/udev/udevd
unix 4 [ ] DGRAM 7337 /dev/log
unix 2 [ ] DGRAM 708823
unix 2 [ ] DGRAM 7539
unix 3 [ ] STREAM CONNECTED 7287
unix 3 [ ] STREAM CONNECTED 7286
[root@localhost ~]#
說明:
顯示一個所有的有效連接信息列表,包括已建立的連接(ESTABLISHED),也包括監聽連接請(LISTENING)的那些連接。
實例3:顯示當前UDP連接狀況
命令:netstat -nu
輸出:
代碼如下:
[root@andy ~]# netstat -nu
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 ::ffff:192.168.12:53392 ::ffff:192.168.9.120:10000 ESTABLISHED
udp 0 0 ::ffff:192.168.12:56723 ::ffff:192.168.9.120:10000 ESTABLISHED
udp 0 0 ::ffff:192.168.12:56480 ::ffff:192.168.9.120:10000 ESTABLISHED
udp 0 0 ::ffff:192.168.12:58154 ::ffff:192.168.9.120:10000 ESTABLISHED
udp 0 0 ::ffff:192.168.12:44227 ::ffff:192.168.9.120:10000 ESTABLISHED
udp 0 0 ::ffff:192.168.12:36954 ::ffff:192.168.9.120:10000 ESTABLISHED
udp 0 0 ::ffff:192.168.12:53984 ::ffff:192.168.9.120:10000 ESTABLISHED
udp 0 0 ::ffff:192.168.12:57703 ::ffff:192.168.9.120:10000 ESTABLISHED
udp 0 0 ::ffff:192.168.12:53613 ::ffff:192.168.9.120:10000 ESTABLISHED
[root@andy ~]#
上一頁12 3456下一頁共6頁
實例4:顯示UDP端口號的使用情況