使用 SendARP 查询 MAC 地址

原创 2004年10月26日 20:46:00
通过 IP Helper  API 中的 SendARP 发送 ARP 请求来获取 MAC 地址,简单方便,缺点是不能跨越网关。

 


#include
#include
#include

#pragma comment(lib , "IpHlpApi.lib")
#pragma comment(lib , "WS2_32.lib")


int main(int argc,char * argv[])
{
int iReturn;
DWORD dwIP;
BYTE byMAC[6];
DWORD dwLen;
WSADATA WsaData;

WSAStartup(MAKEWORD(2, 0), &WsaData);

__try
{
printf("IP2MAC Ver 1.0 -- Get MAC address from IP address though ARP request./n/n");

if (argc != 2)
{
printf("Usage: %s /n", argv[0]);
__leave;
}

dwIP = inet_addr(argv[1]);
if (dwIP == INADDR_NONE)
{
printf("Invalid IP address: %s./n", argv[1]);
__leave;
}

// 发送ARP查询包获得 MAC 地址
dwLen = 6;
iReturn = SendARP(dwIP, 0, (PULONG) &byMAC, &dwLen);
if (iReturn != NO_ERROR)
{
printf("Error: Send ARP request. /nBe sure that connectting to %s need no gateway./n", argv[1]);
__leave;
}

printf("%.2X-%.2X-%.2X-%.2X-%.2X-%.2X/n",
byMAC[0], byMAC[1], byMAC[2], byMAC[3], byMAC[4], byMAC[5]);
}
__finally
{
WSACleanup();
}

return 0;
}

使用SendArp来获取MAC地址

本文使用二种方式来获取mac address.1.   只能获取本机的. using System.Management; ManagementClass mc = new ManagementCla...
  • greystar
  • greystar
  • 2008年02月22日 09:21
  • 3478

C#获取MAC地址的几种方法(补充版)

关于获取本地电脑的MAC地址,除了前面说过的根据WMI获取http://blog.csdn.net/yysyangyangyangshan/article/details/6803787,其实还有好几...
  • yysyangyangyangshan
  • yysyangyangyangshan
  • 2011年12月21日 16:12
  • 20741

使用SendArp()探测局域网内主机的MAC地址

主要知识: Windows有自带的API叫IP Helper,其中有一个API 为SendArp()可以实现通过ARP协议获取指定的IP地址,MAC地址功能,具体格式如下: DWORD SendA...
  • qq_15297487
  • qq_15297487
  • 2015年10月13日 09:36
  • 1312

用SendARP()获取对方的MAC地址

使用SendARP()函数,发送ARP请求,以获取对方的MAC地址。 /* sendarp.c * Link with wsock32.lib and iphlpapi.lib */ ...
  • gaojinshan
  • gaojinshan
  • 2013年05月29日 19:15
  • 10184

VB.NET获取MAC地址

方法一:nbtstat 命令PublicFunction GetMac(ByVal IP AsString) AsString       Try            '定义输出变量。       ...
  • wufeng4552
  • wufeng4552
  • 2011年04月14日 08:23
  • 5280

用SendARP API函数获取远程主机MAC地址学习心得

我是一个闲不住的人,刚搞完禁用WebQQ的IE BHO插件,又迷上了WOL,众所周知,要写一个WOL的利用程序必须先得到远程主机群的MAC地址数据库,那怎样去获取这个数据库呢?是在每一个远程主机上安装...
  • swtar
  • swtar
  • 2010年12月04日 19:44
  • 833

Delphi获取本机的MAC地址

Delphi获取本机的MAC地址: uses   NB30; function GetAdaPterInfo(lana: Char): string; var   Adapt...
  • xtfnpgy
  • xtfnpgy
  • 2015年12月03日 16:54
  • 880

DELPHI获取网卡MAC地址 转

1、通过IP取MAC地址 uses WinSock; Function sendarp(ipaddr:ulong; temp:dword; ulmacaddr:pointer; u...
  • beyondqd
  • beyondqd
  • 2013年08月20日 17:33
  • 3425

MAC地址厂商查询网址

MAC地址厂商查询网址: https://regauth.standards.ieee.org/standards-ra-web/pub/view.html#registries 在该网站中可以将...
  • sinat_27261621
  • sinat_27261621
  • 2018年01月03日 10:13
  • 122

根据mac地址获取生产厂商

网卡MAC码是由全球惟一的一个固定组织来分配的,未经认证和授权的厂家无权生产网卡。 每块网卡都有一个固定的卡号,并且任何正规厂家生产的网卡上都直接标明了卡号, 一般为一组12位的16进制数。其中前...
  • u013094208
  • u013094208
  • 2016年11月22日 17:24
  • 1874
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用 SendARP 查询 MAC 地址
举报原因:
原因补充:

(最多只允许输入30个字)