[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);
/// <summary>
/// 获取客户机MAC地址 根据IP地址 获取机器的MAC地址
/// </summary>
/// <returns></returns>
public static string GetBarMACIP(string strIP)
{
//MAC信息
string mac_dest = "";
try
{
int ldest = inet_addr(strIP); //目的地的ip
int lhost = inet_addr(""); //本地服务器的ip
Int64 macinfo = new Int64();
int len = ;
int res = SendARP(ldest, , ref macinfo, ref len);
string mac_src = macinfo.ToString("X");
if (mac_src == "")
{
return "";
}
while (mac_src.Length < )
{
mac_src = mac_src.Insert(, "");
} for (int i = ; i < ; i++)
{
if ( == (i % ))
{
if (i == )
{
mac_dest = mac_dest.Insert(, mac_src.Substring(i, ));
}
else
{
mac_dest = "-" + mac_dest.Insert(, mac_src.Substring(i, ));
}
}
}
return mac_dest;
}
catch
{
return "";
}
} /// <summary>
/// 取得IP地址
/// </summary>
/// <returns></returns>
public static string GetIp()
{
string str = "";
//穿过代理服务器取远程用户真实IP地址:
if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
str = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
else
str = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
return str;
}

获取客户机MAC地址 根据IP地址 获取机器的MAC地址 / 获取真实Ip地址的更多相关文章

  1. php 获取客户端的ip、地理信息、浏览器信息、本地真实ip

    转自:http://www.blhere.com/948.html 这是非常实用的php常用类.获取客户端的ip.地理信息.浏览器信息.本地真实ip 1234567891011121314151617 ...

  2. 获取客户机的ip和mac地址

    只获取clientIP package com.ppms.utils; import javax.servlet.http.HttpServletRequest; /** * Created by l ...

  3. php获取客户机mac地址

    @exec("arp -a",$array); //执行arp -a命令,结果放到数组$array中 foreach($array as $value){ //匹配结果放到数组$m ...

  4. asp.net 获取客户机IP地址

    /// <summary> ///get client IP /// </summary> /// <returns></returns> public ...

  5. nodejs获取客户机ip

    /** * Created by chaozhou on 2015/11/24. */ var getIp = function(req){ var ipStr = req.headers['x-fo ...

  6. 【整理】PHP获取客户端真实IP地址详解

    php获取客户端IP地址有四种方法,这五种方法分别为REMOTE_ADDR.HTTP_CLIENT_IP.HTTP_X_FORWARDED_FOR.HTTP_VIA. REMOTE_ADDR 是你的客 ...

  7. 绕过CDN获取服务器真实IP地址

    相关视频链接:(https://blog.sechelper.com/20220914/penetration-testing-guide/cdn-bypass) CDN(Content Delive ...

  8. RPC 编程 使用 RPC 编程是在客户机和服务器实体之间进行可靠通信的最强大、最高效的方法之一。它为在分布式计算环境中运行的几乎所有应用程序提供基础。

    RPC 编程 使用 RPC 编程是在客户机和服务器实体之间进行可靠通信的最强大.最高效的方法之一.它为在分布式计算环境中运行的几乎所有应用程序提供基础.本文介绍 RPC 客户机和服务器之间基本的事件流 ...

  9. 倍福TwinCAT(贝福Beckhoff)基础教程5.1 TwinCAT-4 获取本机名称和网卡名称

    使用命令FB_GetHostName来获取本机名称,返回的是一个字符串   使用命令FB_GetAdaptersInfo获取网卡信息(注意采集到的是一个非常复杂的类型,本身是一个数组,数组的每个元素又 ...

随机推荐

  1. python接口自动化七(重定向-禁止重定向Location)

    前言 某屌丝男A鼓起勇气向女神B打电话表白,女神B是个心机婊觉得屌丝男A是好人,不想直接拒绝于是设置呼叫转移给闺蜜C了,最终屌丝男A和女神闺蜜C表白成功了,这种场景其实就是重定向了. 一.重定向 1. ...

  2. less中的for循环

    .loop(@count) when (@counter > 0) {   .loop((@counter - 1));    // 递归调用自身   width: (10px * @count ...

  3. C# 更改 Hashtable key 名称

    Hashtable ht = new Hashtable(); ht[; ht["B"] = ht["标题"]; ht.Remove("标题" ...

  4. grpc:gRPC Concepts

    本文介绍一些主要的gRPC概念. 服务定义 gRPC支持4种方法: 1.Unary RPCs where the client sends a single request to the server ...

  5. CQOI2010 传送带

    题目链接:戳我 分别枚举线段AB上的出发点,和线段CD上的到达点,然后时间直接计算,取min就可以了. 但是这样子显然会T飞,(相当于1e5的平方吧?)所以我们进一步考虑性质. 然后打表(或者感性理解 ...

  6. FastDfs单机版搭建

    详细的最新版fastdfs单机版搭建 前言 目前项目是tomcat单机部署的,图片.视频也是上传到tomcat目录下,关键是此项目的主要内容还就是针对图片.视频的,这让我非常担忧:文件服务器的应用是必 ...

  7. CVPR 2018 DeepGlobe

    在刚刚结束的CVPR2018: DeepGlobe Road Extraction Challenge(全球卫星图像道路提取)比赛中,北京邮电大学信息与通信工程学院模式识别实验室张闯老师指导的研究生周 ...

  8. ModelSerializer 使用知识点_serializers.SerializerMethodField()使用场景总结

    serializers.SerializerMethodField和钩子方法结合,可以实现对ModelSerializer类的一些字段进行二次加工,返回,如下:1.对以ModelSerializer的 ...

  9. Spring Boot教程(二十一)开发Web应用(2)

    在完成配置之后,举一个简单的例子,在快速入门工程的基础上,举一个简单的示例来通过Thymeleaf渲染一个页面. @Controller public class HelloController { ...

  10. 京东面试题:Java中 ++i 的操作是线程安全的么?为什么?如何使其线程安全呢?

    你真的了解volatile关键字吗?http://blog.csdn.net/FansUnion/article/details/79495080 面试题:为什么最后两行没有运行?http://blo ...