标签:指令 抓取 dba har 不能 说明 端口 iotop ges
10.6 监控io性能
- STAT部分说明:
D 不能中断的进程
R run状态的进程
S sleep状态的进程
T 暂停的进程
Z 僵尸进程
< 高优先级进程
N 低优先级进程
L 内存中被锁了内存分页
s 主进程
l 多线程进程
+ 前台进程
10.9 查看网络状态
- netstat命令可用于查看网络状态信息.
- 常用用法:
netstat -lnp --->查看监听端口(重点关注Active Internet connections (only servers)这一部分)
netstat -an --->查看系统的网络连接状况(重点关注state状态为ESTABLISHED的情况,一般该状态个数1000以内,过大则需重点关注排查)
选项含义:
-a : 显示所有连线中的Socket
-l : 显示监控中的服务器的Socket
-n : 直接使用ip地址,而不通过域名服务器
-p : 显示正在使用Socket的程序识别码和程序名称
- 小技巧:
统计系统当前各种状态的连接的数目:
netstat -an | awk ‘/^tcp/{++sta[$NF]}END{for(key in sta)print key,"\t",sta[key]}‘
补充:
ss -an 和 netstat 用途相似.
10.10 linux下抓包
- tcpdump命令用于抓取网络包,,它可以打印所有经过网络接口的数据包的头信息,也可以使用-w选项将数据包保存到文件中, 方便以后分析.
- 常用用法:
tcpdump -nn -i ens33 --->抓取经过网卡ens33的数据包
tcpdump -nn port 80 -i ens33 --->抓取80端口的数据包
tcpdump -nn not port 22 and host 192.168.1.100 --->抓取非22端口并且来自IP为192.168.1.100的数据包
tcpdump -nn -c 100 -w /tmp/1.cap --->抓取100包并保存到文件/tmp/1.cap
tcpdump -r /tmp/1.cap --->读取文件/tmp/1.cap
- tshark命令用于抓取并分析网络包.
使用tshark命令需先安装wireshark包
yum install -y wireshark
小技巧:
显示访问http请求的域名以及uri:
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"
扩展知识:
TCP协议的三次握手四次挥手机制简单原理(相关知识来自网络,感谢原作者).
- 三次握手:
1.A向B发起建立连接请求: A--->B
2.B收到A的发送信号,并且向A发送确认信息: B--->A
3.A收到B的确认信号,并向B发送确认信号: A--->B
通过第一次握手,B知道A能够发送数据.
通过第二次握手,A知道B能够发送数据.
结合第一,二次握手,A知道B能够接收数据.
结合第三次握手,B知道A能够接收数据.
- 四次挥手:
1.A向B发起请求,表示A没有数据要发送了: A--->B
2.B向A发送信号,确认A的断开连接请求: B--->A
3.B向A发送信号,请求断开连接,表示B没有数据要发送了: B--->A
4.A向B发送确认信号,同意断开: A--->B
为何第2,3次挥手不能合在一次挥手中呢?因为此时A虽然不再发送数据了,但还能接收数据,B可能还有数据要发送给A,所以两次挥手不能合并为一次.
挥手次数比握手多一次,是因为握手过程,通信只需要处理连接即可.而挥手过程,通信除了处理连接,还要处理数据.
2018-1-23 Linux学习笔记
标签:指令 抓取 dba har 不能 说明 端口 iotop ges
原文地址:http://blog.51cto.com/13517946/2064320