c++-路由器获取客户端MAC地址原理是什么?如何用winsock模拟之?

问题描述

路由器获取客户端MAC地址原理是什么?如何用winsock模拟之?

前辈们好,我想通过winsock来获取client的MAC地址,查询了半天也没有结果,因此,想通过路由器获取MAC的方法来获取一点灵感。

1、路由器是如何获取客户的MAC地址的?
2、C++的winsock可以如何获取客户机MAC地址?

注意,是客户机,不是本机。。。
谢谢

解决方案

用sendarp API来获取其他机器mac地址。mac地址维护是交换机的功能。但是一般路由器把两种设备合并了。所以路由器存有IP到mac的映射关系表

解决方案二:

我们说的物理上的路由器,其实不是理论意义上的路由器,本身它也是交换机,因此它也工作在数据链路层,因此可以获得mac地址。
你自己对ip包解包,也能获取,但是不同网段的数据包,mac地址就会被丢弃,那么久没有办法获取了。

解决方案三:

获取客户端MAC地址
客户端获取MAC地址
获取客户端MAC地址

时间: 2024-11-30 21:46:27

c++-路由器获取客户端MAC地址原理是什么?如何用winsock模拟之?的相关文章

mac-asp.net 2.0 C#获取客户端MAC地址。

问题描述 asp.net 2.0 C#获取客户端MAC地址. public partial class 测试 : 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 sta

ASP获取客户端MAC地址(源代码)

客户端|源代码 本程序属于一种特别的方法.使用范围比较有限,而且有一定的危险性.借鉴了asp后门里的一些方法.下面是程序代码. <% dim remoteaddr if Request.ServerVariables("HTTP_X_FORWARDED_FOR")=empty then remoteaddr=Request.ServerVariables("REMOTE_ADDR") else remoteaddr=Request.ServerVariable

在ASP中获取客户端MAC地址的方法

客户端 本程序属于一种特别的方法.使用范围比较有限,而且有一定的危险性.借鉴了asp后门里的一些方法.下面是程序代码. <%dim remoteaddrif Request.ServerVariables("HTTP_X_FORWARDED_FOR")=empty thenremoteaddr=Request.ServerVariables("REMOTE_ADDR")elseremoteaddr=Request.ServerVariables("H

小技巧:在Asp中获取客户端MAC地址的方法

技巧|客户端 本程序属于一种特别的方法.使用范围比较有限,而且有一定的危险性.借鉴了asp后门里的一些方法.下面是程序代码. <%     dim remoteaddr if Request.ServerVariables("HTTP_X_FORWARDED_FOR")=empty then remoteaddr=Request.ServerVariables("REMOTE_ADDR") else remoteaddr=Request.ServerVaria

php/js获取客户端mac地址的实现代码

这篇文章主要介绍了如何在php与js中分别获取客户度mac地址的方法,需要的朋友可以参考下   废话不多讲,直接上代码吧! 复制代码 代码如下: <?php   class MacAddr {       public $returnArray = array();        public $macAddr;       function __contruct($os_type=null){         if(is_null($os_type)) $os_type = PHP_OS;  

如何获取客户端MAC地址(三个方法)

方法一: 调用Windows的DOS命令,从输出结果中读取MAC地址: public static String getMACAddress() { String address = "";String os = System.getProperty("os.name");if ( os != null && os.startsWith("Windows")) { try { String command = "cmd.

ASP获取客户端MAC地址

本程序属于一种特别的方法.使用范围比较有限,而且有一定的危险性.借鉴了asp后门里的一些方法.下面是程序代码. <%dim remoteaddrif Request.ServerVariables("HTTP_X_FORWARDED_FOR")=empty thenremoteaddr=Request.ServerVariables("REMOTE_ADDR")elseremoteaddr=Request.ServerVariables("HTTP_

php 获取客户端mac地址程序代码

例1 PHP代码:  代码如下 复制代码 <?php   @exec("arp -a",$array); //执行arp -a命令,结果放到数组$array中   echo "<pre>";   print_r($array); //打印获取的数组     foreach($array as $value)   {       if( //匹配结果放到数组$mac_array       strpos($value,$_SERVER["R

asp.net如何获取客户端实际地址?

问题描述 asp.net如何获取客户端实际地址? 解决方案 解决方案二:获得ip地址:stringip=System.Web.HttpContext.Current.Request.UserHostAddress;或stringip=System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];获得MAC就比较麻烦!!解决方案三:Request.UserHostAddress获得IPb/s模式无法获取物理地址