Linux中netstat命令怎么用
Linux中netstat命令怎么用
在Linux眾多命令中,netstat命令是控制臺(tái)命令,用于監(jiān)控TCP/IP網(wǎng)絡(luò),可顯示路由表的狀態(tài)信息,是個(gè)十分實(shí)用的命令,本文將對(duì)netstat命令做個(gè)詳細(xì)介紹,感興趣的朋友一起來了解一下吧。
如果你的計(jì)算機(jī)有時(shí)候接收到的數(shù)據(jù)報(bào)導(dǎo)致出錯(cuò)數(shù)據(jù)或故障,你不必感到奇怪,TCP/IP可以容許這些類型的錯(cuò)誤,并能夠自動(dòng)重發(fā)數(shù)據(jù)報(bào)。但如果累計(jì)的出錯(cuò)情況數(shù)目占到所接收的IP數(shù)據(jù)報(bào)相當(dāng)大的百分比,或者它的數(shù)目正迅速增加,那么你就應(yīng)該使用netstat查一查為什么會(huì)出現(xiàn)這些情況了。
1.命令格式:
netstat [-acCeFghilMnNoprstuvVwx][-A《網(wǎng)絡(luò)類型》][--ip]
2.命令功能:
netstat用于顯示與IP、TCP、UDP和ICMP協(xié)議相關(guān)的統(tǒng)計(jì)數(shù)據(jù),一般用于檢驗(yàn)本機(jī)各端口的網(wǎng)絡(luò)連接情況。
3.命令參數(shù):
-a或–all 顯示所有連線中的Socket。
-A《網(wǎng)絡(luò)類型》或–《網(wǎng)絡(luò)類型》 列出該網(wǎng)絡(luò)類型連線中的相關(guān)地址。
-c或–continuous 持續(xù)列出網(wǎng)絡(luò)狀態(tài)。
-C或–cache 顯示路由器配置的快取信息。
-e或–extend 顯示網(wǎng)絡(luò)其他相關(guān)信息。
-F或–fib 顯示FIB。
-g或–groups 顯示多重廣播功能群組組員名單。
-h或–help 在線幫助。
-i或–interfaces 顯示網(wǎng)絡(luò)界面信息表單。
-l或–listening 顯示監(jiān)控中的服務(wù)器的Socket。
-M或–masquerade 顯示偽裝的網(wǎng)絡(luò)連線。
-n或–numeric 直接使用IP地址,而不通過域名服務(wù)器。
-N或–netlink或–symbolic 顯示網(wǎng)絡(luò)硬件外圍設(shè)備的符號(hào)連接名稱。
-o或–timers 顯示計(jì)時(shí)器。
-p或–programs 顯示正在使用Socket的程序識(shí)別碼和程序名稱。
-r或–route 顯示Routing Table。
-s或–statistice 顯示網(wǎng)絡(luò)工作信息統(tǒng)計(jì)表。
-t或–tcp 顯示TCP傳輸協(xié)議的連線狀況。
-u或–udp 顯示UDP傳輸協(xié)議的連線狀況。
-v或–verbose 顯示指令執(zhí)行過程。
-V或–version 顯示版本信息。
-w或–raw 顯示RAW傳輸協(xié)議的連線狀況。
-x或–unix 此參數(shù)的效果和指定”-A unix”參數(shù)相同。
–ip或–inet 此參數(shù)的效果和指定”-A inet”參數(shù)相同。
4.使用實(shí)例:
實(shí)例:無參數(shù)使用
命令: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 ~]#
說明:
從整體上看,netstat的輸出結(jié)果可以分為兩個(gè)部分:
一個(gè)是Active Internet connections,稱為有源TCP連接,其中“Recv-Q”和“Send-Q”指的是接收隊(duì)列和發(fā)送隊(duì)列。這些數(shù)字一般都應(yīng)該是0。如果不是則表示軟件包正在隊(duì)列中堆積。這種情況只能在非常少的情況見到。
另一個(gè)是Active UNIX domain sockets,稱為有源Unix域套接口(和網(wǎng)絡(luò)套接字一樣,但是只能用于本機(jī)通信,性能可以提高一倍)。
Proto顯示連接使用的協(xié)議,RefCnt表示連接到本套接口上的進(jìn)程號(hào),Types顯示套接口的類型,State顯示套接口當(dāng)前的狀態(tài),Path表示連接到套接口的其它進(jìn)程使用的路徑名。
套接口類型:
-t :TCP
-u :UDP
-raw :RAW類型
--unix :UNIX域類型
--ax25 :AX25類型
--ipx :ipx類型
--netrom :netrom類型
狀態(tài)說明:
LISTEN:偵聽來自遠(yuǎn)方的TCP端口的連接請(qǐng)求
SYN-SENT:再發(fā)送連接請(qǐng)求后等待匹配的連接請(qǐng)求(如果有大量這樣的狀態(tài)包,檢查是否中招了)
SYN-RECEIVED:再收到和發(fā)送一個(gè)連接請(qǐng)求后等待對(duì)方對(duì)連接請(qǐng)求的確認(rèn)(如有大量此狀態(tài),估計(jì)被flood攻擊了)
ESTABLISHED:代表一個(gè)打開的連接
FIN-WAIT-1:等待遠(yuǎn)程TCP連接中斷請(qǐng)求,或先前的連接中斷請(qǐng)求的確認(rèn)
FIN-WAIT-2:從遠(yuǎn)程TCP等待連接中斷請(qǐng)求
CLOSE-WAIT:等待從本地用戶發(fā)來的連接中斷請(qǐng)求
CLOSING:等待遠(yuǎn)程TCP對(duì)連接中斷的確認(rèn)
LAST-ACK:等待原來的發(fā)向遠(yuǎn)程TCP的連接中斷請(qǐng)求的確認(rèn)(不是什么好東西,此項(xiàng)出現(xiàn),檢查是否被攻擊)
TIME-WAIT:等待足夠的時(shí)間以確保遠(yuǎn)程TCP接收到連接中斷請(qǐng)求的確認(rèn)
CLOSED:沒有任何連接狀態(tài)