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

OSI七层模型

TCP/IP四层模型

2、简述iproute家族命令

ip命令:

  ip [OPTIONS] OBJECT {COMMAND|help}

  ip link:network device configuration.

    ip link set DEV:修改设备属性

      1) up或down:启用或停用接口;示例,ip link set eth1 up/down

      2) multicast on 或 multicast off:启用或禁用多播功能;示例,ip link set eth1 multicast on/off

      3) name NAME:重命名接口;示例,ip link set eth1 name eth666

      4) mtu NUMBER:设置MTU的大小,默认为1500;(MTU,最大传输单元,某一层通信协议上所能承受的最大数据包大小;MTU越大承载的有效数据包就越大)

      5) netns PID:将指定的网卡移动到指定的虚拟网络(本地系统将看不到这块网卡)

         示例,ip netns add mynet ( 构建虚拟网络mynet )

            ip link set eth1 netns mynet ( 将接口eth1添加到虚拟网络mynet )

            ip netns exec mynet ip link show ( 查看虚拟网络mynet的接口信息 )

            ip netns del mynet ( 删除虚拟网络 )

    ip link show/list:显示设备属性

    ip link help:显示简要使用帮助

  ip netns:manage network namespaces.

  释义:netns是linux中提供网络虚拟化的一个项目,使用netns可以在本地虚拟化出多个网络环境,每个虚拟网络空间都独立于当前系统的网络空间,其中的网络设备及iptables规则等都是独立的。

    1) ip netns list:列出所有的netns

    2) ip netns add NAME:创建指定的netns

    3) ip netns del NAME:删除指定的netns

    4) ip netns exec NAME COMMAND:在指定的netns中运行命令

    5) ip netns help:显示简要使用帮助
    6) exit:退出虚拟网络

  ip address:protocol address management.

    1) ip address add IFADDR dev IFACE:给指定网卡添加多一个IP;示例,ip address add 192.168.10.2/24 dev eth1

        [label NAME]:为额外添加的地址指明接口别名;示例,ip address add 10.1.1.10/8 dev eth1 label eth1:0

        [broadcast ADDRESS]:广播地址;会根据IP和NETMASK自动计算得到;

        [scope SCOPE_VALUE]:global:全局可用;link:接口可用;host:仅本机可用

    2) ip address delete IFADDR dev IFACE:删除接口的ip;示例,ip address delete 10.1.1.10/8 dev eth1

    3) ip address list/show [IFACE]:显示接口的地址信息;示例,ip address show,ip address list eth1

    4) ip address flush dev IFACE:清空接口所有的地址信息;示例,ip address flush dev eth1

  ip route:routing table management.

    1) ip route add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP]:添加路由信息;
      示例,ip route add 10.0.2.0/24 via 10.0.1.11 (到达10.0.2.0/24网络的下一跳地址为10.0.1.11)
         ip route add 10.0.2.0/24 dev eth0 (通过接口eth0到达10.0.2.0/24网络)
         ip route add 192.168.1.0/24 via 10.0.0.1 dev eth1 (到达192.168.1.0/24网络须通过接口eth1的下一跳地址10.0.0.1)

         ip route add 192.168.1.0/24 via 10.0.0.1 dev eth1 src 10.0.10.100 (通过eth1接口的10.0.10.100地址,经下一跳10.0.0.1到达网络192.168.1.0/24;此条路由的网关是本机)

         ip route add default via 172.16.0.1 dev eth0 (添加默认路由,通过eth0接口经下一跳172.16.0.1出去)

    2) ip route del:删除路由信息

      示例,ip route delete 192.168.1.0/24

         ip route show:显示路由信息

    3) ip route flush - flush routing tables

      示例,ip route flush 192.168.1.0/24

    4) ip route get:获取路由信息

      示例,ip route get 192.168.0.0/24
ss命令:

  获取socket信息,显示和netstat类似的内容,但比netstat更高效。

  ss [options] [FILTER]

  options:

    -t:TCP协议的相关连接

    -u:UDP相关的连接

    -w:仅显示raw套接字的连接

    -l:显示处于监听状态的连接

    -a:所有状态的连接

    -n:不解析服务名称

    -p:显示使用socket的进程

    -e:显示详细的信息

    -m:内存用量
    -s:显示socket使用概况

    -o:计时器信息

  FILTER:
    =[state TCP-STATE] [EXPRESSION]

    TCP-STATE包括:

        LISTEN:监听

        ESTABLISEHD:建立的连接

        FIN_WAIT_1:等待远程TCP连接中断请求

        FIN_WAIT_2:从远程TCP等待连接中断请求

        SYN_SENT:客户端发送请求连接

        SYN_RECV:服务端接收请求连接

        CLOSED:没有任何连接

        示例,ss -tan state ESTABLISHED

    EXPRESSION:

        dport=

        sport=

        示例,ss -tan '( dport = :22 or sport = :22 )' (注意,此命令空格不能省略)

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

