当前位置:文库下载 > 所有分类 > IT/计算机 > 计算机网络实验指导书 2007
免费下载此文档侵权投诉

计算机网络实验指导书 2007

实验一 获取以太网卡的MAC地址

【实验目的】

1、通过设计获取以太网卡物理地址的程序,初步掌握在应用层访问底层软硬件接口和属性的方法。

2、设计一个程序,使得能够获取本机安装的以太网卡的物理地址。

【实验性质】

综合与设计性实验

【实验条件】

装有以太网卡并配置网络协议的微机

【实验导读】

1、MAC地址

MAC地址是每一个连接到LAN的端口或设备所需要的规范化的数据链路层地址。MAC地址字长6B(注意也有2B的),由IEEE控制。在数据链路层,数据帧传输的寻址是依照网卡地址进行的。网卡地址可以采用局部地址或全局地址,以太网使用6B即48位的全局地址。

对于共享型以太网,传输通过广播实现,各个网卡按照自己的物理地址接受属于自己的数据帧。而在交换式以太网,交换机通过逆向学习方式建立动态的MAC地址——端口映射表,根据该表进行数据帧的转发。当映射表中没有相应表项时再广播发送到各个端口。这种传输机制当然要求网卡MAC地址的唯一性。对一些应用程序来说,获取MAC地址有时是必要的。

【实验内容】

1、Linux编程要点

在Linux下编写获取本机网卡地址的程序,比较简单的方法是利用套接口(socket)和IO接口(ioctl)函数来获取网卡信息,需要引用如下文件:

#include <sys/socket.h>

#include <sys/ioctl.h>

#include <netinet/if_ether.h>

#include <net/if.h>

#include <linux/sockios.h>

socket函数的原型是:

int socket(int domain,int type, int protocol);

本函数有以下3个输入参数:

domain参数:表示所使用的协议族;

type参数:表示套接口的类型;

protocol参数:表示所使用的协议族中某个特定的协议。

如果函数调用成功,套接口的描述符(非负整数)就作为函数的返回值,假如返回值为-1,就表明有错误发生。

利用socket函数来获取网卡MAC信息时,domain参数取值AF_INET,表示采用internet协议族;type参数指定为SOCK_DGRAM,表示采用数据报类型套接口,protocol参数在这

第1页

免费下载Word文档免费下载:计算机网络实验指导书 2007

(下载1-10页,共10页)

我要评论

返回顶部