云联天下首页 |  登陆 |  注册 |  密码找回 |  关于我们 | 加入收藏 
首页技术资料系统/服务器→利用ARP探测以太网中的活动主机 【字号: 】 【背景色 杏仁黄 秋叶褐 胭脂红 芥末绿 天蓝 雪青 灰 银河白(默认色)

利用ARP探测以太网中的活动主机

网址来源:http://www.kehui.net发布时间: 2004-11-05 11:39:11
文章属性:原创
文章提交:yztgx (yztgx_at_163.net)

利用ARP探测以太网中的活动主机(原创)

Author: yztgx
E-mail: yztgx@163.net
Date: 2004-4-13

    网上存在很多关于ARP的文章,大多都是关于ARP欺骗,这里介绍ARP的另类用法:探测目标主机是否处于活动状态。
    传统探测远程主机是否存活的方法是通过ICMP协议中的回显应答报文来探测(ping)。随着对安全的越来越多的了解和重视,很多主机为了避免被扫描器探测,通过防火墙将ICMP包屏蔽,从而达到在网络中隐藏的目的。
    这里我们介绍一下利用ARP协议探测网络中的活动主机的思路,这种方法的缺点只能探测以太网内的活动主机。
    先大概了解一下ARP协议。ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写,它的作用是将IP地址转换成物理地址(就是常说的MAC地址),其详细过程参考《TCP/IP详解 卷一》。协议ARP的分组格式如下:
------------------------------------------
以太网目的地址(6个字节)
以太网源地址(6个字节)
帧类型(ARP = 0806)(2个字节)
------------------------------------------
硬件类型(Ethernet=01)(2个字节)
协议类型(IPv4=0800)(2个字节)
硬件地址长度(1个字节)
协议地址长度(1个字节)
OP操作选项(ARP request=01,ARP reply=02)(2个字节)
发送端以太网地址(6个字节)
发送端IP地址(4个字节)
目的以太网地址(6个字节)
目的IP地址(4个字节)
--------------------------------------------

    我们向目标主机发送一个ARP请求,如果目标主机处于活动状态则会返回其MAC地址,如果对方返回MAC地址,则表明对方处于活动状态,这样达到探测目的。ARP请求包内容如下:
------------------------------------------
以太网目的地址  |FFFFFFFFFFFF(广播地址)
以太网源地址    |本地MAC地址
帧类型            |0806
------------------------------------------
硬件类型        |01
协议类型        |0800
硬件地址长度    |06
协议地址长度    |04
OP操作选项      |01
发送端以太网地址|本地MAC地址
发送端IP地址    |目标主机IP地址
目的以太网地址  |000000000000
目的IP地址      |目标主机IP地址
--------------------------------------------
注意:这里以太网目的地址为FFFFFFFFFFFF,这是广播地址,以太网上所有主机都能收到这个包,在收到这个数据包后,操作系统判断目的IP地址是不是这台主机,如果不是则丢弃(不作处理),否则发送回一个ARP应答包,包的内容如下:
------------------------------------------
以太网目的地址  |探测主机的MAC地址
以太网源地址    |本地MAC地址    (这里本地指被探测主机)    
帧类型            |0806
------------------------------------------
硬件类型        |01
协议类型        |0800
硬件地址长度    |06
协议地址长度    |04
OP操作选项      |02
发送端以太网地址|本地MAC地址    (这里本地指被探测主机)
发送端IP地址    |本机IP地址    (这里本地指被探测主机)
目的以太网地址  |探测主机的MAC地址
目的IP地址      |探测主机的IP地址
--------------------------------------------

    我们可以使用Pcap自己来构造这个数据包(具体过程参考Pcap的相关文档,这里我们使用SendARP()来实现),SendARP()是Microsoft Platform SDK中提供用来获得目标主机的MAC地址的函数,SendARPSendARP的函数原型如下:
DWORD SendARP(
  IPAddr DestIP,     // 目标IP地址
  IPAddr SrcIP,      // 源IP地址
  PULONG pMacAddr,   // 返回MAC地址指针
  PULONG PhyAddrLen  // 返回MAC地址长度
);


下面这个例子摘至MSND,稍做改动可以成为一个以太网内活动主机探测工具
//
// Link with ws2_32.lib and iphlpapi.lib
//

#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#include <iphlpapi.h>


