在linux下,c語言編寫,可以根據對方的IP,查看其MAC地址,也可以掃描局域網在線IP的MAC和主機名。原理:建立socket ,構造netbios-ns包,循環sendto()把數據發送給對方并recvfrom()讀取返回信息。根據返回的netbios回應包,讀取對方的主機名,組名和mac地址。
顯示結果如下:
IP: 192.168.116.124 Host Name: BRN_8EEE6A/BRN_8EEE6A MAC: 00-80-77-8E-EE-6A
IP: 192.168.116.130 Host Name: XIAOXIAO/MSHOME MAC: 00-12-3F-D5-5E-A6
IP: 192.168.116.131 Host Name: NA MAC: NA [time out!]
一個網段掃描MAC,可以建立一個socket,連續向多個不同IP發送NBNS包,然后等待接受,根據返回包就可以掃描一個網段多個IP的MAC啦。
而windows下可以運行命令:nbtstat -A ip-address來查看
windows c 要改改頭文件
標簽:
linux
上傳時間:
2014-08-12
上傳用戶:cc1915