c#防止Mac地址欺骗

时间:2017-06-19 03:26:06

标签: c#

我正在使用此方法获取mac地址:

  public static string GetMACAddress()
  {
      NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
      //for each j you can get the MAC 
      PhysicalAddress address = nics[0].GetPhysicalAddress();
      byte[] bytes = address.GetAddressBytes();

      string macAddress = "";

      for (int i = 0; i < bytes.Length; i++)
      {
         macAddress += bytes[i].ToString("X2");

         if (i != bytes.Length - 1)
         {
             macAddress += "-";
         }
      }
      return macAddress;
   }

我保存了第一个结果,然后我每隔一段时间继续调用这个方法,并将它与第一个结果进行比较,以查看它是否被更改,从而得出结果是它被欺骗。

但如果mac地址已经被欺骗,这将无效。

即使被欺骗,我怎样才能获得原始的mac地址?

1 个答案:

答案 0 :(得分:0)

您不能但是您可以长期收集数据以帮助检测欺骗者。如果网络中的用户使用20个不同的MAC地址,则这是一个红色标记。如果两个不同的登录具有相同的MAC地址(这是一个很长的镜头,但仍然是一个告诉,但也可能是sockpuppeting的迹象),这也是一个红旗。您必须处理数据分析和历史数据。至于获得原始MAC,没办法。