【问题标题】:Retrieving default MAC address after changing it更改后检索默认 MAC 地址
【发布时间】:2021-10-09 04:00:26
【问题描述】:

我正在编写一个 bash 脚本以在更改 MAC(以太网)地址后将其更改回默认地址。 为了匹配默认值和当前值, 该脚本需要默认值。 但是我不确定在哪里存储默认 MAC 地址。 目前地址是硬编码并存储在脚本中

MAC=**:**:**:**:**

出于安全目的,这样的硬编码似乎不合适, 但是检索默认 MAC 地址似乎很难,因为 MAC 地址已经更改为另一个值。

可能的解决方案是将其存储在另一个文件或其他一些地方。 有什么想法可以在不进行硬编码的情况下解决吗?

【问题讨论】:

  • 当您的 MAC 可以从 TCP/IP 堆栈本身获得时,尝试隐藏它没有多大意义——这不是一些秘密信息。把它保存在最方便的地方。密码——那些是秘密的,MAC 地址不是。
  • 好问题大声笑,这是一个答案stackoverflow.com/a/20686749/2834978
  • 正如@DavidC.Rankin 解释的那样,隐藏它可能是无稽之谈。也许我应该稍后再问一个关于如何避免硬编码值的问题,谢谢。

标签: bash macos shell macos-catalina


【解决方案1】:

保护像 MAC 地址这样的公共信息有点奇怪,但密码学呢?假设您已经安装了 GNU gpg,并且有一个身份为 animal.farm@orwell.gb 的密钥对。那么:

echo "$MAC" | gpg -e -r animal.farm@orwell.gb > ~/.mac

将加密 shell 变量 MAC 的值并将加密后的值存储在您的主目录中名为 .mac 的文件中。解密:

gpg -d ~/.mac 2> /dev/null

如果您使用密码保护您的私钥(推荐),系统会要求您提供密码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 2018-09-24
    相关资源
    最近更新 更多