Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包

10.6 監控io性能
10.7 free命令
10.8 ps命令
10.9 查看網絡狀態
10.10 linux下抓包html

1、iostat與iotop命令

iostat命令與iotop,命令可以看出系統磁盤的工做狀況,及時發現磁盤問題,這兩個工具不是系統自帶的,分別須要yum安裝
其中iostat命令與前一篇博客中提到的sar命令在同一個(sysstat)包裏,若是能使用sar命令就能使用iostat命令。
安裝命令mysql

yum install epel 先安裝epel擴展源
yum install sysstat iotoplinux

(一)iostat命令,看util 若是數值太高,說明磁盤很忙或者出現問題。
Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包
查看磁盤的使用狀況ios

iostat -xsql

Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包
注意標紅處數值,系統中的解釋以下,反正這個數值很高系統就反應很慢了,要麼換硬盤,要麼查出是什麼致使磁盤使用量飆升。
%util Percentage of elapsed time during which I/O requests were issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100%.windows

(二)iotop,產看下哪個進程佔用進程較多
Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包centos

在具體服務器上看的更明顯,磁盤讀寫最多的在第一排。服務器

2、free命令

free命令用於查看內存的使用量。通常用free -h命令,看得要舒服點^^
Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包網絡

其中多線程

total=used+free+shared + buff/cache
available=free+shared + buff/cache
total=used+available
cache指的是磁盤到cpu途中通過的內存區
buff指的是cpu到磁盤間途中通過的內存區

3、ps命令

ps命令用於查看當前的系統進程,ps和top顯示的結果很像
兩種經常使用查看方式

一、ps aux
二、ps -elf

建議用ps aux
Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包

第一行各個項目的含義:
USER:用戶名
PID:進程的PID號,經常使用與kill命令強制關閉進程,默認是從小到大排列
%CPU:CPU佔用率
%MEM:內存佔用率
VSZ:進程所使用的虛存的大小(Virtual Size)
RSS:物理內存使用,和top命令res同樣
TTY:終端號,本身的終端用tty命令能夠看到
STAT:進程狀態,該項內容較重要
D:保護進程,不能中斷的進程
R:run ,在運行的進程
S:大寫的S表示sleep狀態的進程,vmstat運行時是sleep狀態
T:暫停的進程
<:高優先級的進程
N:低優先級的進程
L:內存中內存分頁鎖定的進程
s:小寫的s,主進程
l:小寫的L,多線程進程
+:前臺進程
START:進程開始時間
TIME:進程運行的時間
COMMAND:進程名

(一)應用舉例

一、查看某一個程序或者服務是否在運行

ps aux | grep sshd 這裏的sshd能夠是任意程序,好比咱們常用的ngix、mysql等等。

Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包

二、根據pid強制關閉某一進程

kill (pid號) 好比kill 1571

pid號經過 ps aux |grep '程序名'方式查看

先運行一個命令並放到後臺
Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包
如今咱們根據他的pid1571把他強制關閉
Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包
這時咱們在看下ps aux 看下進程表就不存在這個進程了。
Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包

出現殭屍進程的場景,啓用nigix,當父進程被意外殺掉時,子進程就可能進入殭屍進程

三、經過進程號查看進程的路徑

ls -l /proc/(pid號)

Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包
經過這條命令能夠看出進程是哪一個程序建立的。

4、netstat命令

netstat用於查看網絡狀態,linux服務器運行各類服務後須要開放一些特定的端口讓其餘ip的設備去訪問來提供相應的服務,好比說xhsell訪問服務器就要用到22端口。windows下也有netstat命令 ,也有查看開放端口的功能。

windows下的netstat命令
Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包

tcp三次握手、四次揮手的內容參見:www.doc88.com/p-9913773324388.html

netstat命令應用示例

一、netstat -lnp查看監聽端口,須要
Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包
若是隻須要查看tcp的

netstat -lntp
Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包

二、若是隻須要查看tcp與udp的

netstat -ltnup

Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包

三、netstat -an查看系統全部的網絡鏈接情況
Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包

四、ss -an查看網絡鏈接情況

Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包

這個命令也能看連接狀況,可是沒有顯示鏈接的進程,而netstat 命令就能夠看到

五、經過netstat命令和awk命令查看網絡連接各類狀態的總數。

netstat -an|awk '/^txp/ {++stat[$NF]} END {for(key in sta) print key,"\t",sta [key]}'

Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包
命令有點長,須要記住,最好能理解。

5、抓包工具

網絡出現異常的時候會須要抓包,網絡出現異常流量時須要抓包看看是出現了什麼問題,好比看到***,頻繁訪問一些端口的一些請求時就要注意本身是否是被***了。抓取網絡流量須要使用tcpdump工具或者wireshark工具。

tcpdump工具

首先要使用yum安裝tcpdump工具,包名就是tcpdump

yum install tcpdump

用法示例
抓取某個網卡的包

txpdump -nn -i (網卡名,用nmcli dev show查看)

Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包

圖示這個ens33就是網卡名,注意在centos6中網卡是從ens1開始的,並且網卡名會變,而centos7不會,他是根據硬件信息命令名的。

看看抓包結果

tcpdump -nn -i ens33

Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包

命令選項中的n就是將源主機顯示爲ip地址+端口號形式,默認顯示的是主機名+服務名。咱們主要看包從哪來,到哪去,走的是哪一個端口的信息。

通常狀況下,大部分的包都應該是tcp的包,若是有不少udp的包時就有可能服務器被DDOS***了,這時就要藉助專業工具或硬件來防禦

二、指定端口和網卡抓包

tcpdump -nn ens33(網卡名) port22(端口號)

Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包

三、抓取網卡網絡通訊的10個包並將他導入/tmp/1.cap

tcpdump -i ens33 -c 10 -w /tmp/1.cap

Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包

這個文件是不可cat的!
查看文件信息:

file /tmp/1.cap

Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包

讀取具體內容

tcpdump -r /tmp/1.cap

Linux系統管理初步(二)iostat(iptop)、free、ps、netstat命令與網絡抓包

wireshark工具

相關文章
相關標籤/搜索