在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