11.28 监控io性能 free ps 命令 查看网络状态 linux下抓包

本文介绍了Linux系统中常见的监控工具及其使用方法,包括内存、进程、网络状态的监控及网络抓包技巧。
10.6 监控io性能
212912_GT8j_3716831.png
213651_vQa4_3716831.png
130802_9lKY_3716831.png

iostat -x

yum install -y iotop

iotop


10.7 free命令

查看内存使用状况

213918_6NJI_3716831.png

只需要敲一个 free 然后回车就可以当前系统的总内存大小以及使用内存的情况。从上例中可看到当前系统内存总大小为326616(单位是k)已经使用137332, 剩余189284. 其实真正剩余并不是这个189284, 而是第二行的297100, 真正使用的也是第二行的29516, 这是因为系统初始化时,就已经分配出很大一部分内存给缓存,这部分缓存用来随时提供给程序使用,如果程序不用,那这部分内存就空闲。所以,查看内存使用多少,剩余多少请看第二行的数据。另外我们还可以加-m 或者-g选项分别以M或G为单位打印内存使用状况:

214009_Hnrs_3716831.png

free -h

131834_nyNO_3716831.png

10.8 ps命令

作为系统管理员,一定要知道所管理的系统都有那些进程在运行,在windows下只要打开任务管理器即可查看。在linux下呢?其实top命令就可以,但是不容易看,当然还有专门显示系统进程的命令:

214713_Y2Zr_3716831.png   

 

ps  -elf 也可以查看,显示的信息基本上是一样的。ps命令还有更多的用法。

PID :进程的id,这个id很有用,在linux中内核管理进程就得靠pid来识别和管理某一个程,比如我想终止某一个进程,则用 ‘kill  进程的pid 有时并不能杀掉,则需要加一个-9选项了 kill  -9  进程pid

STAT :表示进程的状态,进程状态分为以下几种(不要求记住,但要了解)

D 不能中断的进程(通常为IO)

R 正在运行中的进程

S 已经中断的进程,通常情况下,系统中大部分进程都是这个状态

T 已经停止或者暂停的进程,如果我们正在运行一个命令,比如说 sleep 10 如果我们按一下ctrl -z 让他暂停,那么我们用ps查看就会显示T这个状态

W 这个好像是说,从内核2.6xx 以后,表示为没有足够的内存页分配

X 已经死掉的进程(这个好像从来不会出现)

Z 僵尸进程,杀不掉,打不死的垃圾进程,占系统一小点资源,不过没有关系。如果太多,就有问题了。一般不会出现。

< 高优先级进程

N 低优先级进程

L 在内存中被锁了内存分页

s 主进程

l 多线程进程

+ 代表在前台运行的进程

这个ps命令是在工作中用的非常多的命令之一。关于ps命令的使用,常同管道符一起使用,用来查看某个进程或者它的数量。

214949_WKha_3716831.png


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]}'

215059_aJSp_3716831.png

141857_GB2P_3716831.png

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的访问日志

203637_Savi_3716831.png

  • tcpdump工具

有时候,也许会有这样的需求,想看一下某个网卡上都有哪些数据包,尤其是初步判定服务器上有流量攻击。这时,使用抓包工具来抓一下数据包,就可以知道有哪些IP在攻击了。

先安装:yum install -y tcpdump

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

215618_9SiV_3716831.png

上例中第三列和第四列显示的信息为哪一个IP+port在连接哪一个IP+port,后面的信息是该数据包的相关信息。这里需要关注的只是第三列以及第四列。-i 选项后面跟设备名称,如果想抓eth1网卡的包,后面则要跟eth1.至于-nn选项的作用是让第三列和第四列显示成IP+端口号的形式,如果不加-nn则显示的是主机名+服务名称。

  • wireshark工具

CentOS下安装Wireshark相当简单.两条命令就够了.这里.主要是记录写使用方面的东西

安装:
1、yum install wireshark。注意这样并无法使用wireshark命令和图形界面。但提供了抓包基本功能。
2、yum install wireshark-gnome。这样就可以方便的使用了。

【简易使用】#tshark; 监控所有数据,实时变化。

实际工作中抓出来的包要怎样进行分析 : 主要是看源ip,源port,目标ip,目标port,还有协议之类的。再深入的就得借助图形化的抓包工具去分析了。

转载于:https://my.oschina.net/u/3716831/blog/1581240

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值