【问题标题】:How to get a list of IPs for a remote computer in Ruby如何在 Ruby 中获取远程计算机的 IP 列表
【发布时间】:2011-02-17 21:03:50
【问题描述】:

我有一个应用程序需要通过套接字连接到现在具有多个 IP 地址的远程计算机。有没有办法将远程主机名或 IP 变成系统所有 IP 的列表?

可能(主机名 | Ip)=>(RemoteMAC)=> IP?

这些将是 windows server 2003/2008 机器。

【问题讨论】:

    标签: ruby sockets ip windows-server


    【解决方案1】:
    require 'resolv-replace'
    Resolv::DNS.new.each_address("oreilly.com") { |addr| puts addr }
    

    产生:

    208.201.239.101
    208.201.239.100

    http://codeidol.com/other/rubyckbk/Internet-Services/Performing-DNS-Queries/

    【讨论】:

    • 我无法让您的示例工作,但它看起来与 Socket::getaddrinfo('www.google.com', 'www', nil, Socket::SOCK_STREAM).each do |a , p, n, ip| puts addr end 哪个适用于 Google 但不适用于本地。我相信这是因为 DNS 有多个使用该名称注册的 IP。我正在使用的服务器只有一个在 DNS 中使用其名称注册的 IP
    • 从名称中获取 IP 地址的唯一方法是在某处查找 IP。您尝试访问的机器的 IP 必须在某个地方发布,以便您查找它们。没有办法神奇地发现它们。如果此信息不可用,则您的程序无法获取它。
    猜你喜欢
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多