Obtain the Client IP Address:
Private string getclientip ()
{
String result = httpcontext. Current. Request. servervariables ["http_x_forwarded_for"];
If (null = Result | result = string. Empty)
{
Result = httpcontext. Current. Request. servervariables ["remote_addr"];
}
If (null = Result | result = string. Empty)
{
Result = httpcontext. Current. Request. userhostaddress;
}
Return result;
}
Obtain the MAC address:
Using system. runtime. interopservices;
[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 );
Private void page_load (Object sender, system. eventargs E)
{
// Place user code here to initialize the page
Try
{
String userip = request. userhostaddress;
String strclientip = request. userhostaddress. tostring (). Trim ();
Int32 ldest = inet_addr (strclientip); // ip address of the destination
Int32 lhost = inet_addr (""); // ip address of the local server
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 ("accessing localhost! ");
Else
Response. Write ("Welcome to friends 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 to friends from" + userip + "<br>" + "and MAC address" + mac_dest +! "
+ "<Br> ");
}
Catch (exception ERR)
{
Response. Write (ERR. Message );
}
}