dns,gethostaddresses仅返回一个ip地址

dns,gethostaddresses仅返回一个ip地址,ip,hostname,Ip,Hostname,我正在尝试获取主机的所有ip地址,需要将这些ip添加到防火墙例外规则中。我正在使用stystem.net dns.gethostaddresses获取IP地址列表。但它在任何时间点只返回一个ip地址,而不是获取与主机名关联的所有ip地址 下面是代码片段 IPAddress[] arr=Dns.GetHostAddresses(ConfigurationSettings.AppSettings["Host"].ToString()); foreach (IPAddress

我正在尝试获取主机的所有ip地址,需要将这些ip添加到防火墙例外规则中。我正在使用stystem.net dns.gethostaddresses获取IP地址列表。但它在任何时间点只返回一个ip地址,而不是获取与主机名关联的所有ip地址

下面是代码片段

IPAddress[] arr=Dns.GetHostAddresses(ConfigurationSettings.AppSettings["Host"].ToString());

            foreach (IPAddress ip in arr)
            {
                Console.WriteLine(ip.ToString());
            }

假设您在同一台计算机上运行代码,并且它有多个具有多个IP地址的接口。此代码适用于我

 foreach (NetworkInterface netInterface in NetworkInterface.GetAllNetworkInterfaces())
  {
    Console.WriteLine("Name: " + netInterface.Name);
    Console.WriteLine("Description: " + netInterface.Description);
    Console.WriteLine("Addresses: ");
    IPInterfaceProperties ipProps = netInterface.GetIPProperties();
    foreach (UnicastIPAddressInformation addr in ipProps.UnicastAddresses)
    {
      Console.WriteLine(" " + addr.Address.ToString());
    }
    Console.WriteLine("");
  }

您能显示一些代码吗?IPAddress[]array=Dns.GetHostAddresses(ConfigurationSettings.AppSettings[“HostName”].ToString());foreach(数组中的IPAddress ip){Console.WriteLine(ip.ToString());}这是我试图执行的代码,根据MSDN GetHostAddresses应该返回ip列表,但这并不意味着,在问题中添加具有正确格式的代码(单击“帮助”按钮查看如何格式化代码…)。谢谢Sumeet,我不需要网络信息。我的要求是,对于给定的DNS,我需要获取所有IP地址并添加到防火墙例外规则。尝试这些,但我认为这取决于它正在寻找的DNS服务器。我试过这个代码IPAddress[]temp=Dns.GetHostAddresses(“google.com”);IPHostEntry temp1=Dns.GetHostEntry(“google.com”);它有时返回一个ip地址,有时返回多个ip地址。国家统计局也给出了同样的结论results@Shiva:doc表示,如果HostName或address是IP地址,则返回此地址时不会查询DNS服务器,因此,如果
ConfigurationSettings.AppSettings[“Host”]。ToString()
是IP地址,则只返回此地址,而不返回其他地址。多谢你们两位@Sumeet,我也试过了,它总是返回1个ip地址,但当我运行时,它有时会改变again@VB_overflow,我在配置文件中没有ip地址,我有dns名称。