2018.8.21日,预习笔记,日常运维

笔记目录

  1. 使用w查看系统负载
  2. vmstat命令
  3. top命令
  4. sar命令
  5. nload命令
  6. 监控io性能
  7. free命令
  8. ps命令
  9. 查看网络状态
  10. Linux下抓包
  11. Linux网络相关
  12. tcp三次握手四次挥手
  13. tshark几个用法

 

一.使用w查看系统负载

  • #w 查看系统负载;主要关注第一行最后三个数值,分别是1,5,15分钟内系统的负载时多少(和CPU有关)单位时间内使用CPU的活动进程有多少个(平均值)

5fa94917283ddd0293596ed853e27a1ccfc.jpg

  • #date 查看当前系统的时间

e213871ee34b57645b611773a3431871c05.jpg

  • #cat /proc/cpuinfo 查看cpu详细信息,processor值为0代表单核CPU。

2018.8.21日,预习笔记,日常运维_第1张图片

  • #uptime 简单查看当前系统负载值

ddeb356b940ff188d5665f02363e0f2728b.jpg

二.vmstat命令

  • #vmstat 查看cpu内存,一般系统负载偏高是用该命令查看。

07df06568e26349c50a859a50c25bbfa5cd.jpg

r列表示有多少进程在run(运行)的状态

b代表cpu以外的资源被其他进程占用

swpd当内存不够是数字会发生变化

si代表有多少kb的数据从swp进入内存中

bi代表从磁盘中出来到内存中去,bo代表写去数据量数值大小代表磁盘数据的读写频率

us表示用户级别的一些资源占用的cpu百分比

us+sy+id=100

wa代表等待CPU的百分比

  • #vmstat 1 5 查看内存信息,一秒更新打印一次,一共打印5条。

2018.8.21日,预习笔记,日常运维_第2张图片

 

三.top命令

2018.8.21日,预习笔记,日常运维_第3张图片

  • #top 查看进程所占的系统资源,动态显示,3秒更新一次
  • zombie僵尸进程表示主进程被意外终止,子进程只好自生自灭,会占用资源

2018.8.21日,预习笔记,日常运维_第4张图片

主要关注us的值(代表CPU使用率)

RES代表物理内存的大小,单位是k字节

默认按CPU占用大小排序,按M可以按内存占用大小查看排序

按P切换回CPU占用排序

按1可以显示所有CPU的使用值

按q退出

  • #top -c 可以查看具体进程路径

2018.8.21日,预习笔记,日常运维_第5张图片

  • #bop -bn1 可以静态显示所有进程

2018.8.21日,预习笔记,日常运维_第6张图片

 

 

四.sar命令

2018.8.21日,预习笔记,日常运维_第7张图片

  • #yum install -y sysstat 安装该命令
  • #ls /var/log/saxx 每十分钟生成一个文件在该目录下,历史文件存放处
  • sar -n DEV 查看网卡流量

2018.8.21日,预习笔记,日常运维_第8张图片

rx代表接收到的数据包,tx是发送出去的数据包

rxpck数值几千的值大概是正常的,上万的话,可能被攻击了

 

  • #sar 

3cd8980fc9f4da47e31af65a07ca18a8c81.jpg

  • #sar -n DEV -f /var/log/sa/sa17 查看历史信息,这个历史信息最多保留一个月

bcb9426ecb3363558fffb129c1fb89b0513.jpg

  • #sar -q  查看系统负载
  • #sar -b 1 5 看开磁盘读写情况和磁盘负载

2018.8.21日,预习笔记,日常运维_第9张图片

 

 

五.nload命令

2018.8.21日,预习笔记,日常运维_第10张图片

  • #yum install -y epel-release
  • #yum install nload 
  • #nload 动态显示网卡流量平均速度

2018.8.21日,预习笔记,日常运维_第11张图片

  • 按方向键左右可以切换网卡
  • 按q退出

 

六.监控io性能