htop

  基于文本模式的、交互式的进程查看器,主要用于控制台或shell中,比top命令更加人性化,可以说是top的高级版。Linux系统默认不安装htop,需要自行安装,可以登录官网下载安装或配置epel源,通过yum install htop安装。

  htop的使用:

    [root@happiness ~]# htop

    总共分成四个区:

    1)上左区:显示CPU(1、2表示CPU的核数)、物理内存和交换分区的信息;

    2)上右区:显示任务数量(tasks)、平均负载(load average)和系统从开机到现在的运行时长;

    3)进程区域:动态显示当前系统中的所有进程;

    4)操作提示区:显示当前界面中F1~F10功能键中定义的快捷功能。

  htop常用功能键:

    F1 : 查看htop使用说明

    F2 : 设置

    F3 : 搜索进程

    F4 : 过滤器,按关键字搜索

    F5 : 显示树形结构

    F6 : 选择排序方式

    F7 : 减少nice值,这样就可以提高对应进程的优先级

    F8 : 增加nice值,这样可以降低对应进程的优先级

    F9 : 杀掉选中的进程

    F10 : 退出htop

    / : 搜索字符

    h : 显示帮助

    l :显示进程打开的文件

    u :显示所有用户,并可以选择某一特定用户的进程

    s : 将调用strace追踪进程的系统调用

    t : 显示树形结构

    H :显示/隐藏用户线程

    I :倒转排序顺序

    K :显示/隐藏内核线程

    M :按内存占用排序

    P :按CPU排序

    T :按运行时间排序

    上下键或PgUP,PgDn:移动选中进程

    左右键或Home,End:移动列表

    Space(空格):标记/取消标记一个进程

  htop常用选项:

    -d #:指定延迟时间间隔

    -u UserName:仅显示指定用户的进程

    -s COLUME:以指定字段进行排序

vmstat

  指定时间间隔内,动态监控系统的虚拟内存、进程、CPU活动的整体情况,属于低开销工具。命令格式:vmstat [options] [ delay [count] ]。

    delay:刷新时间间隔,如果不指定,只显示一条结果;

    count:刷新次数;如果不指定count但指定了delay,这时会一直刷新。

  常用的options选项:

    -a:显示活跃和非活跃内存

    -f:显示从系统启动至今的fork数量

    -m:显示slab信息(slab,Linux的内存分配机制)

    -n:只在开始时显示一次各字段名称

    -s:显示内存相关统计信息及多种系统活动数量

    -d:显示磁盘相关统计信息

    -p:显示指定磁盘分区统计信息

    -S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(bytes)。默认单位为K(1024 bytes)

    -V:显示vmstat版本信息

  示例:

    默认显示1次摘要信息

        

    间隔2秒刷新1次摘要,总共显示3次

         

    关键字释义:

    

4、使用while实现ping 192.168.0.0/24网络

#!/bin/bash
declare -i up=
declare -i down=
declare -i i=
declare -i j=
trap 'interrupt_trap' INT interrupt_trap() {
echo "QUIT"
echo "There are $up ips being up."
echo "There are $down ips being down."
exit
} while [ $i -le ]; do
while [ $j -le ]; do
if [ $i -eq -a $j -eq ]; then
break
fi
ping -W1 -c1 192.168.$i.$j &> /dev/null
if [ $? -eq ]; then
echo "192.168.$i.$j is up."
let up++
else
echo "192.168.$i.$j is down."
let down++
fi
let j++
done
j=
let i++
done echo "There are $up ips being up."
echo "There are $down ips being down."

