| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 安全365社区 |
安全365
收藏本站
设为首页
会员登录:
站内搜索: 新闻中心 系统安全 网络安全 安全技术 下载中心
| 网络安全首页 | 信道安全 | 设备安全 | 协议安全 | Web安全 |
使用SendARP 查询 MAC 地址
使用 SendARP 查询 MAC 地址
作者:佚名 文章来源:互联网 点击数: 更新时间:2008-4-10 17:03:45

  使用 SendARP 查询 MAC 地址

  通过 IP Helper API 中的 SendARP 发送 ARP 请求来获取 MAC 地址,简单方便,缺点是不能跨越网关。

  C++代码

  #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;

  }

文章录入:小张    责任编辑:小张 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    IP被封?教你两招修改网卡
    路由器应用技术 Cisco的
    站长邮箱:webmaster@anquan365.com
    联系电话:86-10-67634029 点击这里给我发消息

    Copyright © 2006-2008 www.anquan365.com 北京华安普特网络科技有限公司 版权所有