2018.8.21日,预习笔记,日常运维_第12张图片

  • #iostat -x 查看磁盘使用情况

2018.8.21日,预习笔记,日常运维_第13张图片

io百分比表示等待执行的进程

wkb数值很大的话,说明硬盘可能有故障

  • #yum install -y iotop 安装iptop命令
  • #iptop 查看是进程信息,磁盘实时读写速率

f647e70f5122b2d8b8d0fbb4483c32cb89a.jpg

 

七.free命令

2018.8.21日,预习笔记,日常运维_第14张图片

  • #free 查看内存的使用情况

b5b05b7efac67e92702739634088ad26653.jpg

第一列是内存的总大小,单位是kb

第二列是使用了多少

第三列是剩余内存数量

buff/cache(缓冲和缓存)是预分配内存的量

磁盘 > 内存(cache缓存)> CPU;CPU >内存(buff缓冲)> 磁盘

公式total=used+free+buff/cache

available=free和buffer/cache 的剩余部分

  • #free -m/-g/-h 有单位的显示内存使用情况

2018.8.21日,预习笔记,日常运维_第15张图片

 

 

八.ps命令

2018.8.21日,预习笔记,日常运维_第16张图片

  • #ps aux 查看系统所有的进程,静态打印当前进程使用情况

2018.8.21日,预习笔记,日常运维_第17张图片

  • #ps -elf 同样也是查看所有进程使用情况
  • #ps -C 进程名 查看系统里是否有这个进程
  • #ps aux |grep 过滤出你想要找的进程
  • #kill 1234 用来杀死某个进程
  • #ls -l /proc/505/ 查看505该进程在哪运行的

D 是不能中断的进程

R run状态下的进程

S sleep状态下的进程

T 暂停的进程

Z 僵尸进程

< 高优先级的进程

N 低优先级的进程

s 主进程

| 多线程进程

+ 前台进程

 

九.查看网络状态

2018.8.21日,预习笔记,日常运维_第18张图片

  • #netstat 查看网络状态
  • #netstat -lnp 查看监听端口

2018.8.21日,预习笔记,日常运维_第19张图片

  • #netstat -an 查看系统所有的网络连接状态,也就是tcp/ip状态

2018.8.21日,预习笔记,日常运维_第20张图片

  • ss -an和netstat -an 用法相似,但是比netstat更快

dca7f72e60c517a3beeb8914c2dae1a874a.jpg

  • sockets是uninx用户互相通信的文件(同网段)

2018.8.21日,预习笔记,日常运维_第21张图片

  • #netstat -an | awk '^tcp/{++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}' 查看所有状态的数字

2018.8.21日,预习笔记,日常运维_第22张图片

 

十.Linux下抓包

2018.8.21日,预习笔记,日常运维_第23张图片

  • #yum install -y tcpdump 安装tcpdump命令
  • #tcpdump -nn -i ens33 查看网卡的数流向

60b8a8280c67665d820a473b95da169f60a.jpg

  • #DDos 攻击,看udp flood
  • #tcpdump -nn port 80 指定筛选该端口的包

7380cc7fbea2c519c525ab754b1dae20047.jpg

  • #tcpdump -nn not port 22 and host 192.168.1.1 指定不要22端口的,只要该ip地址的包
  • #tcpdump -nn -c 100 -w 1.txt 指定数据包只抓取100个并存到1.txt文件里面去

528956104215a75a30d8527c01b33e655ae.jpg

该终端不产生数据流的话,就不会产生那么多数据包,新开一个终端去运行产生数据流,就可以抓到你一定量的包了

  • #file /1.txt 可以查看到该文件的大概信息

5754d23e485bf2a573fbdee88672fc62c67.jpg

  • 这个文件是不可以cat的,会乱码
  • #tcpdump -r /1.txt    则可以查看改文件信息,用来读取抓来的包

