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);

            }

        }

   





    }

}

 

你可能感兴趣的:(client)