nbtscan局域网扫描的原理

本文出处:http://blog.csdn.net/xizhibei

=============================


相信搞网络的应该都听说过nbtscan这个工具,当我们处于局域网中,想查询同处一个局域网的主机时,它就是个不错的工具(比如追踪ARP诈骗源)

它也很好用,在win下,nbtscan+ip范围即可,如:(我机子的IP是172.17.27.199,子网掩码是255.255.255.0,下面的抓包会用到我的IP查找相应的数据包)



很快就能得到周围的主机的信息了,那么,这里就有疑问了,它是怎么实现的呢,显然由于有MAC地址,估计跟ARP协议有关。


打开抓包工具一看就知道了,用Wireshark,于是,我抓到了这样的信息:





果然跟ARP协议有关,就相当于遍历每个IP,使用ARP广播发相关的信息,然后接收到的主机便回复我的机子,那么对方的IP还有MAC地址我就会知道了,上图中倒数第二个数据包便是172,.17.27.193的ARP回复消息。


好了,那么接下来,又有问题了:ARP协议根本没有主机名这一项啊!


相信你也应该发现了,就是上图中淡黄的那一行,nbtscan在得到对方的IP还有MAC后,遍紧接着发送一个NBNS协议数据包,得到了对方的主机名(关于NBNS,在这http://baike.baidu.com/view/1403776.htm)


总结下这个工具的运行流程:

  1. 遍历输入的IP范围,以广播MAC地址发送ARP查询
  2. 一旦接收到ARP回复,遍记录相应的IP与MAC地址,同时向对方发送NBNS消息查询对方的主机信息
  3. 打印出每条信息


好了,这个工具还是挺棒的,原理也很简单,改天自己也实现下,仅以此祭奠我那悲催的网络考试。。。

你可能感兴趣的:(网络)