本文出處: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消息查詢對方的主機信息
打印出每條信息
————————————————
版權聲明:本文為CSDN博主「xizhibei」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/xizhibei/java/article/details/7910308