【问题标题】:(ba)sh - Determine (based on machine name) whether a computer is on the local network(ba)sh - 确定(基于机器名称)计算机是否在本地网络上
【发布时间】:2012-12-14 06:07:29
【问题描述】:

使用以机器名作为参数的 shell 脚本,然后确定主机是否在本地网络(与运行脚本的机器相同的网络)。

如何从机器名称中获取 IP 地址?一旦我知道了,我应该能够将该 IP 与本地 IP 进行比较,看看它们是否在同一个子网上。

【问题讨论】:

    标签: bash shell unix sh


    【解决方案1】:

    您可以使用nslookup (http://linux.die.net/man/1/nslookup)、dig (http://linux.die.net/man/1/dig) 或host (http://linux.die.net/man/1/host) 命令行实用程序。

    例如,下面是运行 host 以从 DNS 服务器获取 stackoverflow.com 的 A 记录的结果:

    $ host -tA stackoverflow.com
    stackoverflow.com has address 69.59.197.21
    

    【讨论】:

    • dig +short 可能是最好的脚本。 host 在不同版本中有不同的输出(去过那里,做过那个,受伤的自己)。
    【解决方案2】:

    local network 是什么意思?子网或(Windows)域或局域网内?

    您还可以查看traceroute 实用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-12
      • 2013-04-25
      • 2015-08-12
      • 2015-05-16
      相关资源
      最近更新 更多