在渗透测试过程中,为了推测局域网内主机品牌,一个简单易行的办法就是通过ARP协议获取主机MAC地址列表,再通过互联网手动查询其所属厂商。笔者分享的工具实现了在ARP命令(arp -a)输出文件上自动添加相应厂商信息的功能。工具虽小,但是解决了实际需求。(工具下载地址:Github)
1 基础知识
网卡物理地址(MAC地址)共有6个字节48位组成,前三个字节由网卡制造商从IEEE组织申请获得,后三个字节由网卡制造商自行编制。前三个字节又称为组织唯一标识符(OUI,Organizationally unique identifier),IEEE组织发布的oui.txt文件(下载地址)中记录着世界上所有网卡制造商与MAC地址前三个字节的对应关系。
图 1 oui.txt部分内容
2 实现原理
网卡厂商自动识别工具实现流程如图2所示,主要包括两个过程:初始化过程和添加厂商过程。初始化过程完成了组织唯一标识符库(即MAC地址前三个字节与网卡厂商对应关系表)的加载和输入输出流的创建。添加厂商过程主要是逐行检测“arp -a”命令输出文件,针对接口信息行直接输出结果,针对标题行添加ORG列名后输出结果,针对MAC地址行至组织唯一标识符库中检索并添加厂商信息后输出结果。
3 使用指南
3.1 操作命令
C:\Users\Gaearrow> arp -a > arp-all.txt
C:\Users\Gaearrow> MacOrg.exe arp-all.txt
Oui Version = Generated: Tue, 23 May 2017 09:15:05
Successfully add ORG to [C:/Users/Gaearrow/arp-all-org.txt]
3.2 输入示例 arp-all.txt
3.3 输出示例 arp-all-org.txt
|