工具
Metasploit Framework
Nmap
SQLMap
Dirb
Gobuster
Netcat
反弹shell
Hydra
wfuzz
wpscan
searchsploit
字典
arp-scan
hashcat
Netdiscover
Cobalt Strike
Goby
Nessus
Xray
Nuclei
-
+
首页
arp-scan
arp-scan是一款基于 **ARP 协议(Address Resolution Protocol,地址解析协议)** 的轻量级网络扫描工具,核心作用是**发现局域网内活跃的主机**,并获取其 **IP 地址与 MAC 地址的对应关系**。 它通过主动发送 ARP 请求包并捕获响应,突破了传统 ICMP(ping)扫描的局限性(如主机禁 ping 仍可被发现),是网络资产盘点、故障排查、ARP 欺骗检测的核心工具之一。 ## 原理 ARP 协议的基础作用 ——**将三层 IP 地址映射到二层 MAC 地址**(局域网内主机通信依赖 MAC 地址,而非 IP 地址)。 > 正常的工作流程 当主机 A(IP:192.168.1.10)需要与主机 B(IP:192.168.1.20)通信时: 1. 主机 A 检查本地 “ARP 缓存表”,若无主机 B 的 IP-MAC 映射,会发送**ARP 请求包**(二层广播包,目标 MAC 为 ff:ff:ff:ff:ff:ff),内容为 “谁是 192.168.1.20?请回复你的 MAC 地址”; 2. 同一广播域(局域网)内所有主机接收该请求,仅主机 B(IP 匹配)会发送**ARP 响应包**(二层单播包),内容为 “我是 192.168.1.20,我的 MAC 是 00:11:22:33:44:55”; 3. 主机 A 接收响应,将 IP-MAC 映射存入 ARP 缓存表,后续通信直接使用 MAC 地址。 > arp-scan的扫描逻辑 arpscan 本质是**模拟主机 A 的 “ARP 请求” 行为**,但主动向目标网段内的所有 IP 发送 ARP 请求,而非仅针对单个 IP: 1. **构造 ARP 请求包**:工具根据指定的 IP 网段(如 192.168.1.0/24),为每个 IP 生成一个 ARP 请求包; 2. **广播发送请求**:将所有 ARP 请求包通过指定的网络接口(如 eth0、wlan0)广播到局域网; 3. **捕获 ARP 响应**:监听网段内的 ARP 响应包,过滤出有效响应(仅目标 IP 对应的主机会回复); 4. **整理结果**:将响应中的 “IP 地址、MAC 地址” 关联,并通过**OUI 数据库(Organizationally Unique Identifier,组织唯一标识符)** 匹配 MAC 地址对应的厂商(如 “00:0C:29” 对应 VMware),最终输出结构化结果。 ## 功能 arpscan 的功能围绕 “IP-MAC 映射” 展开,覆盖网络管理、安全检测等多个场景,核心功能可分为三类: > 局域网内的主机发现 **突破 ping 屏蔽**:即使主机禁用 ICMP(禁 ping),只要处于同一局域网,仍会响应 ARP 请求(ARP 协议属于二层,与 ICMP 独立),因此能发现 “隐藏” 的活跃主机; **精准定位网段**:支持指定任意 IP 网段(如 10.0.0.0/8、172.16.0.0/12、192.168.1.1-100),扫描结果仅包含真实在线的主机,避免 “僵尸 IP” 干扰; **快速扫描**:ARP 请求为二层广播包,无需等待 TCP/UDP 端口响应,扫描速度远快于 nmap 等三层 / 四层扫描工具(一个 / 24 网段通常几秒内完成)。 > IP-MAC 绑定校验与冲突检测 **校验 IP-MAC 绑定**:网络管理员常配置 “IP-MAC 绑定” 防止 IP 盗用,arpscan 可快速获取当前网段的 IP-MAC 映射,与预设的绑定表对比,发现非法 IP 盗用(如 “IP 192.168.1.50 对应的 MAC 不是预设的 00:22:44:66:88:AA”); **检测 IP 冲突**:若多个主机使用同一 IP,arpscan 会接收到来自不同 MAC 的、针对同一 IP 的 ARP 响应,从而定位 IP 冲突问题(如 “IP 192.168.1.30 对应两个 MAC:00:1A:2B:3C:4D:5E 和 00:3F:4G:5H:6I:7J”)。 > ARP 欺骗(ARP 毒化)检测 ARP 欺骗是局域网常见攻击:攻击者伪造 ARP 响应,将网关的 IP(如 192.168.1.1)映射到自己的 MAC,使网段内主机的流量先经过攻击者(中间人攻击)。arpscan 可通过以下方式检测: - **对比网关真实 MAC**:先通过ip route或route命令获取网关的真实 MAC(如 “网关 192.168.1.1 的 MAC 为 00:01:02:03:04:05”); - **扫描网关 IP 的响应 MAC**:执行arp-scan -I eth0 --arpspa 192.168.1.1(--arpspa指定 “源 IP 为网关”),若响应的 MAC 不是真实网关 MAC,则存在 ARP 欺骗; - **监控 MAC 变化**:定时执行 arpscan,对比 IP-MAC 映射表,若某 IP(如网关)的 MAC 频繁变化,大概率是 ARP 欺骗攻击。 ## 语法 ```bash arp-scan [options] [hosts...] ``` ## 常用参数 arpscan 需**root 权限**(sudo)运行,因为需要构造原始 ARP 数据包并监听网络接口。 | 参数 | 作用说明 | 示例命令 | | --------------- | -------------------------------------------------------- | ---------------------------------------------------- | | -I \<interface> | 指定扫描的网络接口(如 eth0、wlan0、enp0s3),必选 | sudo arp-scan -I eth0 192.168.1.0/24 | | -l | 自动扫描当前接口的 “本地网段”(无需手动指定 IP) | sudo arp-scan -I wlan0 -l | | -r \<count> | 指定每个 IP 的 ARP 请求发送次数(默认 2 次,提高准确率) | sudo arp-scan -I eth0 -r 3 192.168.1.0/24 | | -v | 显示详细扫描过程(如发送 / 接收的数据包数量) | sudo arp-scan -I eth0 -v 192.168.1.1-50 | | --arpspa \<ip> | 伪造 ARP 请求的 “源 IP”(用于检测 ARP 欺骗,如伪造网关) | sudo arp-scan -I eth0 --arpspa 192.168.1.1 | | -x | 以 XML 格式输出结果(便于后续自动化分析) | sudo arp-scan -I eth0 -x 192.168.1.0/24 > result.xml | | -f \<file> | 从文件中读取 IP 列表(适用于非连续网段) | sudo arp-scan -I eth0 -f ip_list.txt | | --ignoredups | 忽略重复的响应(避免同一主机多次响应导致结果冗余) | sudo arp-scan -I eth0 --ignoredups 192.168.1.0/24 | | --file | 从文件读取 | sudo arp-scan -I eth0 --file=targets.txt | ## 场景 > 扫描当前所在的网段 ```bash ┌──(kali㉿kali)-[~/Desktop] └─$ sudo arp-scan 192.168.186.0/24 [sudo] password for kali: Interface: eth0, type: EN10MB, MAC: 00:0c:29:f2:f7:23, IPv4: 192.168.186.128 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.186.1 00:50:56:c0:00:08 VMware, Inc. 192.168.186.2 00:50:56:ec:88:83 VMware, Inc. 192.168.186.135 00:0c:29:01:d7:df VMware, Inc. 192.168.186.254 00:50:56:e6:44:83 VMware, Inc. 4 packets received by filter, 0 packets dropped by kernel Ending arp-scan 1.10.0: 256 hosts scanned in 2.018 seconds (126.86 hosts/sec). 4 responded ```
毛林
2025年10月9日 16:46
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码