第六周作业

1、简述osi七层模型和TCP/IP五层模型

image

应用层

运行着应用程序的协议http、ftp、tftp等

表示层

将应用层所编辑的数据进行加密或解密,没有协议

会话层

决定一次数据传输发起和接收会话请求,没有协议

传输层

根据选着的协议类型,决定是否将数据分割或重组,协议:tcp、udp等

网络层

编辑逻辑地址信息(原站点、目的站点)和路由选着(ARP)协议:ip等

数据链路层

进行物理寻址、将数据转化为帧或解析,协议:PPP等

物理层

用于规定机械的、电器的、功能和过程的特性进行bit传输。协议:ieee 802.1a等


2、简述iproute家族命令

iproute 家族命令

iproute 是一组网络管理命令的集合,其中有ip、route、ss、等等

ip 命令

用来显示操作路由、设备、策略路由和隧道的状态

用法简介:

ip [ OPTIONS ] OBJECT { COMMAND | help }

常用 OBJECT 命令:

  • link
  • address
  • route
  • netns

link 常用子命令:

管理网络设配配置

  • ip link set { DEVICE | dev DEVICE | } { COMMAND } 设置网络配置
    • dev NAME(default): 指明要管理的设备,dev可省略
    • up | down:启用或禁用设备
    • multicast on | multicast off:启用或禁用组播
    • name NAME:设置接口名 【需要先停用设备】
    • mtu NUMBER: 修改mtu默认值,
    • netns PID | namespace:把接口移动到指定的网络名称空间。
  • ip link show [ dev DEVICE ] : 查看二级设备属性
  • ip link help : 显示简要使用说明

netns 常用子命令:

管理网路的命令空间

  • ip netns { COMMAND | help }
    • list: 列出所有的网络命令空间
    • add NAME: 创建指定的网络命令空间
    • del NAME: 删除指定的网络命令空间
    • exec NAME COMMAND: 在指定的网络命令空间中运行命令

address 常用子命令:

管理网络协议端口,

  • ip addr add IFADDR dev IFACE [ LIFETIME ] [ CONFFLAG-LIST ]
    • [label NAME]:为额外添加的地址指明接口别名。
    • [broadcast ADDRESS]: 广播地址,会根据ip 和 NETMASK自动计算得到。
    • [scope SCOPE_VALUE]
      • global:全局可用,可ping通
      • link:接口可用,自己可ping
      • host:仅本机可用,不可被ping
  • ip address delete 删除网络协议地址
  • ip address show 显示接口协议地址
  • ip address flush 清空网络协议地址

route 常用子命令:

管理路由表

  • ip route { COMMAND }
    • add TYPE PREFIX via GW [dev_IFACE] [src_SOURCE_IP]: 添加路由
    • change :修改路由
    • replace :存在则替换否则添加一个新的
    • delete TYPE PRIFIX :删除路由
    • show [ TYPE PRIFIX ]:显示路由地址
    • flush TYPE PRIFIX:清除路由表
    • get TYPE PRIFIX : 获取指定路由状态

ss 命令

用来过滤显示 套接字的相关工具

ss [options] [FILTER]

常用选项:

  • -t:TCP协议的相关连接
  • -u:UDP相关的连接
  • -w:raw socket相关的连接 (裸套接字)
  • -l:监听状态的连接
  • -a:所有状态的连接
  • -p:相关的程序及其PID
  • -e:扩展格式信息
  • -m:内存用量
  • -o:计时器信息

FILTER := [ state TCP-STATE ] [ EXPRESSION ] 只看某种状态的连接 额外的表达式 TCP的常见状态: TCP FSM:LISTEN:监听状态 ESTABLISEHD:已建立的连接, FIN_WAIT_1:等待结束的 FIN_WAIT_2:确认结束的 SYN_SENT:已经结束 SYN_RECV: * CLOSED:

EXPRESSION: dport = sport = 目标端口 源端口

3、详细说明进行管理工具htop、vmstat等相关命令,并举例

htop 命令

交互式的进程查看器,特点是可定制显示标题及鼠标操作

