如何获得某一机器的MAC(100分)

  • 主题发起人 主题发起人 rong
  • 开始时间 开始时间
R

rong

Unregistered / Unconfirmed
GUEST, unregistred user!
在IP地址已知的情况下,
如何获得其网卡的硬件地址呢?
 
我会从注册表读出来,也会用NETBIOS读出来,但
不知道如何从寄存器或Driver读.

注册表好象只有NT有效.
 
哦,对不起,我没表达清楚我的意思。
我是希望在知道对方IP的情况下如何
得到对方的MAC地址
 
用微软的backoffice中带的sms可以检测出来
 
首先ping对方机器,然后用arp -a察看
 
ARP可以用,但必须在一个子网上才行.
 
Mac地址只能在本网段内才可知,
TCP/IP的路由协议本来就是这样定义的,
网关(路由器)的路由表上存放了IP-MAC的映射表,计算机
发的包一过网关(路由器),包中的源地址(MAC)就换成了网关(
路由器)的MAC地址。
总之,在最低层的传输中,MAC起决定作用,故而不可能保留
 
记得那个IPMAN吗?
 
对于同一网段内的网卡,用ping控件ping对方,
再通过arp重定向输出是可以得到对方的MAC.
但对于在不同网段的网卡,真的没办法吗?
 
在对方机器上装一个Server,用TCP告诉您就可以了.

除了这一类的方法,从TCP/IP的原理上分析,不大可能有别的方法了.

当然,Server可以用如BO之类的东东塞上去.
 
肯定有办法(不好意思,有点推翻了我以前的话)
事实上,Mac只在该网段内存在,所以不在同一网段时
关键是问网关要Mac地址。只要上网,路由表就存了你的Mac地址,几乎不需要
什么权限就能从网关那儿问到Mac地址
你可以用一下win98/winnt4.0的一个命令NBTSTAT
: nbtstat -a ip_address返回信息中包括对方的Mac地址,用户名等等
不在一个网段内也能用
 
ipman有条命令
IPMAN -QETH:IPADDRESS
就能得到mac,但要是对方不开机,就会死在那里。
or可以重定向.
IPMAN -QETH:IPADDRESS -fout:aa.txt
然后编dos bat file.
windows 定时运行。

 
ato:
backoffice的 sms如何用,能不能实时把ip与mac 绑定,
有人盗用ip就留下其mac
 
我认为这只有在局域网中才能实现,因为ip包在internet中传送的时候是要
不断修改以太网的头部信息的,以太的头部信息包括本机和对方的网卡
地址,唯有这样才能不断传过去,在局域网中由于不用传递所以直接发送
arp包就可以办到.
 
我想推翻我前面的说法,我认为这完全可行,只要你发送arp包就可以了,arp包前面的以太头虽然时时修改,但是arp包的内容是不变的,你知道了对方的IP后,只要在arp包里填上本机的ip地址和mac地址,然后填上对
方的ip地址,那么就可以返回对方的mac地址。在原理上就是这样,当然
这些都是底成超作,ipman就是基于这样的原理而成的,liling不是改写了
一部分为delphi嘛,稍做修改就可以了,如果不行的话我可以帮你做一个


 
yaoydong的说法是错误的.因为路由器不会转发ARP包,
所以即使你发出请求别的网段的ARP,也不会有任何结果.

路由器不转发ARP是因为不能实现,而不是不愿实现.因为
路由器两边的子网可能不是同类型的.以太网的ARP就不
可能转换到令牌环上去.所以跨子网获取MAC也失去了意义:
如果对方不是以太网,怎么办?
 
if u want to know it in program, u can usr ARP.
if u want to know it in command line,u can do:
ping IPADDR
arp -a
but the ip must be in ur same sub-network!
 
可用netbios编程.
我这儿有现例。
只能得到local net mac.
for router save it, you can send mac packet.
 
接受答案了.
 
后退
顶部