Linux相关网络命令

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的使用:

    [[email protected] ~]# 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、使用until和while分别实现ping 192.168.0.0/24

#!/bin/bash
declare -i up=0
declare -i down=0
declare -i i=0
declare -i j=1
trap ‘interrupt_trap‘ INT

interrupt_trap() {
    echo "QUIT"
    echo "There are $up ips being up."
    echo "There are $down ips being down."
    exit 1
}

while [ $i -le 255 ]; do
    while [ $j -le 255 ]; do
        if [ $i -eq 255 -a $j -eq 255 ]; then
            break
        fi
        ping -W1 -c1 192.168.$i.$j &> /dev/null
        if [ $? -eq 0 ]; then
            echo "192.168.$i.$j is up."
            let up++
        else
            echo "192.168.$i.$j is down."
            let down++
        fi
        let j++
        [ $j -eq 256 ] && j=1
    done
    let i++
done

echo "There are $up ips being up."
echo "There are $down ips being down."

原文地址:https://www.cnblogs.com/walk1314/p/8795488.html

时间: 2024-10-11 16:33:48

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

Linux常用网络命令总结

Linux常用网络命令总结 一.手动/自动配置IP参数与气动/关闭网络接口:ifcofig.ifup.ifdown 1.ifconfig     手动启动.查看与修改网络接口的相关参数,可以修改的参数有很多,包括ip参数以及MTU等.     语法: 1) ifconfig interface {up|down}     interface:网卡接口名称,包括:eth0.eth1等 2) ifconfig interface {options}     option:       up,down

Linux常用网络命令

网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool 用于查看 linux 服务器 ip 地址,管理服务器网络配置,通过 telnet 和 ethernet 建立与 linux 之间的网络链接,查看 linux 的服务器信息等.下面让我们看看在 Linux 下的网络和监控命令的使用. 1. hostname hostname 没有选项,显示主

Linux基本命令 网络命令

网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool 用于查看 linux 服务器 ip 地址,管理服务器网络配置,通过 telnet 和 ethernet 建立与 linux 之间的网络链接,查看 linux 的服务器信息等.下面让我们看看在 Linux 下的网络和监控命令的使用. 1. hostname hostname 没有选项,显示主

Linux 相关scsi命令

Linux 相关scsi命令 由于前段时间存储扩容,对存储操作较多,下面记录了常用的操作: lsscsi命令:显示scsi设备信息 #lsscsi [0:0:0:2]    disk    IBM      1726-4xx  FAStT  0617  /dev/sdb [0:0:0:3]    disk    IBM      1726-4xx  FAStT  0617  /dev/sdc [0:0:0:4]    disk    IBM      1726-4xx  FAStT  0617 

linux的网络命令整理 更新中

linux的网络命令整理 更新中 1.安装包: net-tools 主要命令: netstat , ifconfig , route , iptunnel iproute 主要命令: ss , ip  addr , ip  route , ip  tunnel 2.net-tools 系列主要用法: netstat #查看本机开启的 tcp[-t] udp[-u] 监听[-l] 端口,以数字形式[-n] ,显示PID|进程名称 [-p] # netstat -tunlp Proto Recv-Q

linux系统网络命令(三)

一.netstat监控网络命令 1.命令简介 netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接口设备的状态.以及网络协议相关的信息. 2.常用选项 -t  显示TCP传输协议的连线状况. -u 显示UDP传输协议的连线状况. -l  显示监控中的服务器的Socket. -a 显示所有连线中的Socket. -p 显示正在使用Socket的程序识别码和程序名称. -n 直接使用IP地址,而不通过域名服务器. -r  显示路由表,类似于r

Linux相关网络知识

网络参数设置命令所有时刻如果你想要做好自己的网络参数设置,包括IP参数.路由参数和无线网络等,就得要了解下面这些相关的命令才行.其中Route及ip这两条命令是比较重要的.当然,比较早期的用法,我们都是使用ifconfig的.? ifconfig:查询.设置网卡和IP网段等相关参数.? ifup.ifdown:这两个文件是Script,通过更简单的方式来启动网络接口.? Route:查询.设置路由表(Route table).? ip:复合式的命令,能直接修改上述命令提到的功能.ifconfig

linux系统网络命令(二)

一.linux 下iptoute2网络配置工具 前面我们已经学习使用了ifconfig.route两个关于网络配置的命令,这两个命令和netstat.arp等命令是属于net-tools的rpm的安装包,现在已经有了一个新的工具包用来取代上面的命令,安装包为iproute,包内包含了新的命令ip.ss,这俩命令很强大通过下图就可以看出. 二.linux 下ip命令的使用 1.ip命令简介 ip是iproute软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfi

linux 常用网络命令

1. ifconfig ifconfig主要是能手动启动.观察和修改网络接口的相关参数,能修改的参数非常多,包括IP参数及MTU等都能修改,他的语法如下: [[email protected] ~]# ifconfig {interface} {up|down} 一 般来说,直接输入ifconfig就会列出目前已被启动的卡,不论这个卡是否有设置IP,都会被显示出来.而如果是输入ifconfig eth0,则会显示出这个接口的相关数据,而不管该接口是否启动.所以,如果你想要知道某个网卡的Hardw