七周二次课(5月7日)
10.6 监控io性能
10.7 free命令
10.8 ps命令
10.9 查看网络状态
10.10 linux下抓包
扩展tcp三次握手四次挥手 http://www.doc88.com/p-9913773324388.html
tshark几个用法:http://www.aminglinux.com/bbs/thread-995-1-1.html
1. iostat监控io性能
iostat -x
磁盘使用
%util
列
iostat -x 1
每秒显示1次
iotop
yum install -y iotop
2. free 查看内存使用情况
free -m
free -h
关注available
total = used + free + buff/cache
available = free + buff/cache剩余部分
Linux会预分配部分内存给buff/cache
Cache与Buffer区别
数据读取: 磁盘 –> 内存(cache) –> CPU
数据写入: CPU –> 内存(buffer) –> 磁盘
Cache台湾翻译为快取
3. ps命令
process
ps aux
列出系统所有进程
ps aux |grep nginx
a
: 也显示其他用户的进程
u
: 查看系统中属于自己的进程
x
: 启动进程的用户和启动时间
ps -elf
-e
: 显示所有进程
-l
: 长格式
-f
: 全格式
ls -l /proc/pid号
查看进程从哪启动
VSZ
: 虚拟内存 Virtual Memory Size
RSS
: 物理内存 Resident Set Size
STAT
进程状态
D
: 不能中断的进程. 比较少见
R
: run
S
: sleep
T
: 暂停
Z
: 僵尸进程
<
: 高优先级进程
N
: 低优先级进程
L
: 内存中被锁了内存分页. 了解即可
s
: 主进程
l
: 多线程进程
+
: 前台进程
4. netstat 查看网络状态
netstat -lnp
查看监听端口
netstat -lntp
只看出tcp的, 不包含socket
netstat -an
查看系统的网络连接状况
a
: 所有
l
: 仅显示监听的socket
n
: 直接用IP, 禁用域名解析
t
: 仅显示tcp协议的连接状况
p
: 显示正在用的socket的程序名和PID
netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'
查看所有状态的数字
关注ESTABLISHED值. 一般1000以内.
ss -an和netstat异曲同工
ss -an
ss -an |grep -i listen
5. linux下抓包
抓包工具tcpdump
yum install -y tcpdump
tcpdump -nn
-nn
: 用IP代替主机名, 数字端口代替服务名
tcpdump -nn -i eth0
-i
: 指定网卡
tcpdump -nn port 80
指定端口
tcpdump -nn not port 22 and host 114.114.114.114
排除端口, 指定IP
tcpdump -nn -i ens33 -c 100 -w /tmp/1/cap
-c
: 指定只抓100个数据包.
-w
: 保存到文件
tcpdump -r /tmp/1/cap
-r
: read. 查看数据包
wireshark
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访问记录
6. TCP 三次握手, 四次挥手
三次握手, 四次挥手
A 客户端: 吃没?
B 服务端: 恩, 你呢? (能听懂, 并做出正确应答)
A客户端: 吃了. (能听懂, 并做出正确应答)
为保证双工,必需保证服务器端和客户端都能发送和接收信息.
那为什么需要三次握手呢?请看如下的过程:
A向B发起建立连接请求:A——>B;
B收到A的发送信号,并且向A发送确认信息:B——>A;
A收到B的确认信号,并向B发送确认信号:A——>B。
三次握手大概就是这么个过程。
通过第一次握手,B知道A能够发送数据。通过第二次握手,A知道B能发送数据。结合第一次握手和第二次握手,A知道B能接收数据。结合第三次握手,B知道A能够接收数据。
至此,完成了握手过程,A知道B能收能发,B知道A能收能发,通信连接至此建立。三次连接是保证可靠的最小握手次数,再多次握手也不能提高通信成功的概率,反而浪费资源。
那为什么需要四次挥手呢?请看如下过程:
A向B发起请求,表示A没有数据要发送了:A——>B;
B向A发送信号,确认A的断开请求请求:B——>A;
B向A发送信号,请求断开连接,表示B没有数据要发送了:B——>A;
A向B发送确认信号,同意断开:A——>B。
B收到确认信号,断开连接,而A在一段时间内没收到B的信号,表明B已经断开了,于是A也断开了连接。至此,完成挥手过程。
可能有捧油会问,为什么2、3次挥手不能合在一次挥手中?那是因为此时A虽然不再发送数据了,但是还可以接收数据,B可能还有数据要发送给A,所以两次挥手不能合并为一次。
挥手次数比握手多一次,是因为握手过程,通信只需要处理连接。而挥手过程,通信需要处理数据+连接。
作者:purple_force
链接:https://www.jianshu.com/p/bbb6261cb13e
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
未经允许不得转载:外贸SOHO笔记 » W7-C2-0507
精彩评论
不用翻吧
币种不一样, 按你注册时选的区域来的
加速用的
Press any key to start...or Press Ctrl+C to cancel [Info] C
感谢楼主,顺便分享个自用的防封梯子:https://xbsj3462.fun/i/xy049,速度快延迟低,新用户注册免
您好 感谢大神的教程 按着您的教程安装了 ssr和trojan 但是每隔一两天就连不上了 甚至在gcp本身的管理页用
第五步没看懂什么意思
您的免费试用赠金还剩 NT$9,067.00 每月估算费用为 $5.40 每小时约为 $0.007 用多少,付多少