【问题标题】:c# Preventing Mac address spoofingc#防止Mac地址欺骗
【发布时间】:2017-11-21 03:43:22
【问题描述】:

我是用这个方法来获取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地址?

【问题讨论】:

  • 简短回答:你不能。请参阅this question 了解唯一标识设备的替代方案。

标签: c#


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-01-12
    • 2019-02-24
    • 2012-05-02
    • 1970-01-01
    • 2017-05-14
    • 2017-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多