Shell脚本获取本地网卡IP、mac地址、子网掩码、dns IP、外网IP

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技术站

(0)
上一篇 2023年7月31日
下一篇 2023年7月31日

相关文章

  • 详解JAVA中implement和extends的区别

    详解JAVA中implement和extends的区别 在JAVA中,implement和extends是两个重要的关键字,它们用于实现接口和继承类,但是它们有着不同的特点和应用场景。 implement implement用于实现一个接口,它必须在类中实现接口中定义的所有方法,并且可以实现多个接口,用”,”隔开。 示例1 public interface …

    other 2023年6月27日
    00
  • macbrew安装使用卸载

    MacBrew安装使用卸载 介绍 MacBrew是苹果系统上的一种包管理工具,可以快速、简单地安装、升级和管理各种软件包,包括命令行工具、开发库、Web服务等。它使用简单,管理方便,广泛用于Mac开发者和运维人员之间,是一个非常实用的软件管理工具。 安装 1.安装Homebrew 在终端中输入以下命令: /usr/bin/ruby -e “$(curl -f…

    其他 2023年3月29日
    00
  • Android自定义View实现BMI指数条

    下面是详细讲解Android自定义View实现BMI指数条的完整攻略: 1. 概述 BMI指数条是一种可以通过用户输入身高和体重来计算出BMI指数并展示的自定义View。在这个过程中,我们需要实现以下功能: 绘制指数条:根据BMI指数所处的范围,在自定义View内部绘制一个水平的指数条,显示出用户的BMI指数。 计算BMI指数:通过用户输入的身高体重数据计算…

    other 2023年6月25日
    00
  • Android ApplicationInfo 应用程序信息的详解

    Android ApplicationInfo 应用程序信息的详解 在Android开发中,我们通常需要获取应用程序的信息,比如应用的名称、图标、版本号、包名等。这些信息可以通过ApplicationInfo类来获取。ApplicationInfo类提供了应用程序信息的访问和修改方法。本文将详细讲解ApplicationInfo类的用法。 应用程序信息的获取…

    other 2023年6月25日
    00
  • Docker 部署 Mysql8.0的方法示例

    Docker部署MySQL 8.0的方法示例 本文将详细讲解如何使用Docker部署MySQL 8.0,并提供两个示例说明。 步骤1:安装Docker 首先,确保您的系统已经安装了Docker。您可以根据您的操作系统类型,按照官方文档的指引进行安装。 步骤2:拉取MySQL 8.0镜像 在终端或命令行中执行以下命令,拉取MySQL 8.0的Docker镜像:…

    other 2023年10月18日
    00
  • 3分钟用Docker搭建一个Minecraft服务器

    接下来我会详细讲解“3分钟用Docker搭建一个Minecraft服务器”的完整攻略。 前置条件 在开始前,我们需要满足以下前置条件: 安装了 Docker 了解并掌握基本的 Docker 命令 安装了 Minecraft 客户端 步骤一:准备镜像 为了快速搭建 Minecraft 服务器,我们选择使用已经存在的 Docker 镜像。这里,我们使用 Spig…

    other 2023年6月27日
    00
  • 修改系统用户名的批处理代码

    修改系统用户名的批处理代码可以通过以下步骤完成: 1. 打开记事本 在电脑上打开记事本,点击“开始”菜单,搜索“记事本”,然后选择“记事本”打开。 2. 编写批处理代码 在记事本中输入以下代码: @echo off set /p name=请输入新用户名: net user %username% %name% 可以将代码中的“请输入新用户名”替换成你需要修改…

    other 2023年6月27日
    00
  • FTP上传文件经常中断或超时的解决方案[完整篇]

    FTP上传文件经常中断或超时的解决方案 在进行FTP上传文件时,经常会出现中断或超时的情况,这可能是由于网络、服务器或客户端等多个方面因素引起的。本文将为您提供一些可能的解决方案。 方案一:调整FTP客户端参数 FTP客户端是进行FTP上传文件的工具,我们可以通过调整FTP客户端的参数来提高上传成功率。 增加FTP客户端上传缓冲区大小。 # 示例:FileZ…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部