有几个小问题:希望大家回答,谢谢!
1.网卡的真正mac地址是否可以从注册表中读出,包括网卡的类型(用来删选)。
因为我的程序虽然在注册表中修改了mac,这只是建了个NetworkAddress,我要读出真正的mac怎么办?
我在注册表中读适配器,为了辨认多块网卡,就从注册表中读出所有接口项,如ras适配器,直接并行,D_Link530等等,
我让用户选的只需要D_Link530,即实际上的网卡。怎么办?如何进行删选。
2.msdn上说netbios中的NCBASTAT命令,可以得到本地或远程计算机的mac,我只是得到了本地的,远程的如何得到?
3.nbtstat命令的端口号是否是137?用这个命令(nbtstat -a 192.168.3.131)所发的数据包是什么?返回过来的数据包的格式是什么样的,我想通个这个来得到远程机子的mac.group name, user name

解决方案 »

  1.   

    1。可以
    2。可以。就用netbios函数你可以用GetAdaptersInfo获取适配器信息(iphlp.lib)
    3。你可以用收数据之类的软件看数据包,一清二楚。如sniffer
      

  2.   

    问题一,使用GetAdaptersInfo,返回的数据结构里有一个Type域,判断它是不是IF_ETHERNET_ADAPTERTYPE。问题二,nbtstat -A <对方的IP地址> 可以得到对方的MAC地址对于问题三,看这个帖子里面的代码:
    http://expert.csdn.net/Expert/topic/1816/1816084.xml?temp=.6563074
      

  3.   

    真正mac地址是在从注册表中哪边纪录的?
      

  4.   

    注册表中记录的,并不是你网卡真正的mac!!真正的mac是固化在你网卡的rom中的.