2018.8.21日,预习笔记,日常运维_第24张图片

  • #yum install -y weireshark 安装该抓包工具
  • #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访问信息

2018.8.21日,预习笔记,日常运维_第25张图片

 

十一.Linux网络相关

2018.8.21日,预习笔记,日常运维_第26张图片

  • #yum install net-tools 安装ifconfig命令
  • #ipconfig 查看网卡ip
  • #ifconfig -a 当你的网卡没有ip的时候,就可显示网卡信息
  • #ifdown ens33 /ifup ens33 开启关闭网卡
  • #ifdown ens33 &&ifup ens33 重启该网卡
  • 设置虚拟网卡

进入网卡配置文件下

2018.8.21日,预习笔记,日常运维_第27张图片

拷贝一份网卡配置文件

a5075bfeb1b0a7b5040a275fb24d331e105.jpg

将下图箭头所指三个位置改成下图所示

2018.8.21日,预习笔记,日常运维_第28张图片

重启网卡

768a2a45d8e6eafdb9a5d9657274445f6a4.jpg

#ifconfig查看网卡

2018.8.21日,预习笔记,日常运维_第29张图片

  • #mii-tool ens33 查看网卡是否连接
  • #ethtool ens33 也可以查看网卡是否连接

881c9feb5e7c806f5813b455d1b41a7c26c.jpg

主要查看link detected后的内容

  • #hostnamectl set-hostname aminglinux-oo1 更改主机名
  • #cat /etc/hostname 查看主机名的配置文件
  • #cat /etc/resolv.conf 查看DNS配置文件

d046a7d3b1ea9141eb501dcd0dd2a25c8ab.jpg

  • #cat /etc/hosts 更改配置域名ip连接到哪,可以让同样的网站访问不同的地址,只在本机生效,

2018.8.21日,预习笔记,日常运维_第30张图片

  • 设置和删除IP

#ip addr add 192.168.10.10/24 dev eth0

#ip addr show eth0

#ip addr del 192.168.10.10/24 dev eth0

  • 路由器相关设置

#ip route show

#ip route add default via 192.168.10.1

#ip route add 192.168.5.0/24 dev eth0

#ip route del 192.168.10.1

  • 另外用route命令来管理路由:

网络路由:#route add -net 192.168.1.0/24 gw 172.16.1.106

主机路由:#route add -host 192.168.1.110 gw 172.16.1.106

默认路由:#route add default gw 172.16.1.106 或者#route add -net 0.0.0.0 gw 172.16.1.106

删除路由:#route del -host 192.168.1.110   #route del -net 192.168.1.0/24

  • 显示网络统计数据

#ip -s link

#ip -s -s link ls eth0

  • 停止开启网卡

#ip link set eth0 down

#ip linke set eth0 up

  • 更改网卡名字

#ip link set ens37 name eth1

 

十二.tcp三次握手四次挥手

打开下方地址查看详细内容:

http://www.doc88.com/p-9913773324388.html

 

十三.tshark几个用法

  • 默认我们的机器上是没有安装这个工具的。如果你的linux是CentOS那么就使用yum安装

yum  install  -y  wireshark
也可以到官网下载源码 http://www.wireshark.org 
具体安装方法,请参考 http://www.qtasp.cn/wiresharkcharpt/buildingwireshark.html

  • 以下,简单介绍这个抓包工具的应用

1. 以下的用法可以显示访问http请求的域名以及uri

  1. 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"


2. 以下可以抓取mysql的查询

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

另外一种方法:

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


3. 以下可以抓取指定类型的MySQL查询

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


4. 统计http的状态

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

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

5.  tshark 增加时间标签   

  1. tshark  -t  ad
  2. tshark  -t  a



参考  
https://ask.wireshark.org/questions/16964/analyzing-http-protocol-using-tshark

 

 

 

 

转载于:https://my.oschina.net/u/3912766/blog/1932768

你可能感兴趣的:(2018.8.21日,预习笔记,日常运维)