Shell脚本获取本地网卡IP、mac地址、子网掩码、DNS IP、外网IP的攻略
在Shell脚本中,可以使用一些命令和工具来获取本地网卡IP、mac地址、子网掩码、DNS IP和外网IP。下面是一个完整的攻略,包含了两个示例说明。
步骤1:获取本地网卡信息
首先,我们需要获取本地网卡的信息,包括IP地址、mac地址和子网掩码。可以使用ifconfig
命令来获取这些信息。以下是一个示例脚本:
#!/bin/bash
# 获取本地网卡信息
ifconfig_result=$(ifconfig)
# 提取IP地址
ip_address=$(echo \"$ifconfig_result\" | grep -oE 'inet (addr:)?([0-9]*\\.){3}[0-9]*' | grep -oE '([0-9]*\\.){3}[0-9]*')
# 提取mac地址
mac_address=$(echo \"$ifconfig_result\" | grep -oE 'ether ([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}')
# 提取子网掩码
subnet_mask=$(echo \"$ifconfig_result\" | grep -oE 'netmask ([0-9]*\\.){3}[0-9]*' | grep -oE '([0-9]*\\.){3}[0-9]*')
# 输出结果
echo \"IP地址: $ip_address\"
echo \"MAC地址: $mac_address\"
echo \"子网掩码: $subnet_mask\"
步骤2:获取DNS IP和外网IP
接下来,我们需要获取DNS IP和外网IP。可以使用nslookup
命令来获取DNS IP,使用curl
命令来获取外网IP。以下是一个示例脚本:
#!/bin/bash
# 获取DNS IP
dns_ip=$(nslookup google.com | grep 'Server:' | awk '{print $2}')
# 获取外网IP
external_ip=$(curl -s ifconfig.me)
# 输出结果
echo \"DNS IP: $dns_ip\"
echo \"外网IP: $external_ip\"
示例说明
示例1:获取本地网卡信息
假设我们运行上述脚本,并且本地网卡的IP地址为192.168.1.100,mac地址为00:11:22:33:44:55,子网掩码为255.255.255.0。运行脚本后,输出结果如下:
IP地址: 192.168.1.100
MAC地址: 00:11:22:33:44:55
子网掩码: 255.255.255.0
示例2:获取DNS IP和外网IP
假设我们运行上述脚本,并且本地DNS IP为8.8.8.8,外网IP为203.0.113.1。运行脚本后,输出结果如下:
DNS IP: 8.8.8.8
外网IP: 203.0.113.1
这些示例说明了如何使用Shell脚本获取本地网卡IP、mac地址、子网掩码、DNS IP和外网IP。你可以根据需要修改脚本,以适应不同的环境和要求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Shell脚本获取本地网卡IP、mac地址、子网掩码、dns IP、外网IP - Python技术站