博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net获取客户端IP地址网卡等
阅读量:6655 次
发布时间:2019-06-25

本文共 1887 字,大约阅读时间需要 6 分钟。

前台页面:

 

<%@ 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);
        }

    }
}

 

转载地址:http://hgtto.baihongyu.com/

你可能感兴趣的文章
heartheat+drbd高可用存储
查看>>
打包压缩
查看>>
将ip转为整数以及整数转为ip的java实现
查看>>
Ubuntu 12.04中文输入法的安装
查看>>
Windows phone开发初体验之-页面导航
查看>>
groovy 闭包的用途
查看>>
前端工程师的进阶之路
查看>>
request
查看>>
win7下easybcd安装centos
查看>>
Go 语言环境变量设置
查看>>
上海社保已经破产,全国呢?
查看>>
Heartbeat 6.5 vCenter5.1安装配置
查看>>
致敬感动的“自己”
查看>>
scrapy ImportError: No module named items
查看>>
python 判断Dll是32位还是64位
查看>>
[开源]在iOS上实现Android风格的控件Toast
查看>>
C#学习速记_文件
查看>>
centos7快速部署ceph
查看>>
使用setContent(Intent intent)指定对应的Activity设置成Tab页内容
查看>>
PPTP IPsec使用端口,已经路由器穿透配置
查看>>