你可以看到我使用下面的代码在任何连接到互联网的PC上获取任何真正的IP地址,但我想知道是否有办法获得真正的IP地址而无需调用网站来获取它?
如果有办法将其作为电子邮件发送到我的hotmail / gmail / ...等帐户 我在互联网上找到了很多方法,但所有这些方法都被邮件服务器阻止了
private string getExternalIp()
{
try
{
string externalIP;
externalIP = (new WebClient()).DownloadString("http://checkip.dyndns.org/");
externalIP = (new Regex(@"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"))
.Matches(externalIP)[0].ToString();
return externalIP;
}
catch
{
MessageBox.Show("Please Call Technical Support", "Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
return null;
}
}
答案 0 :(得分:0)
我认为没有任何可靠的方法来获取外部IP地址而不实际连接到某些东西。这是因为您的计算机可能位于NAT后面,并且根本没有信息它的外部IP地址。
当然,如果你知道这台机器在其中一个接口上配置了它的外部IP地址,你可以使用NetworkInterface.GetAllNetworkInterfaces列出所有接口。