zoukankan      html  css  js  c++  java
  • get the client mac address

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Runtime.InteropServices;
    
    namespace AspDoNet.Manage.CommonMethod
    {
        public partial class FunctionList : System.Web.UI.Page
        {
            [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);
            protected void Page_Load(object sender, EventArgs e)
            {
                try
                {
                    string userip = Request.UserHostAddress;
                    string strClientIP = Request.UserHostAddress.ToString().Trim();
                    Int32 ldest = inet_addr(strClientIP); 
                    Int32 lhost = inet_addr("");   
                    Int64 macinfo = new Int64();
                    Int32 len = 6;
                    int res = SendARP(ldest, 0, ref macinfo, ref len);
                    string mac_src = macinfo.ToString("X");
                    if (mac_src == "0")
                    {
                        if (userip == "127.0.0.1")
                            Response.Write("visited Localhost!");
                        else
                            Response.Write("the IP from" + userip + "" + "<br>");
                        return;
                    }
    
                    while (mac_src.Length < 12)
                    {
                        mac_src = mac_src.Insert(0, "0");
                    }
    
                    string mac_dest = "";
    
                    for (int i = 0; i < 11; i++)
                    {
                        if (0 == (i % 2))
                        {
                            if (i == 10)
                            {
                                mac_dest = mac_dest.Insert(0, mac_src.Substring(i, 2));
                            }
                            else
                            {
                                mac_dest = "-" + mac_dest.Insert(0, mac_src.Substring(i, 2));
                            }
                        }
                    }
    
                    Response.Write("welcome" + userip + "<br>" + ",the mac address is" + mac_dest + "."
    
                     + "<br>");
                }
                catch (Exception err)
                {
                    Response.Write(err.Message);
                }
            }
       
    
    
        }
    }
  • 相关阅读:
    Programming In Lua 第一章
    TCP/IP 第四、五章
    wireshark数据包分析实战 第三、四章
    [MFC.Windows程序设计(第2版) 第一章
    wireshark数据包分析实战 第二章
    C++PrimerPlus第6版 第四章——复合类型
    TCP/IP 第三章
    Linux命令行与脚本编程大全第一章
    Flink的并行度设置
    基于HttpClient的工具类HttpUtil
  • 原文地址:https://www.cnblogs.com/akingyao/p/3118379.html
Copyright © 2011-2022 走看看