zxp_ping
驱动牛犊
驱动牛犊
  • 注册日期2002-04-11
  • 最后登录2011-12-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2762回复:15

如何不得用NetBios而读取网卡MAC地址?

楼主#
更多 发布于:2002-04-11 15:04
现今很多程序都是利用NETBIOS来读取网卡MAC地址,但是,经过试验发现在,读出来的地址很不可靠,例如Windows系列下就很容易修改,只要在注册表里建几个键值,然后读出来的就会相应改变。这样对了些注册机制的话很不利,所有我想问一下是否有直接从网卡的Rom中取出地址的代码?

最新喜欢:

jzyhummeljzyhum...
haotz
驱动牛犊
驱动牛犊
  • 注册日期2002-04-11
  • 最后登录2010-09-27
  • 粉丝0
  • 关注0
  • 积分87分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-11 15:07
直接读硬件的方法不通用吧~! :D
zxp_ping
驱动牛犊
驱动牛犊
  • 注册日期2002-04-11
  • 最后登录2011-12-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-11 15:08
我也有此想法,是否有一些常用网卡的专用读取器呢?
haotz
驱动牛犊
驱动牛犊
  • 注册日期2002-04-11
  • 最后登录2010-09-27
  • 粉丝0
  • 关注0
  • 积分87分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-11 15:14
厂家可定有上设定 mac的程序,也不通用。
zxp_ping
驱动牛犊
驱动牛犊
  • 注册日期2002-04-11
  • 最后登录2011-12-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-04-11 15:40
是否有别的方法获得呢?
Snare
驱动小牛
驱动小牛
  • 注册日期2002-01-31
  • 最后登录2002-08-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-04-12 19:03
一般都是网卡的驱动提供查询、更改mac的接口,直接读写eeprom不可取,因为每个网卡、eeprom的型号都不一样,没法做到通用,
我就是我,没什么可说的。
zxp_ping
驱动牛犊
驱动牛犊
  • 注册日期2002-04-11
  • 最后登录2011-12-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-04-14 13:16
我是否可以通过驱动程序接口读取MAC地址呢?
anti
驱动牛犊
驱动牛犊
  • 注册日期2001-04-26
  • 最后登录2008-05-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-04-14 13:34
in NDIS there have two mac address can be read if the NIC is ethernet:one is OID_802_3_PERMANENT_ADDRESS in NdisRequest another is OID_802_3_CURRENT_ADDRESS in NdisReques.
and the first way you can get the mac address encoded in the hardware!
the mac address you got by second way is the the current using mac address that can be change in registry,but it is the really mac address your NIC used currently.
yzhgry
驱动牛犊
驱动牛犊
  • 注册日期2001-10-16
  • 最后登录2018-05-30
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-04-14 13:36
应该每个厂家的读写方法都不一样
anti
驱动牛犊
驱动牛犊
  • 注册日期2001-04-26
  • 最后登录2008-05-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-04-14 13:43
NdisRequest 就是调用 各个厂家自己nic miniport驱动中的函数啊!
这是Ndis 的标准嘛!
zxp_ping
驱动牛犊
驱动牛犊
  • 注册日期2002-04-11
  • 最后登录2011-12-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-04-14 13:55
TO  anti:
    该函数如何调用?是否可用C or VC or Delphi or 汇编写一段示例呢?
zxp_ping
驱动牛犊
驱动牛犊
  • 注册日期2002-04-11
  • 最后登录2011-12-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-04-14 13:59
Windows CE version ????不能Win9x?
anti
驱动牛犊
驱动牛犊
  • 注册日期2001-04-26
  • 最后登录2008-05-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-04-14 14:30
win ce 俺没用过!
不过,都是microsoft 的东东,只要也用NDIS就可以吧!
至于NdisRequest 是在NDIS 内部调用的,如果你不在乎效率的话,做一个IMD,就可以轻松搞定(你可以查看win ce ddk,稍微该一下 passthru  的示例就可以了)。
不过我想你是要在user mode得到,好象tcpip.sys 模块有一个ioctrl的接口,如果你能知道规范,就可以从此下手,(如有高手知道,望告知)。
Nouk
驱动中牛
驱动中牛
  • 注册日期2001-08-22
  • 最后登录2006-10-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-04-14 16:10
Does tcpip.sys live in 9x?
Taiwan's Driver Developer
zxp_ping
驱动牛犊
驱动牛犊
  • 注册日期2002-04-11
  • 最后登录2011-12-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-04-15 08:00
Win98,找不到tcpip.sys.
yangyang
驱动中牛
驱动中牛
  • 注册日期2002-04-07
  • 最后登录2009-04-18
  • 粉丝0
  • 关注0
  • 积分368分
  • 威望67点
  • 贡献值0点
  • 好评度36点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-04-16 10:17
可以直接从eeprom读取或修改(如:8029AS采用的是93c46芯片)
不过网卡的芯片不同,读取得方式不同。
如读取8029AS的eeprom的MAC的OFFSET 0001h;实际ADDRESS I/O+01
MAC存入在EEPROM的ADDRESS 1h,2h,3h中;8029本站有。

如读取8139C(L)的EEPROM(93c46)里OFFSET 0050h;实际 I/O+0x50
MAC存入在EEPROM中,ADDRESS 7h,8h,9h中;
系统实际使用的MAC放在8139chin的 register中,偏移地址是 0000h,0001h,0002h,0003h,0004h,0005h中
读取8029AS的MAC程序在本站下。
如需要读取或修改8139C的eeprom的MAC的程序我正好写了一个。
请跟我联系:E-mail:yangyangde@2911.net.
欢迎大家访问中国电子开发网 http://www.cedn.cn vxworks资料库最全的网站
游客

返回顶部