Netstat用于顯示與IP 扯俱、TCP 、UDP 和ICMP 協(xié)議相關(guān)的統(tǒng)計(jì)數(shù)據(jù)谢肾,一般用于檢驗(yàn)本機(jī)各端口的網(wǎng)絡(luò)連接情況。如網(wǎng)絡(luò)連接小泉,路由表芦疏,接口狀態(tài) (Interface Statistics),masquerade 連接微姊,多播成員 (Multicast Memberships) 等等酸茴。
1.? 從整體上看,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),Type顯示套接口的類型,State顯示套接口當(dāng)前的狀態(tài),Path表示連接到套接口的其它進(jìn)程使用的路徑名溉潭。
2.命令參數(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ù)相同胸懈。
常見參數(shù)
-a (all)顯示所有選項(xiàng),默認(rèn)不顯示LISTEN相關(guān)
-t (tcp)僅顯示tcp相關(guān)選項(xiàng)
-u (udp)僅顯示udp相關(guān)選項(xiàng)
-n 拒絕顯示別名洒嗤,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字箫荡。
-l 僅列出有在 Listen (監(jiān)聽) 的服務(wù)狀態(tài)
-p 顯示建立相關(guān)鏈接的程序名
-r 顯示路由信息,路由表
-e 顯示擴(kuò)展信息渔隶,例如uid等
-s 按各個(gè)協(xié)議進(jìn)行統(tǒng)計(jì)
-c 每隔一個(gè)固定時(shí)間羔挡,執(zhí)行該netstat命令。
提示:LISTEN和LISTENING的狀態(tài)只有用-a或者-l才能看到
3. 狀態(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)
4. 一些其他說明
如果你的計(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)這些情況了。
也許你有這樣的問題:“在機(jī)器名后的端口號(hào)代表什么率触? 比如: pc-name:2929终议。
小于1024 的端口通常運(yùn)行一些網(wǎng)絡(luò)服務(wù),大于1024 的端口用來與遠(yuǎn)程機(jī)器建立連接葱蝗。
IP和TCP分析 查看連接某服務(wù)端口最多的的IP地址:
netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"\t",i}' | sort -nr
TCP各種狀態(tài)列表:
netstat -nt | grep -e 127.0.0.1 -e 0.0.0.0 -e ::: -v | awk '/^tcp/ {++state[$NF]} END {for(i in state) print i,"\t",state[i]}'
查看phpcgi進(jìn)程數(shù): netstat -anpo | grep "php-cgi" | wc -l穴张,如果接近預(yù)設(shè)值,說明不夠用两曼,需要增加皂甘。