当前位置:文档之家› 直接读取PCI网卡的MAC地址的原理与方法

直接读取PCI网卡的MAC地址的原理与方法

直接读取PCI网卡的MAC地址的原理与方法 

李全忠

山东农业大学信息学院

 

给出了相应的

Delphi 语言实现程

关键词

RTL8139网卡

College of Information, Shandong Agricultural University,Taian 271018

The principle and method to read MAC address directly from serial memory chip AT93C46 are analyzed and the relative executable

program is given in Delphi.This provides the technique of reading MAC address directly from applied programs.

RTL8139 network card

18

2005

年9月

September 2005

1000

0213

A

中图分类号

6B

?yê?óéóúMAC 地址数据的这个性质特点

对于这类应用程序笔者实验发现

或对其

PCI

网卡IO

空间的IDR0-IDR5寄存器进行相应改写

这类程序在获取

MAC 地址的途径上考虑不周

经进一步

分析发现

同样也是不可靠的那么

下面以

RTL8139

型网卡为例进行分析与探讨

网卡自身就要做一些初始化

工作RTL8139网卡的主控芯片8139就会从AT93C46è?oó′?·?μ??÷??D???IO 空间的偏移地址为0000-0005H 的6个8位可读写寄存器IDR0-IDR5中

网卡工作时使用的MAC 就是从寄存器IDR0-IDR5中读

取的只有网卡重启时

显然

2 读取MAC 地址的基本原理

AT93C46

是一个串行EEPROM 存储器

要想从AT93C46

中直接读取MAC 地址

而程序中的各种控制

信号

和数据信

号的传输与响应是通过它的命令寄存器93C46CR

实现

93C46CR

是一个8位的寄存器

RTL8139的IO

空间基址

由其配置空间的偏移10-13H 处的双字寄存器给出

可归结出读取

MAC

地址的主要步骤

则进行下一步

(2)获得

RTL8139网卡的IO 空间基址

(3)对

AT93C46编程

3 读取MAC 地址的实现过程

3.1 获得RTL8139网卡的IO 空间基址

RTL8139网卡同其它PCI 总线设备一样

当电脑启动时

包括对一些寄存器设置和存储器映射等

表 1 列出了

RTL8139网卡配置空间中的关键字段

DID字段是用来识别特定PCI 设备的标志

作者简介

王希超

2004-06-11 E-mail

只读只读可读写

万方数据

相关主题
文本预览
相关文档 最新文档