int __cdecl main()
{
    HRESULT hr;
    IPAddr  ipAddr;
    ULONG   pulMac[2];
    ULONG   ulLen;

    ipAddr = inet_addr ("192.168.0.1");
    memset (pulMac, 0xff, sizeof (pulMac));
    ulLen = 6;
    
    hr = SendARP (ipAddr, 0, pulMac, &ulLen);
    printf ("Return %08x, length %8d
", hr, ulLen);
    
    size_t i, j;
    char * szMac = new char[ulLen*3];
    PBYTE pbHexMac = (PBYTE) pulMac;

    //
    // Convert the binary MAC address into human-readable
    //
    for (i = 0, j = 0; i < ulLen - 1; ++i) {
        j += sprintf (szMac + j, "%02X:", pbHexMac[i]);
    }
    
    sprintf (szMac + j, "%02X", pbHexMac[i]);
    printf ("MAC address %s
", szMac);
    
    delete [] szMac;

    return 0;
}


白衫 

相关新闻
v 文件上传漏洞在惠信中的应用 2004-11-05 11:40:28
v Do All in Cmd Shell 2004-11-05 11:41:29
v 测试防火墙系统 2004-11-05 11:42:21
v 居安思危--论补丁管理之理论 2004-11-05 11:52:00
v 剖析Windows系统服务调用机制 2004-11-05 11:53:24
v 《再谈进程与端口的映射》之狗尾续貂篇 2004-11-05 11:54:51
v 木桶新理论与信息安全 2004-11-06 05:44:52
v FreeBSD 中文转码(zh-hztty-2.0) 2004-11-15 06:57:58
v port tree 更新 2004-11-15 06:58:27
v cvsup daemon 2004-11-15 06:58:53
  最新新闻
智慧家居
智慧家居颠覆传统智能家居
智慧云谷让智能家居变成有智慧的
智慧云谷引领智慧家居新生活
科技改变生活 智慧云谷智慧家居系
智慧家居领航者,智慧云谷助你玩
智能家居如何赢得市场美誉度?
智慧云谷智慧家居:创业者有无限
WiFi智能家居你还在用?这样的智
互联网+助推智能家居产业
智慧云谷为您打造真正的智能家居
智能家居产业需要的不是单品,而
新家如何选择开关?智慧云谷iWis
智能传感器-世界首款“智”为你的
智慧云谷开关智能安防智能空气质
智能开关品牌,如何选择智能开关
秋季干燥,智慧家居温湿度传感器
传感器助力智慧家居 感知爱家
iWiscloud智能触摸开关缔造家居装

  最新帖子
 ※室内空气污染的危害及  [sensor]
 ※超声波风速传感器在生  [sensor]
 ※这么冷清  [gabc111]
 ※手机APP操作有问题  [ssy11407]
 ※智慧云谷智慧家居将在  [cici]
 ※上传下载  [cici]
 ※下载智慧家居  [apple2008]
 ※秋季干燥,智慧家居温  [apple2008]
 ※智慧家居紧扣热点 安全  [apple2008]
 ※办公大楼如何智慧化管  [apple2008]
 ※智慧云谷工业自控的优  [apple2008]
 ※传感器助力智慧家居 感  [apple2008]
 ※智能开关品牌,如何选  [apple2008]
 ※智慧云谷开关智能安防  [apple2008]
 ※没有专业人员,如何安  [apple2008]
 ※烟台智慧云谷董事长任  [apple2008]
 ※互联网+助推智能家居产  [apple2008]
 ※WiFi智能家居你还在用  [apple2008]
 ※智慧云谷智慧家居:创  [apple2008]
 ※智能家居如何赢得市场  [apple2008]
钯碳回收 硝酸银回收 银浆回收 银焊条回收 回收银浆 氯化钯回收 氯化钯回收 氧化钯回收 回收硝酸钯 钯水回收价格 海绵钯回收 钯炭回收价格 回收镀金板 深圳钯碳回收 镇江氯化钯回收 杭州钯浆回收 银浆回收多少钱 回收钯碳公司 硝酸银的价格 那里有回收金 氯化钯回收价格 江苏擦银布回收 硝酸银价格 德州钯粉回收 银铜回收 回收钯粉 回收铂碳催化剂 佛山钯碳回收 金盐回收价格 海绵钯回收 钯碳高价回收 钯回收价格 钯炭回收