Linux相关网络命令的更多相关文章

  1. Linux相关网络命令大全 网络接口 域名分析

    Linux网络设置一.查看网络接口信息ifconfig① 查看所有活动的网络接口信息② 查看指定网络接口信息补充二.查看主机名称hostname① hostname命令② 永久设置主机名三.查看路由表 ...

  2. Linux实战教学笔记19:Linux相关网络知识梳理

    第十九节 Linux相关网络知识梳理 标签(空格分隔): Linux实战教学笔记-陈思齐 一,前言 一个运维有时也要和网络打交道,所以具备最基本的网络知识,对一个运维人员来说是必要的.但,对于我们的工 ...

  3. Linux基本命令 网络命令

    概述 网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ...

  4. Linux 相关scsi命令

    Linux 相关scsi命令 由于前段时间存储扩容,对存储操作较多,下面记录了常用的操作: lsscsi命令:显示scsi设备信息 #lsscsi [0:0:0:2]    disk    IBM   ...

  5. linux常用网络命令ping和arping

    linux常用网络命令ping和arping ping 向目标主机发送icmp请求包 常用来测试当前主机与目标主机网络连接状况 常见选项 -c              设置发包的个数 -s      ...

  6. Linux学习笔记(9)linux网络管理与配置之一——Linux基础网络命令与学习大纲(0)

    大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配置DNS客户端 4.配置名称解析顺序 5.配置路由与默认网关 6.双网卡绑定 [1] ping [2]net ...

  7. [Linux] 017 网络命令与挂载命令

    1. 网络命令:write 命令名称:write 命令所在路径:/usr/bin/write 执行权限:所有用户 语法:write [用户名] 功能描述:给用户发信息,以 Ctrl-d 保存结束 范例 ...

  8. linux网络管理----网络命令

    1 Linux网络命令之网络环境查看命令  ifconfig  2 Linux网络命令之网络测试命令  telnet 基本已经被ssh替代了,telnet是明文传递,不安全

  9. 一起来学linux:网络命令

    首先介绍最基本也是经常用到的命令ifconfig,对应windows中的ipconfig.执行ifconfig会将所有的端口信息都显示出来,包括IP地址,MTU 接收和发送的报文还有HWaddr也就是 ...

随机推荐

  1. MUI框架-06-静态页制作(图片轮播)

    MUI框架-06-静态页制作(图片轮播) 轮播也是静态,是相对页面交互来说 上一篇介绍了如何设计一个简单的界面,还没有接触过,请先查看: MUI框架-01-介绍-创建项目-简单页面 轮播组件 之前也介 ...

  2. 4类Storage方案(AS开发实战第四章学习笔记)

    4.1 共享参数SharedPreferences SharedPreferences按照key-value对的方式把数据保存在配置文件中,该配置文件符合XML规范,文件路径是/data/data/应 ...

  3. MySQL事务管理

    事务就是一组原子性的SQL查询,或者说一个独立的工作单元.如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就执行该组的全部语句,如果其中有任何一条语句因为崩溃或者其他原因无法执行,那么所有 ...

  4. 移动端tap事件的封装

    /*封装tap*/ cc.tap = function(dom,callback){ /* * 要求 没有触发 touchmove 事件 * 并且响应速度要比click快 */ if(dom & ...

  5. 电话面试问答Top 50 --[伯乐在线]

    今年是2015年,在过去几年中,电面(电话面试)是筛选程序员职位候选人的最流行的方式.它让雇佣双方很容易互相了解对方,候选人不需要去未来雇主的所在地,面试官也不用做额外的安排.这是我介绍程序员面试问题 ...

  6. 6 Dockerfile指令详解 && ENTRYPOINT 指令

    ENTRYPOINT 的格式和 RUN 指令格式一样,分为 exec 格式和 shell 格式. ENTRYPOINT 的目的和 CMD 一样,都是在指定容器启动程序及参数. ENTRYPOINT 在 ...

  7. metasploit 渗透测试笔记(meterpreter篇)

    0x01 背景 meterpreter作为后渗透模块有多种类型,并且命令由核心命令和扩展库命令组成,极大的丰富了攻击方式. 需要说明的是meterpreter在漏洞利用成功后会发送第二阶段的代码和me ...

  8. Angular Reactive Form-响应式表单验证

    内建验证规则 Angular中提供了一些內建的Validators,这些验证规则可以在Template-Driven或Reactive表单中使用. 目前 Angular 支持的内建 validator ...

  9. 6、Android---运用手机多媒体(待完成)

    6.1.程序运行在手机上 6.2.使用通知 通知是Android中比较由特色的一个功能 当某个应用程序需要向用户发出一些提示信息时 而该程序由不在前台的显示 就可以借助通知来实现 6.2.1.通知的基 ...

  10. 29、springboot与检索(1)

    一.检索 我们的应用经常需要添加检索功能,开源的 ElasticSearch 是目前全文搜索引擎的首选. 他可以快速的存储.搜索和分析海量数据.Spring Boot通过整合Spring Data E ...