using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using System.Management;using System.Runtime.InteropServices;namespace Web1{ /// <summary> /// WebForm1 的摘要说明。 /// </summary> public delegate string getString(); public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.Label Label2; protected System.Web.UI.WebControls.Label Label1; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 string userIP; HttpRequest Request = HttpContext.Current.Request; if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] !=null) {userIP = Request.ServerVariables["REMOTE_ADDR"];} else {userIP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];} if (userIP == null || userIP == "") userIP = Request.UserHostAddress; //this.Label1.Text=userIP;// this.Label1.Text=System.Net.Dns.GetHostName();// System.Net.IPAddress addr= new System.Net.IPAddress ( System.Net.Dns.GetHostByName (System.Net.Dns.GetHostName ( ) ) .AddressList [0].Address ) ;// this.Label1.Text=addr.ToString(); string x="sdfsdf"; getString get1=new getString(x.ToString); this.Label1.Text=get1(); this.Label2.Text=this.GetMacAddress(); } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion public string GetMacAddress() { ManagementClass adapters = new ManagementClass("Win32_NetworkAdapterConfiguration"); string MACAddress = "unknown"; foreach (ManagementObject adapter in adapters.GetInstances()) { if((bool)adapter["IPEnabled"] == true) { MACAddress = adapter.Properties["MACAddress"].Value.ToString(); break; } } return MACAddress; } [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); static private Int64 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 macinfo; } catch(Exception err) { Console.WriteLine("Error:{0}",err.Message); } return 0; } }}

评论