常用选项:

  • -d #:指定延时间隔。
  • -u userNAME: 仅显示指定用户的数据。
  • -s COLUME: 以指定字段进行排序。

操作界面子命令:

  • l:显示选定的进程打开的文件列表
  • s:跟着选定的今晨的系统调用
  • t:以层级关系显示各进程状态
  • a:将选定的进程绑定至某指定的cpu核心

界面:

image

左栏显示:
  • CPU:使用百分比
  • sys:内核使用百分比
  • Mem:内存总量
    • used:用户内存使用容量
    • buffers: 内存缓存的缓冲空间
右栏显示:
  • Tasks: 进程数
  • runing: 运行中的程序数
  • Load acerage:平均负载
  • Uptime:系统启动的累计时间
表显示:
  • USER: 进程所占用用户空间百分比
  • PID: 进程号
  • PRI: 进程优先级
  • NI: nice进程的优先级
  • VIRT: 进程占用的虚拟内存
  • RES: 进程占用的物理内存
  • SHR: 进程占用的共享内存
  • PPTID: 此进程的父进程号
  • S: 进程的运行状况
    • R:运行中
    • S:休眠中
    • z:僵尸进程
  • CPU%: 进程的cpu占用百分比
  • MEM%: 进程的内存占用百分比
  • TIME+: 进程开启的累计时间
  • Command: 运行的进程
快捷键解释:
F1: help 帮助文件

