ASP.NET获取客户端IP及MAC地址
2008-12-01 14:50

ASP.NET获取客户端IP及MAC地址很多时候非常必要的,像做投票、留言、评论 等系统的时候防止别人恶意操作,导致数据的虚假行。下面介绍获取客户端的IP和MAC地址的方法,仅供参考:

获取客户端IP:

private string GetClientIP()
{
   string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
   if (null == result || result == String.Empty)
   {
    result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
   }

if (null == result || result == String.Empty)
   {
    result = HttpContext.Current.Request.UserHostAddress;
   }
   return result;
}

获取MAC地址:

[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);

private void Page_Load(object sender, System.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);
   }
}

ASP.NET获取客户端IP及MAC地址相关推荐

  1. 获取客户端IP和MAC地址

    小编是菜鸟,这两天拿到一个需求,登录时判断ip地址是否允许登录,这几天做下来小编遇见了好多坑,给大家分享一下. 系统架构:.net+java 首先,不管怎么样http请求头才是获取ip地址的唯一方式: ...

  2. java自动获取ip_java自动获取电脑ip和MAC地址

    java自动获取电脑ip和MAC地址 利用getLocalHost获得计算机名称和ip getByInetAddress可以确定一个IP地址属于哪一个网络接口,这个IP地址通过命令行参数传入 用get ...

  3. 获取客户端IP和MAC

    source article:http://www.cnblogs.com/leanco/articles/1148338.html 获取客户端IP: private string GetClient ...

  4. 客户端IP与MAC地址绑定化解方法

    一个账号绑定一台电脑,我电脑没办网,能用别人的网吗???被限制上网的朋友们提出了一个难题:被限制不能上网了?那还有没有办法再突破封锁继续上网呢?要再突破封锁也是可以实现的,这里我说一下IP与MAC地址 ...

  5. mac asp.net 服务器文件路径,asp.net如何获取服务器ip与mac地址

    使用DNS方法获取服务器的IP地址: 复制代码 代码示例: private void ButtonIP_Click(object sender, System.EventArgs e) { Syste ...

  6. python获取计算机IP、mac地址、计算机名

    在python中获取ip地址和在php中有很大不同,在php中往往比较简单.那再python中怎么做呢? 我们先来看一下python 获得本机MAC地址: import uuid def get_ma ...

  7. C#获取电脑IP、MAC地址示例代码

    /// <summary> /// 使用 C# 自带的类库实现计算机信息获取 /// </summary> public class DefaultDeviceInfo { p ...

  8. android 访问内网ip_android 获取局域网IP与MAC 地址 毫秒级(详解)

    两个 linux命令 开始理清思路:主要使用 linux 两个命令(2017-07-21 fix:这个思路不好,后面使用udp取代[毫秒级]) [ping]: 查询某个ip是否被设备占用 [cat]  ...

  9. Android_获取手机IP和MAC地址

    需要加入以下权限 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />     ...

最新文章

  1. 机器学习工业复现的 12 个要素!
  2. ComponentOne Wijmo Editor 在光标处添加文本
  3. 图像处理之基于阈值模糊
  4. Android init.rc分析
  5. JAVA学习之常用集合List,Set,Map
  6. 单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构
  7. 超极本认知六大误区详解:不只是轻薄+长续航
  8. pdf在html网页中打开是乱码,pdf.js浏览中文pdf乱码的问题解决
  9. acm国际大学上计算机竞赛,ACM国际大学生程序设计竞赛
  10. 125条常见的java面试笔试题大汇总2
  11. IE浏览器下常见的CSS兼容问题
  12. 2015 年最流行的 10 个 Linux 发行版
  13. iStack详解(三)——iStack多主检测方式
  14. Phoenix创建Hbase二级索引_尚硅谷大数据培训
  15. 柳传志退休:激荡三十五年
  16. centos6.5 大于16T硬盘 分区和格式化挂载
  17. sendto()_Linux C函数
  18. ASO 相似测试
  19. 中国直接针对消费者的疾病风险和健康DNA测试行业市场供需与战略研究报告
  20. 陌生QQ号聊天,QQ咨询对话框,QQ临时对话框链接代码

热门文章

  1. 数据库相关概念以及简单SQL语句
  2. 我们为什么要尝试前后端分离
  3. [BZOJ1061][Noi2008]志愿者招募
  4. 哪些年我们不曾的考虑。。。
  5. setTimeout延时0毫秒的作用
  6. 100m和1000m网线的常见制作方法
  7. 【汇总】涉及iOSiPhone开发相关文章汇总
  8. java垃圾回收机制_JVM的垃圾回收机制——垃圾回收算法
  9. 到底应该用3*3的卷积核还是5*5的卷积核
  10. 概率模型分子动力学模拟五元环吡咯C4H5N