在渗透测试过程中,为了推测局域网内主机品牌,一个简单易行的办法就是通过ARP协议获取主机MAC地址列表,再通过互联网手动查询其所属厂商。笔者分享的工具实现了在ARP命令(arp -a)输出文件上自动添加相应厂商信息的功能。工具虽小,但是解决了实际需求。(工具下载地址:Github

1  基础知识

网卡物理地址(MAC地址)共有6个字节48位组成,前三个字节由网卡制造商从IEEE组织申请获得,后三个字节由网卡制造商自行编制。前三个字节又称为组织唯一标识符(OUI,Organizationally unique identifier),IEEE组织发布的oui.txt文件(下载地址)中记录着世界上所有网卡制造商与MAC地址前三个字节的对应关系。

网卡厂商自动识别工具(带源码)-RadeBit瑞安全

2  实现原理

网卡厂商自动识别工具实现流程如图2所示,主要包括两个过程:初始化过程和添加厂商过程。初始化过程完成了组织唯一标识符库(即MAC地址前三个字节与网卡厂商对应关系表)的加载和输入输出流的创建。添加厂商过程主要是逐行检测“arp -a”命令输出文件,针对接口信息行直接输出结果,针对标题行添加ORG列名后输出结果,针对MAC地址行至组织唯一标识符库中检索并添加厂商信息后输出结果。

3  使用指南

3.1 操作命令

C:UsersGaearrow> arp -a > arp-all.txt

C:UsersGaearrow> 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

网卡厂商自动识别工具(带源码)-RadeBit瑞安全

3.3 输出示例 arp-all-org.txt

网卡厂商自动识别工具(带源码)-RadeBit瑞安全