iagme F1 ? h:查看帮助文件 F2 S: 自定义查看界面 F3 |/: 增量查询 F4 |\: 增量查询并且只显示查询到的内容 F5 |t: 树状显示层级关系 F6 + -: 选着排序方式 F7 |]: 减小进程优先级 F8 |[: 增加进程优先级 F9 |k:杀死选定的进程 F10 |q : 退出 u:只显示指定用户的进程 U:取消标记所有的进程H:显示或隐藏用户进程 K:显示或隐藏用户线程 F:跟踪进程 P:按CPU使用排序 M:按内存使用排序 T:按开启累计时间排序 i:显示进程打开的文件 I:倒转排序顺序 * s:跟中选中的进程的系统调用

F2: 设置

iagme

  • Setup:设定选项
  • Meters:表
  • left column:左栏显示内容
  • Right column:右栏显示内容
  • Available meters:可选用表

Meters:调整可使用的表

可用快捷键: Enter:首次点击为选定,再次点击放置 UP:向上移动 Dn:向下移动 Lt:向左移动 Rt:向右移动 Space:切换显示模式 [ ] Del:删除表 Esc:完成并返回主界面

Display options:显示选项

iamge

  • [x]:启用
  • [ ]: 禁用

可用快捷键: space:启用或禁用 UP:向上移动 Dn:向下移动 Lt:向左移动 Rt:向右移动 鼠标点击启用或禁用 * Esc:完成并返回主界面

Colors:修改主题颜色

iamge

  • [x]:启用
  • [ ]: 禁用

可用快捷键: space:启用或禁用 UP:向上移动 Dn:向下移动 Lt:向左移动 Rt:向右移动 鼠标点击启用或禁用 * Esc:完成并返回主界面

Columns:自定显示栏

iamge

设定后的效果

iamge

可用快捷键: Enter:在可用表栏点击可直接添加, UP 或 F7:向上移动 Dn 或 F8:向下移动 Del 或 F9 :删除表 * Esc:完成并返回主界面

F3 进行条件查询

image


vmstat 命令

报告虚拟内存的统计数据

语法格式:

vmstat [OPTIONS] [delay[count]]

常用选项:

-s:显示内存的统计数据:

  • procs:
    • r:等待运行的进程的个数;CPU上等待运行的任务的队列长度;
    • b:处于不可中断睡眠态的进程个数;被阻塞的任务队列的长度;
  • memory:
    • swpd:交换内存使用总量;(生产环境中尽量不使用虚拟内存,会拖慢速度)
    • free:空闲的物理内存总量;
    • buffer:用于buffer的内存总量;buffer缓冲
    • cache:用于cache的内存总量;
  • swap
    • si:数据进入swap中的数据速率(kb/s)(一般都是从物理内存换入的)
    • so:数据离开swap的速率(kb/s) (一般都是从物理内存换出的)
  • io
    • bi:从块设备(硬盘)读入数据到系统的速度(kb/s)
    • bo:保存数据至块设备的速率(kb/s)
  • system
    • in:interrupts,中断速率;
    • cs:context switch, 上下文 切换的速率;
  • cpu
    • us: user space 用户空间占用百分比
    • sy:system 运行内核所占用的百分比u
    • id:idle 空闲的
    • wa:wait 等待io完成的
    • st: stolen 被虚拟化偷走的时间

示例:每2秒更新一次数据

image

示例:vmtat -s 详情模式显示

image

pmap 命令

通过抽取cat /proc/PID/maps用来显示内存映射表

语法格式:

pmap [options] pid […]

常用选项:

-x:显示详细格式的信息

示例: -x

iamge

示例:cat /proc/2555/maps

iamge

glances 命令

基于cross平台研发的夸平台监控工具,系统内并未携带此款软件需要进行下载

安装包下载地址:www.psgk.org

依次下载并安装 如果不需要将信息保存为HTML格式文件可以忽略1、2、

1、python-babel-0.9.4-5.1.el6.noarch.rpm

2、python-jinja2-2.2.1-3.el6.x86_64.rpm

3、 python-psutil-0.6.1-1.el6.x86_64.rpm

4、python-setuptools-0.6.10-3.el6.noarch.rpm

5、glances-1.7.4-1.el6.noarch.rpm

image

分栏内容解释: 首航显示:计算机名,系统版本及本和版本,启动累计时间

CPU:cpu使用统计 user:用户占用cpu百分比 system:内核占用cpu百分比 idle:可用用空闲的cpu百分比 nice:优先级占用cpu百分比

LOAD: 核心平均负载 1 min:1分走 5 min:5分钟 * 15 min:15分钟

MEM:物理内存统计 total: 物理内存总量 used: 用户进程已使用多少 free:可用空闲容量 buffers:被虚拟化偷走的

SWAP:虚拟内存统计 total:虚拟内存总量 used:用户虚拟内存使用 * free:空闲可使用的

NETWORK:网络端口状态 Rx/s:每秒接收的数据包 Tx/s:每秒发送的数据包

DISK I/O:磁盘状态 R/s: 每秒读取 W/s: 每秒写入

FILE SYS:文件暂用磁盘信息 Used:用户以使用容量 total:总的磁盘量

TASKS:进程详细统计信息 CPU%:cpu占用百分比 MEM%:内存占用百分比 VIRT:虚拟内存 RES:进程占用的物理内存PID:进程号 USER:启用进程的用户 NI:优先级 S:进程状态 S: 休眠中 R: 运行中 Z:僵死的 TIME+:进程累计启动时间IOW/s:进程的读、写 Command:运行此进程的命令

查看时还可使用常用选项停止指定信息刷新或将此时的运行装抽象成文件形式进行保存。

  • -b:以Byte为单位显示网上数据速率;
  • -d:关闭磁盘I/O模块;
  • -m:关闭mount模块;
  • -n:关闭network模块;
  • -t #:刷新时间间隔;修改延时
  • -1:每个cpu的相关数据单独显示;
  • -o {HTML|CSV}:输出格式; 可使用浏览器查看 centos 7 只有CSV格式
  • -f /PATH/TO/SOMEDIR:设定输出文件的位置;

禁用选项: -b -d -m -n -t 1

[root@MiWiFi-R3-srv glances]# glances -b -d -m -n -t 1

image

C/S模式使用glance 远程监控服务器系统时:注意版本需要兼容才可以。

1、首先在服务器打开模式: glances -s -B IPADDR

2、客户端模式: glances -c IPADDR

dstat 命令

非常精巧的生成系统统计数据的工具,使用命令可以独立的查看指定设备的信息。

dstat [-afv] [options..] [delay [COUNT]]

可使用yum install dstat -y 进行安装下载

imagm

可用选项: -c:显示cpu相关的状态 -d:显示磁盘的状态 -g:显示磁盘的输入输出信息 -m:显示物理内存使用率 -p:显示进程过程状态 -r:显示系统的输入、输出

进程间通信: –top-cpu:显示最占用cpu的进程 –top-io:最占用输入、出的进程 –top-mem:最占用内存的进程 –top-lantency:延时最大的进程

4、使用until和while分别实现192.168.0.0/24

网段内,地址是否能够ping通,弱ping通则输出”success!”,若ping不通则输出”fail!”

for

#!/bin/bash
#
declare -i sum=0

for i in {1..255};do
      ping -c 1 192.168.0.$[$sum+$i] > /dev/null
      if [ $? -eq 0 ];then
         echo "192.168.0.$i success!"
      else
         echo "192.168.0.$i fail!"
      fi
done

while

#!/bin/bash
#
declare -i sum=0
declare -i i=1

while [ $i -le 255 ]; do
      ping -c 1 192.168.0.$[$sum+$i] >/dev/null
      if [ $? -eq 0 ];then
           echo "192.168.0.$i success!"
      else
           echo "192.168.0.$i fail!"
      fi
      let i++
done

until

#!/bin/bash
#
declare -i sum=0
declare -i i=1

until [ $i -gt 255 ]; do
      ping -c 1 192.168.0.$[$sum+$i] >/dev/null
      if [ $? -eq 0 ];then
           echo "192.168.0.$i success!"
      else
           echo "192.168.0.$i fail!"
      fi
      let i++
done

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91474

(0)
N28_刚好遇到小熊猫N28_刚好遇到小熊猫
上一篇 2018-02-05
下一篇 2018-02-06

相关推荐

  • shell编程、查找命令、压缩文件工具

    shell编程、查找命令、压缩文件工具  shell编程 一、条件测试  1、判断某需求是否满足,需要由测试机制来实现。    测试命令:  ·test Expression  ·[ EXPRESSION ]  ·[[ EXPRESSION ]]   &nbs…

    Linux干货 2016-08-15
  • 初识路由以及小实验

    路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动。路由发生在OSI网络参考模型中的第三层即网路层。 初识路由以及小实验 根据实验的目的要求画出实验拓扑图 准备实验环境 根据实验拓扑图开始配置 配置计算机的IP: 配置路由器R1和R2的IP 配置路由 实验目的 实验准备 实验步骤 验证实验结果 实验目的 为了更好的了解路由,通过一个小…

    Linux干货 2016-11-24
  • find命令详解

    find命令详解 基本介绍 find命令用来从目录系统中查找文本不同于locate,find不从数据库中查找文件,所以find速度略逊于locate,但find是实时且准确的,而且不需要占用系统资源进行遍历文件。 其标准格式如下 find [-H] [-L] [-P] [-D debugopts] [-O level] [path…] [expressi…

    Linux干货 2017-04-09
  • Linux基础 & bash基础特性

    Q1:描述计算机的组成及其功能。 计算机的组成:运算器、控制器、存储设备、输入设备、输出设备。 运算器: 运算器是计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件。 存储设备: 计算机总是需要记录与读取数据的,而这些数据当然不可能每次都由用户经过键盘…

    Linux干货 2016-10-30
  • CentOS6系统启动流程

    概述     了解系统的启动流程,有助于我们了解Linux系统上的一些工作原理,有助于我们深入的理解一个系统的运作方式,那么本篇就以CentOS6系统为例,介绍一下有关Linux系统启动相关的内容,分为一下几个部分:     1、Linux系统的一些基础概念  &nbs…

    Linux干货 2016-09-09
  • DNS 主从协作及配置父子域实验

    实验:DNS主从协作及配置父子域实验 实验拓扑图 实验准备     1、所有主机关闭防火墙和selinux         service iptables stop       …

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2018-03-21 09:19

    赞,不错,希望博文里面的内容能够在实战环境下熟练地使用~加油