实验六 获取网卡的MAC地址

实验六 获取网卡的MAC地址

ID:38367202

大小:47.00 KB

页数:6页

时间:2019-06-11

实验六 获取网卡的MAC地址_第1页
实验六 获取网卡的MAC地址_第2页
实验六 获取网卡的MAC地址_第3页
实验六 获取网卡的MAC地址_第4页
实验六 获取网卡的MAC地址_第5页
资源描述:

《实验六 获取网卡的MAC地址》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验六、获取网卡的MAC地址[实验目的及要求]掌握获取网卡MAC地址的编程原理,学会使用VisualC++6.0与NETBIOS编写W32ConsoleApplication;[实验属性]设计[实验步骤]1.阅读本实验后附录的背景材料,熟悉获取网卡MAC地址的编程原理,参考本报告中提供的部分实现代码改编一个VC程序以获取网卡MAC地址;2.使用VisualC++6.0,输入、编辑、编译、运行与调试获取网卡MAC地址的程序;3.在命令提示符中键入WindowsNT/2000/XP的“ipconfig/all”命令或Windows98的“winipcfg”命令并

2、执行,根据命令显示的网卡信息与自己程序执行结果比较,检测实验结果是否正确。[实验内容]1.写出程序的源代码如下,并对主要语句作注释:2.运行、测试该程序,记录测试结果,分析遇到的问题与解决的办法。[实验步骤] //GetMacAddr.cpp:Definestheentrypointfortheconsoleapplication.#include"stdafx.h"#include"GetMacAddr.h"#include#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHI

3、S_FILE[]=__FILE__;#endif//TheoneandonlyapplicationobjectCWinApptheApp;usingnamespacestd;typedefstruct{ADAPTER_STATUSadapt;NAME_BUFFERNameBuff[30];}ASTAT;voidGetMacAddress(CStringsNetBiosName){ASTATAdapter;inti;NCBncb;UCHARuRetCode;memset(&ncb,0,sizeof(ncb));ncb.ncb_command=NCBRESET

4、;ncb.ncb_lana_num=0;uRetCode=Netbios(&ncb);memset(&ncb,0,sizeof(ncb));ncb.ncb_command=NCBASTAT;ncb.ncb_lana_num=0;FillMemory(ncb.ncb_callname,NCBNAMSZ-1,0x20);strcpy((char*)ncb.ncb_callname,(LPCTSTR)sNetBiosName);ncb.ncb_callname[sNetBiosName.GetLength()]=0x20;ncb.ncb_callname[NCBN

5、AMSZ]=0x0;ncb.ncb_buffer=(unsignedchar*)&Adapter;ncb.ncb_length=sizeof(Adapter);uRetCode=Netbios(&ncb);if(uRetCode==0){for(i=0;i<5;i++)printf("%02X-",Adapter.adapt.adapter_address[i]);printf("%02X",Adapter.adapt.adapter_address[5]);}}int_tmain(intargc,TCHAR*argv[],TCHAR*envp[]){int

6、nRetCode=0;//initializeMFCandprintanderroronfailureif(!AfxWinInit(::GetModuleHandle(NULL),NULL,::GetCommandLine(),0)){//TODO:changeerrorcodetosuityourneedscerr<<_T("FatalError:MFCinitializationfailed")<

7、");}returnnRetCode;}[实验报告]1.简要写出获取网卡MAC地址的编程原理及解题思路。2.写出能上机运行的具体算法。3.总结使用VisualC++6.0与NETBIOS编写W32ConsoleApplication的思路。编程背景材料:众所周知,一个网卡对应唯一MAC地址,对一些应用程序来说,获取网卡MAC地址有时是必要的,使用VC提供的netbios网络编程接口可以方便获取网卡MAC地址。netbios中所用的函数声明、常数等等均是在头文件nb30.h内定义的,若想使用netbios,须连接的库是netapi32.lib。调用netbio

8、s函数时,使用uRetCode=netbios(&n

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。