我在这个答案中遇到了一个代码片段:Get IP address in a console application
using System;
using System.Net;
namespace ConsoleTest
{
class Program
{
static void Main()
{
String strHostName = string.Empty;
// Getting Ip address of local machine...
// First get the host name of local machine.
strHostName = Dns.GetHostName();
Console.WriteLine("Local Machine's Host Name: " + strHostName);
// Then using host name, get the IP address list..
IPHostEntry ipEntry = Dns.GetHostEntry(strHostName);
IPAddress[] addr = ipEntry.AddressList;
for (int i = 0; i < addr.Length; i++)
{
Console.WriteLine("IP Address {0}: {1} ", i, addr[i].ToString());
}
Console.ReadLine();
}
}
}
当我在本地运行它以获取计算机的 IP 地址时,此代码工作正常。我想要做的是使用代码来获取我网络上服务器上的 IP 地址。所以基本上我尝试替换 strHostName = Dns.GetHostName(); 与 strHostName = "myServerName"; 但它只返回一个 IP。当我在服务器本身上运行程序时,我会获得分配给该服务器的所有 IP。目标是在我的计算机上运行该程序,从数据库表中读取服务器名称以获取 100 多台服务器上的 IP 地址。我试图避免必须登录到每台服务器并在每台服务器上运行程序来获取 IP 地址。
有趣的是,该代码适用于“www.google.com” - 此服务器与此服务器相关还是安全问题?
在我开始从数据库中获取数据之前,我需要让代码为一台服务器工作:) 希望能更好地解释它。谢谢!