正文

获取IP地址与MAC地址的代码。2006-02-27 16:39:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/Csharpsky/10591.html

分享到:

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

阅读(3800) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册