netstat是一個功能很強大的網絡信息統計工具。它可以打印本地網卡接口上的全部連接,路由表信息,網卡接口信息的等。一般情況下我們大量用到的是TCP連接及其狀態信息,因為我們如果要獲得路由表信息和網卡接口信息,我們可以使用輸出內容更豐富的route和ifconfig命令
我們可以用前面學過的nc開個測試服務器和客戶端進行netstat的命林測試,事例如下
當用nc在本機127.0.0.1端口為4444的服務器進程,然後在用nc當客戶機進行連接
netstat -nat|grep 127.0.0.1:4444
顯示結果如下圖
<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjx0YWJsZT4NCjx0aGVhZD4NCgk8dHI+DQoJPHRoPg0KCQk8Y29kZSBjbGFzcz0="hljs 1c">名稱
由上圖可知netstat的每行都輸出6個字段,其名稱和含義分別為
含義
Proto
協議名
Recv-Q
socket內核接收緩沖區尚未被應用程序讀走的數據段
Send-Q
未被對方確認的數據段
Local Address
本端的IP地址和端口號
Foreign Address
對方的IP地址和端口號
State
socket的狀態
2.vmstat
vmstat的縮寫是virtual memory statistics的縮寫,它能實時輸出系統的各種資源的使用情況,比如進程信息,內存使用情況,CPU使用率以及I/O使用情況
vmstat常見的參數
參數
說明
-f
顯示系統自啟動以來執行的fork次數
-s
顯示內存相關的統計信息
-d
顯示磁盤相關的統計信息
-p
顯示指定磁盤的顯示信息
delay
采樣間隔,即每隔多少秒刷新一次
count
采樣次數,共輸出多少次采樣信息
3.ifstat
ifstat是interface statistics的縮寫,它是一個簡單的網絡流量監控工具
ifstat的參數
參數
說明
-a
檢測系統上的所有網卡接口
-i
指定要檢測的網卡接口
-t
在每行輸出信息前加上事件戳
-b
以Kbit/s顯示數據,而不是默認的KB/S
delay
采樣間隔
count
采樣次數
具體事例如下
ifstat -a 1 5 #每個1s輸出一次,共5次
從輸出來看博主本機有3個網卡接口,ifstat的每條輸出都以KB/S為單位顯示個網卡接口上接收和發送數據的速率。所以我們可以用ifstat估計出服務器的總輸入和輸出流量