zoukankan      html  css  js  c++  java
  • 局域网内是可以获得客户端mac地址的,但是不能跨网段

    局域网内是可以获得客户端mac地址的,但是不能跨网段
    using System;
    using System.Runtime.InteropServices;

    namespace test
    {
     /// <summary>
     /// MACAddr 的摘要说明。
     /// </summary>
     public class MACAddr
     {
      private MACAddr()
      {
       //
       // TODO: 在此处添加构造函数逻辑
       //
      }

      [DllImport("Iphlpapi.dll")]
      private static extern int SendARP(Int32 dest,Int32 host,ref Int64 mac,ref Int32 length);
      [DllImport("Ws2_32.dll")]
      private static extern Int32 inet_addr(string ip);

      static public Int64 getRemoteMAC(string localIP, string remoteIP)
      {
       Int32 ldest= inet_addr(remoteIP); //目的地的ip
       Int32 lhost= inet_addr(localIP); //本地服务器的ip

       try
       {
        Int64 macinfo = new Int64();
        Int32 len = 6;
        int res = SendARP(ldest,0, ref macinfo, ref len);
        return macinfo;
       }
       catch(Exception err)
       {
        Console.WriteLine("Error:{0}",err.Message);
       }
       return 0;
      }
     }
    }

  • 相关阅读:
    导论
    Array
    Singleton
    Bridge
    Mediator
    interpreter
    Visitor
    Flyweight
    Command
    Chain Of Responsibility
  • 原文地址:https://www.cnblogs.com/YrRoom/p/303176.html
Copyright © 2011-2022 走看看