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. jQuery 所有版本在线引用

    jquery-3.1.1(最新) 官网jquery压缩版引用地址: <script src="https://code.jquery.com/jquery-3.1.1.min.js&q ...

  2. 最好的原型和流程图绘制工具:OmniGraffle_交互设计

    原文地址:http://www.shangxueba.com/jingyan/2230668.html 使用哪种原型设计工具"大概是设计师闲聊时出现频率最高的话题之一.据我了解一般以Visi ...

  3. 准备你的 In-app Billing 程序

    准备好你的内购应用 在开始使用 In-app Billing 服务之前,你需要先把包含 In-app Billing Version 3 API 的库添加到你的Android工程中.你还需要设置你的应 ...

  4. 关于用GetManifestResourceNames读不出资源文件的解决

    在写程序时,需要读出所有资源的图片文件,程序工作正常, Assembly asm = Assembly.GetExecutingAssembly();string[] resourceNames = ...

  5. 企业级Ngnix基于域名的配置_include

    使用include进行nginx.conf文件1. 编辑文件 vim /usr/local/nginx/conf/nginx.conf worker_processes 1; events { wor ...

  6. 在IIS上发布网站后,在编译时出现CS0016拒绝访问错误

    错误如下图所示:     关键性错误信息:   编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Te ...

  7. Asp.Net MVC Identity 2.2.1 使用技巧(一)

    开发环境:vs2015 UP3  or  vs2017RC  项目环境:asp.net 4.6.1   identity版本为:asp.net identity 2.2.1 1.创建项目. 没什么好说 ...

  8. php测试工具

    如果是测压力有apache的ab如果要看性能则有xdebug和xhprof.还有linux的strace命令来跟踪程序的执行时的系统调用

  9. January 08 2017 Week 2nd Sunday

    Believe not all that you see nor half what you hear. 眼见的不能全信,耳闻的也不能半信. What you hear, what you see, ...

  10. BZOJ 1588 营业额统计 set

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1588 题目大意: 营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交 ...