关于ip检查ipv4和ipv6

时间:2011-07-07 02:27:44

标签: c# ip ipv6 ipv4

我的源代码使用csharp进行了ip检查。

现在,我必须考虑关于ipv4和ipv6的检查规则。

客户端可能像↓

・only ipv4

・only ipv6

・both ipv4 and ipv6

对不起,我是网络新手。

同样,有人可以给我一些关于ip检查的建议吗?

感谢。

关于IP检查:

我现在有一张像↓这样的支票:

bool isgoodip() 
{
  return ip.startwith(173); 
}

如果客户端只有ipv6,我该如何进行检查呢?

并且,是否有服务器设置可以将ipv6转换为ipv4 auto?

1 个答案:

答案 0 :(得分:6)

使用语句

using System.Net;
using System.Net.Sockets;

IP检查代码

IPAddress address = IPAddress.Parse("127.0.0.1");

if (address.AddressFamily == AddressFamily.InterNetwork) // IPv4
{
    // do ipv4 stuff here
}

if (address.AddressFamily == AddressFamily.InterNetworkV6) // IPv6
{
    // do ipv6 stuff here
}

if ((address.AddressFamily == AddressFamily.InterNetwork) || (address.AddressFamily == AddressFamily.InterNetworkV6)) // IPv4 and IPv6
{
    // do both ipv4 and ipv6 stuff here
}