使用arp-scan快速发现网络主机的完整指南

本文详细介绍了如何使用arp-scan工具进行局域网主机发现,包括安装方法、基本扫描命令、高级选项配置以及实际应用场景。arp-scan通过ARP协议在OSI第二层工作,能有效发现其他扫描工具可能遗漏的网络设备。

如何安装arp-scan

在Linux渗透测试平台上安装arp-scan非常简单,只需调用发行版的首选包管理器即可。

  • Ubuntu、Debian及类似发行版:

    1
    
    apt install arp-scan
    
  • Fedora、Alpine Linux、Rocky或Red Hat Enterprise Linux:

    1
    
    dnf install arp-scan
    
  • openSUSE:

    1
    
    zypper install arp-scan
    
  • Arch Linux:

    1
    
    pacman -S arp-scan
    

许多以安全为导向的发行版(如Kali Linux)默认包含arp-scan。

Mac用户应安装Homebrew包管理器,然后输入以下命令:

1
brew install arp-scan

Windows用户的安装更具挑战性,需要arp-scan端口、Cygwin类Unix环境或Windows Linux子系统。安装后从终端运行,这是一个命令行应用程序。

使用arp-scan -version命令检查安装状态和版本。

如何运行初始扫描

Arp-scan通过向指定范围内的所有IP地址发送ARP请求来工作。这些请求要求接收计算机用其IP地址响应源设备。这是基本IP网络的一个组成部分,因此所有系统都应响应。Arp-scan记录每个响应并显示结果。

基本语法要求用户指定网络接口和要扫描的子网:

1
arp-scan -I <interface-id> <subnet>

例如,要在接口eth1上扫描子网192.168.2.0/24:

1
arp-scan -I eth1 192.168.2.0/24

默认结果显示响应系统的MAC地址、IP地址和接口制造商(如果可用)。扫描应快速完成,因为协议本身很简单。

无线网络也依赖MAC地址,因此可以将系统的无线接口指定为源。这是在网络上查找流氓无线设备的便捷选项。

其他arp-scan选项

各种arp-scan选项可以修改工具的行为。将以下选项与标准扫描选项结合使用以获得更大灵活性:

  • -q(安静模式):仅显示MAC和IP地址,不显示接口制造商信息
  • -x(纯模式):隐藏默认的页眉和页脚信息,便于将扫描结果导入其他格式(如CSV)
  • -g:忽略任何重复响应
  • -r 3:指定重试次数(本例中为三次)
  • -R:随机化指定主机的扫描顺序

查看arp-scan手册页以获取其他选项。结合各种选项来收集和格式化所需信息。

arp-fingerprint命令是arp-scan包的一部分,用于定位单个主机。

使用-v选项增加arp-scan输出详细程度。结果显示扫描过程进度、数据包长度详细信息、调试信息等。使用多个v选项获取更详细信息(如-vvv)。

Arp-scan使用场景

请注意,arp-scan不会尝试隐藏入侵检测系统或其他扫描预防工具。其查询明显且嘈杂。如果喜欢隐蔽扫描,请考虑其他工具。例如,Netdiscover可能是一个很好的替代方案。但ARP流量是网络的正常部分,因此其他通信可能会掩盖扫描。

在检测网络节点至关重要但隐藏操作不是优先考虑的任何场景中使用arp-scan。考虑以下示例:

  • 网络映射和侦察:为安全审计映射网络或扫描意外和未知设备
  • 道德黑客:在渗透测试或其他合法安全活动期间映射网络和识别设备
  • 故障排除:作为更大故障排除过程的一部分识别活动网络节点

其他网络扫描器(如Nmap)在OSI模型中比arp-scan高一层。这提供了更多功能,但也限制了它们的一些实用性。由于arp-scan在OSI第2层运行,它仅扫描本地段。但是,它会找到其他扫描器可能遗漏的节点。结合arp-scan和Nmap扫描以获得最佳结果。Arp-scan的简单性是其最大资产。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计