Kali Linux 教程:主机存活探测工具-arp-scan 作者:马育民 • 2026-09-29 09:42 • 阅读:10001 # 介绍 > ⚠️ **警告:仅可在自己拥有授权的内网环境测试,未经授权扫描他人网络属于违法行为!** `arp-scan` 是Kali**默认预装**的ARP扫描工具,利用ARP协议(二层)探测局域网内**存活主机**,发送ARP请求包,收到应答就记录IP+MAC+厂商信息。 ### 优点 - 属于二层扫描,**不受主机防火墙禁ping影响**(ping是ICMP三层,很多主机拦截ping,但ARP在同网段无法拦截) - 扫描速度快,精准获取MAC地址与硬件厂商 ### 局限 - **只能扫描同一广播域(同一子网)**,ARP不能跨路由器转发,无法扫描外网/跨网段主机 - 只支持IPv4 # 原理 ARP(地址解析协议),根据IP查询MAC地址。arp-scan批量发送ARP Request,存活主机返回ARP Reply。 # 基础命令 ```bash # 查看版本 arp-scan -V # 帮助文档 arp-scan --help # man手册 man arp-scan ``` 必须root权限运行(需要读写网卡二层数据包),所以前面加`sudo`或切换root。 # 常用参数 | 参数 | 全称 | 作用 | |---|---|---| | `-l` | `--localnet` | 扫描本机网卡所在整个子网(最常用) | | `-I` | `--interface` | 指定网卡,如 `-I eth0` / `-I wlan0` | | `-q` | `--quiet` | 安静模式:只输出IP+MAC,去掉厂商、头部尾部信息 | | `-x` | `--plain` | 纯文本输出,去掉页眉页脚,方便导入csv | | `-t` | `--timeout` | 超时时间,单位ms,默认500 | | `-c` | `--retry` | 重试次数 | | `-R` | `--random` | 随机顺序扫描IP | | `-s` | `--arpspa` | 修改ARP包源IP(伪造源IP) | | `--srcaddr` | | 修改以太网源MAC(伪造源MAC) | # 常用命令 ### 1. 一键扫描本机所在局域网(最常用) ```bash sudo arp-scan -l ``` 输出字段:`IP地址` `MAC地址` `硬件厂商` ``` 192.168.1.1 aa:bb:cc:dd:ee:ff TP-Link Technologies Co.,Ltd. ``` ### 2. 指定网卡扫描(多网卡环境必备) ```bash # eth0有线网卡 sudo arp-scan -I eth0 -l # wlan0无线网卡 sudo arp-scan -I wlan0 192.168.1.0/24 ``` ### 3. 指定网段扫描(CIDR格式) ```bash sudo arp-scan 192.168.1.0/24 ``` ### 4. 扫描单个IP,探测主机是否在线 ```bash sudo arp-scan 192.168.1.100 ``` ### 5. 扫描一段连续IP范围 ```bash sudo arp-scan 192.168.1.10-192.168.1.30 ``` ### 6. 安静模式,只输出IP+MAC,过滤多余信息 ```bash sudo arp-scan -l -q ``` ### 7. 调整超时和重试(丢包严重场景) ```bash sudo arp-scan -l -t 1000 -c 3 ``` - `-t 1000`:超时1000毫秒 - `-c 3`:每个IP重试3次 # 输出结果解读 ``` Interface: eth0, datalink type: EN10MB (Ethernet) Starting arp-scan 1.9 with 256 hosts 192.168.1.1 00:50:56:c0:00:08 VMware, Inc. 192.168.1.10 00:11:22:33:44:55 Intel Corp. 3 packets received by filter, 0 packets dropped by kernel Ending arp-scan: 256 hosts scanned ... 3 responded ``` **解释:** - `Interface`:使用的网卡 - 每行:`IP` `MAC` `厂商` - `responded`:一共多少台设备返回ARP应答(存活主机) > MAC前3字节OUI用来识别厂商;部分小众设备、虚拟机MAC无法识别厂商,会显示`(Unknown)`。 # 高级用法(数据包伪造) 多用于内网渗透测试,**请勿非法使用** ```bash # 伪造源MAC地址 sudo arp-scan --srcaddr=00:11:22:33:44:55 192.168.1.0/24 # 伪造ARP源IP sudo arp-scan -s 192.168.1.200 192.168.1.100 ``` # 常见问题 ### 1. **报错:Operation not permitted** 没有root权限,加`sudo`。 ### 2. **扫描不出设备** - 网卡选错(虚拟机Kali看网卡:`ip a`) - 虚拟机模式:要改成桥接模式,NAT模式只能扫虚拟机网段,扫不到宿主机内网 - 网卡未启用 # 配套工具 arp-fingerprint arp-scan包自带`arp-fingerprint`,根据ARP应答报文做操作系统指纹识别: ```bash sudo arp-fingerprint 192.168.1.1 ``` 用来判断目标是Windows / Linux / 路由器等。 原文出处:/show_1GW48QJE0PPP.html