共计 1715 个字符,预计需要花费 5 分钟才能阅读完成。
本文介绍如何是用 shell 脚本查看网络接口的 ip 地址、MAC 地址、网络速率等信息。
零碎环境
Centos7
1)查看可用的网络接口
应用 ip 和 awk 命令,过滤出状态为 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 脚本 – 查看网络接口信息
www.donews.com/news/detail/4/2958083.html
www.doit.com.cn/p/278986.html
4)查看网络接口的速度
如果要在 Linux 上查看网络接口端口速度,能够应用 ethtool 工具。上面是查看特定网络接口的速度:
[root@localhost ~]# ethtool ens33|grep “Speed:”
Speed: 1000Mb/s
查看所有接口的网络速度,能够写一个脚本来实现:
[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 地址、网络速率等信息。