asp.net中獲取客戶端IP地址網(wǎng)卡信息等方法的代碼
2024-07-11 08:25:56
供稿:網(wǎng)友
 
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MAC.aspx.cs" Inherits="MAC" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title>無標(biāo)題頁</title> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
</div> 
</form> 
</body> 
</html> 
后臺(tái)代碼: 
using System; 
using System.Collections; 
using System.Configuration; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Xml.Linq; 
using System.Runtime.InteropServices; 
public partial class MAC : 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); //目的地的ip 
Int32 lhost = inet_addr(""); //本地服務(wù)器的ip 
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("正在訪問Localhost!"); 
else 
Response.Write("歡迎來自IP為" + 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("歡迎來自IP為" + userip + "<br>" + ",MAC地址為" + mac_dest + "的朋友!" 
+ "<br>"); 
} 
catch (Exception err) 
{ 
Response.Write(err.Message); 
} 
} 
} 
作者 鄭文亮