Nbtscan.exe

这是一款用于扫描WINDOWS网络上NETBIOS名字信息的程序。该程序对给出范围内的每一个地址发送NETBIOS状态查询,并且以易读的表格列出接收到的信息,对于每个响应的主机,NBTSCAN列出它的IP地址、NETBIOS计算机名、登录用户名和MAC地址。但只能用于局域网,NBTSCAN可以取到PC的真实IP地址和MAC地址,如果有”ARP攻击”在做怪,可以找到装有ARP攻击的PC的IP/和MAC地址。但只能用于局域网,NBTSCAN可以取到PC的真实IP地址和MAC地址,如果有”ARP攻击”在做怪,可以找到装有ARP攻击的PC的IP/和MAC地址。NBTSCAN可以取到PC的真实IP地址和MAC地址,如果有”ARP攻击”在做怪,可以找到装有ARP攻击的PC的IP/和MAC地址。总之,NBTSCAN可以取到PC的真实IP地址和MAC地址。

用法

直接运行程序

使用参数A扫描单个ip

也可以扫描整个网段

可以看出通过此工具能查询到局域网内的主机ip和主机名,域内DC主机也能定位到

数据包详情

在wireshark中可看到,该工具首先使用arp协议广播整个网段

接着有两台主机回应,经典的arp request-responce过程

获取到mac地址和 ip地址后,利用NetBios协议发送NBNS query包查询139和145主机的主机名(NetBIOS name 报文)

接着139和145都回复了 responce 包,点击查看 协议中包含了各自自己的主机名和域名

并且我们可以看到此 Netbios name数据报文是over UDP的

为udp的137端口。这里wireshark要看见端口信息 得取消掉传输层地址

总结来说,nbascan还是用了arp协议来进行主机探测,然后通过netbios协议的name数据包 来进行主机名查询
最后放出一张图,和图中所讲的一摸一样。Netbios工具调用NetbiosAPI 然后发送Netbios name数据包进行查询

NetBIOS

NetBIOS(Network Basic Input/Output System)即网络基本输入/输出系统协议,英文原义:NetBIOS Services Protocols。是由IBM公司开发,主要用于数十台计算机的小型局域网。NetBIOS协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的统一的命令集,作用是为了给局域网提供网络以及其他特殊功能,几乎所有的局域网都是在NetBIOS协议的基础上工作的。NetBIOS是一个网络协议,在上世纪80年代早期由IBM和Sytec联合开发,用于所谓的PC-Network。虽然公开发表的文档很少,协议的API却成为了事实上的标准。使用令牌环和以太网传输的NetBIOS现在被称为NetBEUI。在Micrsoft Windows 98发布之前,一直广泛使用。在TCP/IP上运行的NetBIOS称为NBT,由RFC 1001和RFC 1002定义。NBT的基本思想是在基于IP的网络上模拟基于NetBIOS的PC-Network。NBT在Windows 2000中引入,是现在首选的NetBIOS传输

注解:该协议是由IBM公司开发,主要用于数十台计算机的小型局域网。NetBIOS协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的统一的命令集,作用是为了给局域网提供网络以及其他特殊功能,系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,实现信息通讯,所以在局域网内部使用NetBIOS协议可以方便地实现消息通信及资源的共享。因为它占用系统资源少、传输效率高,尤为适于由 20 到 200 台计算机组成的小型局域网。所以几乎所有的局域网都是在NetBIOS协议的基础上工作的。

可以看出 NetBIOS提供三种不同服务:

  • Sessions:可靠的基于连接的通信
  • datagrams:不可靠的无连接通信
  • names: 名字登记和解析

本文暂只讨论 names数据包