一、osi七层模型和TCP/IP五层模型
1、模型图
2、每一层的功能和用到的协议
二、iproute2家族
1、概述
ip 是 iproute2 软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具。例如: ifconfig、route 等。
2、命令格式
ip [ OPTIONS ] OBJECT { COMMAND | help }
● OPTIONS
-V, -Version:打印ip的版本;
-s, -stats, -statistics:输出更加详细的信息;
-f, -family: 这个选项后面接协议种类,包括:inet、inet6或者 link,强调使用的协议种类;
-o, -oneline:对每行记录都使用单行输出,换行符使用”\”代替。 如果需要使用 wc、grep 等工具处理 ip的输出会用到这个选项;
-r, -resolve:查询域名解析系统,用获得的主机名代替主机IP地址;
-4:是-family inet的简写;
-6:是-family inet6的简写;
-0:是-family link的简写。
● OBJECT
link:网络设备(网卡);
address:网卡的IP或者IPv6地址;
neighbor:ARP或者NDISC缓冲区条目;
route:路由表条目;
rule:路由策略数据库中的规则;
maddress:多播地址;
mroute:多播路由缓冲区条目;
tunnel:IP隧道,比如GRE。
● COMMAND
COMMAND 设置针对指定对象执行的操作,一般情况下,ip 支持对象的操作有:增加(add)、删除(delete)和展示(show 或者 list)。这个命令会列出这个对象支持的命令和参数的语法,如果没有指定对象的操作命令,ip 会使用默认的命令。一般情况下,默认命令是list,如果对象不能列出,就会执行 help 命令。
3、使用实例
● ip link set:修改设备的属性
● ip link show:显示设备的属性
输出格式如下,只显示处于活动状态的接口信息,信息中可以看到接口的状态、MTU、MAC地址、队列长度等信息;
使用-s(统计信息)选项查看更加详细的信息:
命令:ip -s link show eth0
RX和TX分别代表接收和发送,其中的统计信息包括:
如果-s选项出现两次或多次,则会输出更加详细的错误统计信息:
● ip address add:添加一个新的IP地址
● ip address delete:删除一个IP地址
该命令与ip address add的参数一致,其中只有设备名称是必需的参数,其它都是可选参数。如果没有给定除设备名之外的其它参数,命令就会删除这个设备的第一个地址。
示例:设备ens36有两个IPv4地址,删除第二个IPv4地址 192.168.12.12/24
命令:ip address delete 192.168.12.12/24 dev ens36
● ip address show:显示IP地址
输出格式如下,前两行和ip link show的输出是相同的,接着就是IPv4、IPv6、广播地址以及其它的地址属性;
● ip address flush:清除IP地址
该命令与ip address show的参数相同,唯一的区别是,如果不给定参数,它什么都不会做。
示例:删除当前接口上IPv4地址 10.1.1.1/30、10.1.1.5/30、10.1.1.9/30、10.1.1.13/30并输出详细信息;
命令:ip -s -s address flush to 10.0.0.0/8
● ip route add:新增路由条目该命令和ip route add的参数一致;
● ip route delete:删除路由条目
示例:删除一条路由条目 10.1.1.0/24,下一跳是192.168.1.1;
命令:ip route delete 10.1.1.0/24 via 192.168.1.1
● ip route show:列出路由条目
输出格式如下:
● ip route flush:清除路由表
该命令和 ip route show 的参数一致,只不过被操作的路由表不会被显示出来。它和 ip route show 命令唯一的区别是它们的缺省操作,ip route show 会显示出路由表 main 的所有条目,而 ip route flush 只会给出帮助信息,不对路由表进行任何操作。
示例: 删除路由表中的所有网关路由;
命令: ip -4 route flush scope global type unicast
● ip route get:获得单个路由条目的信息
这个命令的输出格式和 ip route show相同。
示例:获取目标地址为114.114.114.114的路由条目信息;
其它的OBJECTS,如neighbor、rule、mroute可通过命令man ip-neighbor、man ip-mroute、man ip-rule查看详细用法。
三、进程管理工具
1、htop
● 概述
htop是Linux系统下一个基于文本模式的、交互式的进程查看器,主要用于控制台或shell中,可以替代top,或者说是top的高级版。它有如下优点:
a. 快速查看关键性能统计数据,如CPU(多核布局)、内存/交换使用;
b. 可以横向或纵向滚动浏览进程列表,以查看所有的进程和完整的命令行;
c. 杀掉进程时可以直接选择而不需要输入进程号;
d. 通过鼠标操作条目;
e. 比top启动得更快。
● htop页面信息
运行htop后左上角显示CPU、内存、交换区的使用情况,右边显示任务、负载和开机时间;
以上各项说明:
PID:进程的标识号;
USER:运行此进程的用户;
PRI:进程的优先级;
NI:进程的优先级别值,默认为0,可以进行调整;
VIRT:进程占用的虚拟内存值;
RES:进程占用的物理内存值;
SHR:进程占用的共享内存值;
S:进程的运行状况,R表示正在运行,S表示休眠、等待唤醒,Z表示僵死状态;
CPU%:该进程占用的CPU使用率;
MEM%:该进程占用的物理内存和总内存的百分比;
TIME+:该进程启动后占用的总的CPU时间;
Command:进程启动的启动命令名称。
● htop快捷键
F1:显示帮助信息;
F2:htop设定,Meters可以设置顶端的显示信息;Display options可以设置需要显示的内容;Colors可以设置界面的颜色;Columns可以增加或取消要显示的各项内容。
F3:搜索进程,在界面下按F3或直接输入”/”就可以直接进入搜索模式,是按照进程名进行搜索的。
F4:过滤器,相当于模糊查找,不区分大小写。在下方输入关键字进行过滤查找。
F5:以树形方式显示
F6:选择排序方式
F7, F8:调整进程nice值,F7是减小;F8是增大,nice值的范围是-20~19。这里将htop进程的nice值增大至15。
F9:杀死进程,选择某进程后,可以按F9杀死该进程。
2、vmstat
● 概述
vmstat命令可以显示进程队列、内存、交换空间、块I/O和CPU的活动信息;
● 命令格式
vmstat [options] [delay [count]]
● 常用选项
-n:只在开始时显示一次各字段名称;
-a:显示活跃和非活跃内存信息;
-m:显示/proc/slabinfo;
-s:显示内存相关统计信息;
-S:使用指定单位显示,默认单位是K;
● 使用示例:
每隔5秒显示一次信息,显示2次;
命令:vmstat 5 2
显示活跃和非活跃的内存信息;
命令:vmstat -a
以M为单位,显示内存相关统计信息;
命令:vmstat -s -S M
● vmstat的输出项说明
3. iostat
● 概述
iostat命令用于输出CPU和磁盘I/O相关的统计信息;
● 命令格式
iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ -j { ID | LABEL | PATH | UUID | … } ] [ [ -T ] -g group_name ] [ -p [ device [,…] | ALL ] ] [ device […] | ALL ] [ interval [ count ] ]
● 常用选项
-c:仅显示CPU统计信息;
-d:仅显示磁盘统计信息;
-k:以KB为单位显示每秒的磁盘请求数;
-m:以MB为单位显示每秒的磁盘请求数;
-p [ { device [,…] | ALL } ]:用于显示块设备及系统分区的统计信息;
-t:在输出数据时,打印搜集数据的时间;
-x:输出扩展信息;
● 使用示例:
每隔2秒以MB为单位显示一次sda及上面所有分区的统计信息,共输出3次;
命令:iostat -m -p sda 2 3
每隔5秒显示磁盘统计信息;
命令:iostat -d 5
每隔2秒显示一次sda的扩展统计信息,仅显示1次;
命令:iostat -x sda 2 1
● avg-cpu部分的输出项说明
● Device部分的输出项说明
● Device部分扩展输出项说明
4. glances
● 概述
glances 工具可以在用户的终端上实时显示重要的系统信息,并动态地对其进行更新。主要可以监控CPU、内存、磁盘、网络、消耗资源最多的进程等信息;
● 命令格式
glances [OPTIONS]
● 常用选项
-b:显示网络连接速度;
-B BIND_ADDRESS:绑定服务器端IP地址或者主机名称;
-c CLIENT:连接glances服务器;
-d:关闭磁盘I/O模块;
-e:显示传感器温度;
-f FILE:设置输出文件,格式是HTML或者CSV;
-m:关闭挂载的磁盘模块;
-n:关闭网络模块;
-p PORT:设置运行端口,默认是61209;
-P PASSWORD:设置客户端密码;
-s:设置glances运行模式为服务器;
-t SEC:设置屏幕刷新时间间隔,单位是秒,默认是2秒;
-h:显示帮助信息;
-V:显示版本信息;
● 提供给用户使用的快捷键
h:显示帮助信息;
q:离开程序退出;
c:按照CPU实时负载对进程排序;
m:按照内存使用情况对进行排序;
i:按照I/O使用情况对进行排序;
p:按照进程名称排序;
d:显示磁盘读写情况;
w:删除日志文件;
l:显示日志;
s:显示传感器信息;
f:显示系统信息;
● 显示glances工作界面
命令:glances
● 进程部分输出项说明
● glances web server
命令:pip install bottle
glances -w
● glances输出csv表格
命令:glances –export-csv /tmp/glances.csv
四、bash编程
使用until和while分别实现192.168.10.0/24 网段内,地址是否能够ping通,若ping通则输出”success!”,若ping不通则输出”fail!”
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/102706