zoukankan      html  css  js  c++  java
  • Shell脚本 – 查看网络接口信息

    本文介绍如何是用shell脚本查看网络接口的ip地址、MAC地址、网络速率等信息。
    系统环境

    Centos7

    1)检查可用的网络接口

    使用ipawk命令,过滤出状态为UP的网络接口。

    [root@localhost ~]# ip ad|awk '/state UP/ {print $2}'
    ens33:
    ens38:
    

    Shell脚本 – 查看网络接口信息Shell脚本 – 查看网络接口信息

    2)查看网络接口的IP地址

    使用下面命令过滤出每个接口的ip地址:

    [root@localhost ~]# ip -o addr |awk '/inet/{print $2,$4}'
    lo 127.0.0.1/8
    lo ::1/128
    ens33 192.168.43.138/24
    ens33 fe80::214e:53b4:43f6:5495/64
    ens38 172.25.254.130/24
    ens38 fe80::c2ff:9dbc:76be:6dd9/64
    或者只查看IPv4地址:
    [root@localhost ~]# ip addr | grep inet|grep -v 'inet6'|awk '{print $NF, $2}'
    lo 127.0.0.1/8
    ens33 192.168.43.138/24
    ens38 172.25.254.130/24
    

    Shell脚本 – 查看网络接口信息Shell脚本 – 查看网络接口信息

    3)查看网卡的MAC地址

    如果只想查看网络接口名称和相应的MAC地址,请使用以下命令。检查特定的网络接口的MAC地址:

    [root@localhost ~]# ip link show ens33 | awk '/link/{print $2}'
    00:0c:29:99:ee:d9
    

    查看所有网络接口的MAC地址,可以写一个脚本来实现:

    [root@localhost ~]# cat mac-address.sh 
    #!/bin/bash
    ip addr |awk '/state UP/{print $2}' | sed 's/://' | while read output
    do
    echo $output:
    ethtool -P $output
    done
    

    查看一下运行结果:
    Shell脚本 – 查看网络接口信息Shell脚本 – 查看网络接口信息

    4)查看网络接口的速度

    如果要在Linux上检查网络接口端口速度,可以使用ethtool工具。下面是查看特定网络接口的速度:
    [root@localhost ~]# ethtool ens33|grep "Speed:"
    Speed: 1000Mb/s

    site.qudong.com/2017/0531/414901.shtml
    www.pcpop.com/doc/4/4517/4517127.shtml

    查看所有接口的网络速度,可以写一个脚本来实现:

    [root@localhost ~]# cat port-speed.sh 
    #!/bin/bash
    ip addr |awk '/state UP/{print $2}' | sed 's/://' | while read output
    do
    echo $output:
    ethtool $output |grep "Speed:"
    done
    

    查看一下运行结果:
    Shell脚本 – 查看网络接口信息Shell脚本 – 查看网络接口信息

    5)查看网络接口信息的Shell脚本

    下面这个脚本,我们来实现查看主机名、IPv4、IPv6、MAC地址、网络接口速度信息:

    [root@localhost ~]# cat nic-info.sh 
    #!/bin/bash
    hostname
    echo "-------------"
    for iname in $(ip addr |awk '/state UP/{print $2}')
    do
    echo "$iname"
    ip addr show $iname | grep inet | awk '{printf "%s:\t%s\n",$1,$2}'
    ip link show $iname | grep link | awk '{printf "MAC:\t%s\n",$2}'
    ethtool ens33 | awk '/Speed/{printf "%s\t%s\n",$1,$2}'
    done
    

    Shell脚本 – 查看网络接口信息Shell脚本 – 查看网络接口信息

    总结

    本文介绍了如何是用shell脚本查看网络接口的ip地址、MAC地址、网络速率等信息。

  • 相关阅读:
    windows 内存泄露和资源泄漏调试
    window驱动
    Direct2D教程(七)单色画刷
    Direct2D教程(三)简单几何图形
    求反射向量
    Visual Studio 2012中使用自定义project properties
    View Transform(视图变换)详解
    八进制字符与十六进制字符
    Direct2D教程(四)Path Geometry
    C++默认构造函数
  • 原文地址:https://www.cnblogs.com/linuxprobe/p/15511473.html
Copyright © 2011-2022 走看看