前台页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MAC.aspx.cs" Inherits="MAC" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head runat="server"> <title>无标题页</title></head><body> <form id="form1" runat="server"> <div> </div> </form></body></html>
后台代码:
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(""); //本地服务器的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); } }}