• 【网上收藏】取得网卡mac


    public class getIP
        {
            [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);

            //获取本机的IP
            public string getLocalIP()
            {
                string strHostName = Dns.GetHostName();  //得到本机的主机名
                IPHostEntry ipEntry = Dns.GetHostByName(strHostName); //取得本机IP
                string strAddr = ipEntry.AddressList[0].ToString();
                return (strAddr);
            }
            //获取本机的MAC
            public string getLocalMac()
            {
                string mac = null;
                ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration");
                ManagementObjectCollection queryCollection = query.Get();
                foreach (ManagementObject mo in queryCollection)
                {
                    if (mo["IPEnabled"].ToString() == "True")
                        mac = mo["MacAddress"].ToString();
                }
                return (mac);
            }

            //获取远程主机IP
            public string[] getRemoteIP(string RemoteHostName)
            {
                IPHostEntry ipEntry = Dns.GetHostByName(RemoteHostName);
                IPAddress[] IpAddr = ipEntry.AddressList;
                string[] strAddr = new string[IpAddr.Length];
                for (int i = 0; i < IpAddr.Length; i++)
                {
                    strAddr[i] = IpAddr[i].ToString();
                }
                return (strAddr);
            }
            //获取远程主机MAC
            public string 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 Convert.ToString(macinfo, 16);
                }
                catch (Exception err)
                {
                    Console.WriteLine("Error:{0}", err.Message);
                }
                return 0.ToString();
            }
        }
    }

  • 相关阅读:
    atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerException
    atitit。 hb Hibernate sql 查询使用
    atitit.插件体系设计总结o73.doc
    Atitit.可视化编程jbpm6 的环境and 使用总结...
    paip.自动import的实现跟java.lang.SecurityException Prohibited package name java
    Linux下tar.xz结尾的文件的解压方法
    ubuntu下的Samba配置:使每个用户可以用自己的用户名和密码登录自己的home目录
    ubuntu Linux离线安装软件包
    C语言文件操作解析(一)[转载]
    PDF XChange Viewer文件关联
  • 原文地址:https://www.cnblogs.com/81/p/3021103.html
Copyright © 2020-2023  润新知