11.28 監控io性能 free ps 命令 查看網絡狀態 linux下抓包

10.6 監控io性能

iostat -xlinux

yum install -y iotopios

iotopweb


10.7 free命令windows

查看內存使用情況緩存

只須要敲一個 free 而後回車就能夠當前系統的總內存大小以及使用內存的狀況。從上例中可看到當前系統內存總大小爲326616(單位是k)已經使用137332, 剩餘189284. 其實真正剩餘並非這個189284, 而是第二行的297100, 真正使用的也是第二行的29516, 這是由於系統初始化時,就已經分配出很大一部份內存給緩存,這部分緩存用來隨時提供給程序使用,若是程序不用,那這部份內存就空閒。因此,查看內存使用多少,剩餘多少請看第二行的數據。另外咱們還能夠加-m 或者-g選項分別以M或G爲單位打印內存使用情況:服務器

free -h網絡

10.8 ps命令

做爲系統管理員,必定要知道所管理的系統都有那些進程在運行,在windows下只要打開任務管理器便可查看。在linux下呢?其實top命令就能夠,可是不容易看,固然還有專門顯示系統進程的命令:多線程

   

 

ps  -elf 也能夠查看,顯示的信息基本上是同樣的。ps命令還有更多的用法。socket

PID :進程的id,這個id頗有用,在linux中內核管理進程就得靠pid來識別和管理某一個程,好比我想終止某一個進程,則用 ‘kill  進程的pid 有時並不能殺掉,則須要加一個-9選項了 kill  -9  進程pidtcp

STAT :表示進程的狀態,進程狀態分爲如下幾種(不要求記住,但要了解)

D 不能中斷的進程(一般爲IO)

R 正在運行中的進程

S 已經中斷的進程,一般狀況下,系統中大部分進程都是這個狀態

T 已經中止或者暫停的進程,若是咱們正在運行一個命令,好比說 sleep 10 若是咱們按一下ctrl -z 讓他暫停,那麼咱們用ps查看就會顯示T這個狀態

W 這個好像是說,從內核2.6xx 之後,表示爲沒有足夠的內存頁分配

X 已經死掉的進程(這個好像歷來不會出現)

Z 殭屍進程,殺不掉,打不死的垃圾進程,佔系統一小點資源,不過沒有關係。若是太多,就有問題了。通常不會出現。

< 高優先級進程

N 低優先級進程

L 在內存中被鎖了內存分頁

s 主進程

l 多線程進程

+ 表明在前臺運行的進程

這個ps命令是在工做中用的很是多的命令之一。關於ps命令的使用,常同管道符一塊兒使用,用來查看某個進程或者它的數量。


10.9 查看網絡狀態

netstat 查看網絡狀態
 netstat -lnp 查看監聽端口
 netstat -an 查看系統的網絡鏈接情況
 netstat -lntp 只看出tcp的,不包含socket
 ss -an 和nestat殊途同歸
 分享一個小技巧:
 netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'

netstat命令用來打印網絡鏈接情況、系統所開放端口、路由表等信息。最經常使用的關於netstat的命令就是這個 netstat -lnp (打印當前系統啓動哪些端口)以及 netstat  -an (打印網絡鏈接情況)這兩個命令很是有用,請必定要記住。

netstat -an

若是所管理的服務器是一臺提供web服務(80端口)的服務器,那麼就可使用 netstat -an |grep 80 查看當前鏈接web服務的有哪些IP了。


10.10 linux下抓包

 用法:tcpdump -nn

 tcpdump -nn -i ens33
 tcpdump -nn -i port 80
 tcpdump -nn not port 22 and host 192.168.0.100
 tcpdump -nn -c 100 -w 1.cap    //指定個數 保存路徑

tcpdump -r 1.cap    //讀

 yum install -y wireshark
 tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"

//能夠查看指定端口 80端口web服務訪問狀況   相似於web的訪問日誌

  • tcpdump工具

有時候,也許會有這樣的需求,想看一下某個網卡上都有哪些數據包,尤爲是初步斷定服務器上有流量攻擊。這時,使用抓包工具來抓一下數據包,就能夠知道有哪些IP在攻擊了。

先安裝:yum install -y tcpdump

[root@localhost ~]# tcpdump -nn -i ens33

上例中第三列和第四列顯示的信息爲哪個IP+port在鏈接哪個IP+port,後面的信息是該數據包的相關信息。這裏須要關注的只是第三列以及第四列。-i 選項後面跟設備名稱,若是想抓eth1網卡的包,後面則要跟eth1.至於-nn選項的做用是讓第三列和第四列顯示成IP+端口號的形式,若是不加-nn則顯示的是主機名+服務名稱。

  • wireshark工具

CentOS下安裝Wireshark至關簡單.兩條命令就夠了.這裏.主要是記錄寫使用方面的東西

安裝:
一、yum install wireshark。注意這樣並沒有法使用wireshark命令和圖形界面。但提供了抓包基本功能。
二、yum install wireshark-gnome。這樣就能夠方便的使用了。

【簡易使用】#tshark; 監控全部數據,實時變化。

實際工做中抓出來的包要怎樣進行分析 : 主要是看源ip,源port,目標ip,目標port,還有協議之類的。再深刻的就得藉助圖形化的抓包工具去分析了。

相關文章
相關標籤/搜索