本文出處: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)
總結下這個工具的運行流程:
- 遍歷輸入的IP範圍,以廣播MAC地址發送ARP查詢
- 一旦接收到ARP回覆,遍記錄相應的IP與MAC地址,同時向對方發送NBNS消息查詢對方的主機信息
- 打印出每條信息
好了,這個工具還是挺棒的,原理也很簡單,改天自己也實現下,僅以此祭奠我那悲催的網絡考試。。。