博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux基础,日常运维,2
阅读量:6692 次
发布时间:2019-06-25

本文共 2626 字,大约阅读时间需要 8 分钟。

hot3.png

监控IO性能

iostat -x 磁盘使用,关注%util,超过50%就要重视 iotop 磁盘使用

输入图片说明

free 查看内存使用情况 free -m / -g / -h buffer/cache 区别 公式:total=used+free+buffer/cache avaliable包含free和buffer/cache剩余部分

buffer 缓冲 cache 缓存

输入图片说明

0000(磁盘)---> 内存(cache)------>cpu

cpu(0000)---->内存(buffer)---->-----磁盘

* buffers/cached(used):实际使用的buffers与cache总量,也是实际使用的内存;buffers/cached(free):未被使用的buffers与cached和未被分配的内存之和,这就是系统当前实际可用的内存。* buffers也是即将被写入磁盘的,cache是被从磁盘中读出来的。

ps命令

ps 查看系统进程 用法:ps aux、ps -elf(查看某个进程存不存在:ps aux | grep xxx)

PID:进程ID,在linux中内核管理进程靠PID来识别和管理某一个进程,终止某个进程,用kill进程的PID有时不能杀掉,则需要加个-9参数, kill -9 进程PID,kill -HUP 进程PID 表示重新加载该进程。

ls -l /proc/PID/ 可以查询到进程是从哪里启动的,对于找攻击源有帮助。

输入图片说明

STAT部分说明(STAT表示进程的状态,分为以下几种) D 不能中断的进程(通常为IO) R run状态的进程 S sleep状态的进程(worker process) T 暂停的进程 X 已经死掉的进程 Z 僵尸进程 < 高优先级进程 N 低优先级进程 L 内存中被锁了内存分页 s 主进程(master process) l 多线程进程

  • 前台进程

输入图片说明

查看网络状态

netstat 查看网络状态 netstat -lnp 查看监听端口 netstat -an 查看系统的网络连接状况 netstat -lntp 只查看tcp的,不包含socket ss -an 和 nestat异曲同工

输入图片说明

socket是同台服务器不同进程间进行通信的,而tcp、udp、ip是不同服务器间进行通信的。

输入图片说明

三次握手和四次挥手

输入图片说明

小技巧:

统计连接状态:

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

输入图片说明

关注ESTABLISHED数值,这个数值即并发连接数,一般几千个。

SYN网络攻击: 原理:

在三次握手过程中,Server发送SYN-ACK之后,收到Client的ACK之前的TCP连接称为半连接(half-open connect),此时Server处于SYN_RCVD状态,当收到ACK后,Server转入ESTABLISHED状态。SYN攻击就是Client在短时间内伪造大量不存在的IP地址,并向Server不断地发送SYN包,Server回复确认包,并等待Client的确认,由于源地址是不存在的,因此,Server需要不断重发直至超时,这些伪造的SYN包将产时间占用未连接队列,导致正常的SYN请求因为队列满而被丢弃,从而引起网络堵塞甚至系统瘫痪。

查看是否有大量的”SYN_RECEIVED“状态,可以排查是否招到攻击。

linux下抓包

tcpdump抓包工具,yum install -y tcpdump

用法:tcpdump -nn

tcpdump -nn -i 网卡名称

tcpdump -nn -i 网卡 port 80

tcpdump -nn -i eth0 tcp and host 192.168.0.1 and port 80 (-nn :显示IP和端口,否则显示主机名和服务名称 ; -i:指定某个网卡)

输入图片说明

tcpdump -nn not port 22 and host 192.168.0.100

输入图片说明

tcpdump -nn -i 网卡 -vs0 tcp and port not 22 -c 100 -w 1.cap (-v :显示详细信息 ; s0:不限定包的小大 ; not 22 (不抓22端口的包); -c 100 :只抓100个包 ; -w 1.cap : 抓的包写入1.cap文件)

输入图片说明

tcpdump -r 1.cap 查看抓包文件

输入图片说明

wireshark :yum install -y wireshark

* 抓包分析http请求: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"

类似web访问日志

输入图片说明

输入图片说明

-R 抓包后过滤 -f 抓包前过滤 -T,-e: 指的是打印这两个字段 -e: 如果-T fields选项指定,-e用来指定输出哪些字段;

以下可以抓取mysql的查询

tshark -n -i eth1 -R 'mysql.query' -T fields -e "ip.src" -e "mysql.query"

或者

tshark -i eth1 port 3307 -d tcp.port==3307,mysql -z "proto,colinfo,mysql.query,mysql.query"

以下可以抓取指定类型的MYSQL查询

tshark -n -i eth1 -R 'mysql matches "SELECT|INSERT|DELETE|UPDATE"' -T fields -e "ip.src" -e "mysql.query"

统计http的状态

tshark -n -q -z http,stat, -z http,tree

这个命令,直到你ctrl + c 才会显示出结果

tshark 增加时间标签

tshark -t ad

tshark -t a

转载于:https://my.oschina.net/u/3363383/blog/1581232

你可能感兴趣的文章
aspx->cs->dll :在部署后就让所有的aspx处于已经编译成dll的状态
查看>>
存储过程介绍及asp存储过程的使用
查看>>
hibernate---->多对一关联映射
查看>>
学习动态性能表(5)--v$session
查看>>
文字在div中水平和垂直居中的的css样式
查看>>
spring与hibernate整合
查看>>
cocos creator protobuf实践
查看>>
Git 生命周期
查看>>
最短路径Floyd算法【图文详解】
查看>>
Linux 静态链接库和动态连接库
查看>>
基于DDD的现代ASP.NET开发框架--ABP系列之1、ABP总体介绍
查看>>
Hadoop生态圈-Oozie部署实战
查看>>
.NET Core中基类可以反射子类的成员
查看>>
iOS开发之OC与swift开发混编教程,代理的相互调用,block的实现。OC调用Swift中的代理, OC调用Swift中的Block 闭包...
查看>>
MyEclipse设置像visual studio一样的智能提示
查看>>
76. Minimum Window Substring
查看>>
SNS商业
查看>>
利用ICSharpCode.SharpZipLib.dll实现简单加解压 转
查看>>
今天才知道什么是欲哭无泪
查看>>
pgpool 后台运行方法
查看>>