第六周作业

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

相关推荐

  • 计划任务

    任务计划Linux任务计划、周期性任务执行未来的某时间点执行一次任务:atbatch:系统自行选择空闲时间去执行此处指定的任务周期性运行某任务:cron     at任务at命令:at [option] TIME常用选项:-V 显示版本信息:-l: 列出指定队列中等待运行的作业;相当于atq-d: 删除指定的作业;相当于atrm-c: 查…

    Linux干货 2017-08-28
  • wk_02 作业

    Linux 文件管理命令 cp命令 功能 Linux 系统中cp命令是用来复制目录/文件的。 概要 单源复制 cp [OPTION]… [-T] SOURCE DEST DEST不存在则事先创建此文件,并复制源文件的数据流至DEST中; DEST存在 DEST是非目录文件:则覆盖目标文件; DEST是目录文件:则先…

    Linux干货 2016-12-11
  • N25_第一周作业_leon

    第一周博客作业 1.       描述计算机的组成及其功能 计算机主要有五大部分组成:控制器;运算器;存储器;输入设备;输出设备。   功能: 控制器:计算机的指挥系统。控制器通过地址访问存储器,从存储器中取出指令,经译码器分析后,根据指令分析结果产生相应的操作控制信号作用于其他部件,使得…

    Linux干货 2016-12-01
  • linux系统安装流程

    CnetOS6及CnetOS7 系统具体安装流程

    Linux干货 2018-03-27
  • linux 系统日志管理

         在linux系统上面,系统可以记录从开机到当前系统上面何时发生了那些事情,并将其分类,分级别写到特定的日志文件当中,如系统自身产生的问题,用户登录信息,网络数据信息等等。我们可以根据这些日志信息来解决系统方面的错误,网络服务问题等等。日志对于安全来说,非常重要,它记录了系统每天发生的各种各样的事情,你可以通过它来检查错…

    2017-08-14
  • Linux命令格式、获取帮助、文件系统

    一、Linux的命令     (一)、概念和意义:             发起一个命令:请求内核将某个二进制程序运行为一个进程;      &nbs…

    Linux干货 2016-08-15

评论列表(1条)

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

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