netstat


  netstat命令用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用於檢驗本機各端口的網絡連接情況。netstat是在內核中訪問網絡及相關信息的程序,它能提供TCP連接,TCP和UDP監聽,進程內存管理的相關報告。

 

netstat輸出結果分析

image

說明:

從整體上看,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:沒有任何連接狀態

 

常用命令:

顯示網卡列表

1
netstat –i

image

顯示網絡統計

1
netstat -s

image

常用組合:

1
2
netstat -lntup 
說明: l:listening   n:num   t:tcp  u:udp  p:process

image

顯示關於以太網的統計數據

1
2
3
4
netstat –e
 
說明:
用於顯示關於以太網的統計數據。它列出的項目包括傳送的數據報的總字節數、錯誤數、刪除數、數據報的數量和廣播的數量。這些統計數據既有發送的數據報數量,也有接收的數據報數量。這個選項可以用來統計一些基本的網絡流量)

image

顯示路由信息

1
netstat –r
1
route –n   【也可以顯示路由信息】

image

統計機器中網絡連接各個狀態個數

1
netstat -an | awk '/^tcp/ {++S[$NF]}  END {for (a in S) print a,S[a]} '

image

把狀態全都取出來后使用uniq -c統計后再進行排序

1
netstat -ant| awk '{print $6}' | sort | uniq –c

image

查看連接某服務端口最多的的IP地址

1
netstat -ant| grep "192.168.25.*" | awk '{print $5}' | awk -F: '{print $1}' | sort -nr| uniq –c

image

找出程序運行的端口

1
netstat -ap | grep ssh

image

 

在 netstat 輸出中顯示 TCP連接信息

netstat -pt

image

說明:netstat -p 可以與其它開關一起使用,就可以添加 “PID/進程名稱”

找出運行在指定端口的進程

其他注意事項:

image

小技巧: netstat -lnt | grep ssh | wc -l -->只要大於2個,ssh服務就是好的 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM