实验二网络主机存活性探测

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验二、网络主机存活性探测1、实验目的与要求掌握网络编程模式。理解并能应用SendARP函数来获取MAC地址并记录。2、实验设备与环境连网PC机(至少一台)。计算机硬件要求:英特尔酷睿i53代系列处理器、256MB以上内存,Ethernet网卡,网线若干。计算机软件要求:Windows7操作系统,Visualc++6.0/.net系统。3、实验要求能够实现从起始主机到终止主机的扫描能够检测到主机是否存活并显示4、实验内容与步骤:在程序设计之前,请参照提供的软件安装WinPcap。之后,按照如下步骤操作:步骤1:在VC++6.0下创建一个DOS命令行程序,工程名:201200824302_HostScan步骤2:打开main()函数,在主程序中增加如下头文件和常量定义:添加头文件如下:#includestdafx.h#includeWindows.h#includestdio.h#includestdlib.h#includeiostream.h#includeIphlpapi.h#pragmacomment(lib,Iphlpapi.lib)#pragmacomment(lib,Ws2_32.lib)添加代码如下:intmain(intargc,char*argv[]){structsockaddr_indest,end;unsignedcharmac[6];DWORDerror=0;ULONGdwSize=6;if(argc!=3){printf(USAGE:\t%sStart_IPEnd_IP\n,argv[0]);return1;}memset(&dest,0,sizeof(dest));//初始化dest结构unsignedlongstartIP,endIP;dest.sin_family=AF_INET;dest.sin_addr.s_addr=inet_addr(argv[1]);//填入开始搜索IPstartIP=inet_addr(argv[1]);end.sin_family=AF_INET;end.sin_addr.s_addr=inet_addr(argv[2]);endIP=inet_addr(argv[2]);//填入结束搜索IP地址while(htonl(startIP)=htonl(endIP))//起始IP比结束IP小{error=SendARP(startIP,0,(PULONG)&mac,&dwSize);dest.sin_addr.s_addr=startIP;startIP=htonl(htonl(startIP)+1);if(error==NO_ERROR){/*printf(MACAddress:%2x:%2x:%2x:%2x:%2x:%2x\n,mac[0],mac[1],mac[2],mac[3],mac[4],mac[5]);*/cout主机存活:inet_ntoa(dest.sin_addr)endl;}elsecout主机不存活:inet_ntoa(dest.sin_addr)endl;}return0;}步骤3:为该工程添加指定头文件的代码信息,如下图所示:步骤4:将工程文件.exe文件复制出来5、实验结果:在DOS窗口下运行测试。打开DOS窗口,在目录下找到可执行的.exe文件,输入可执行文件名、扫描的开始IP和结束IP回车即可。运行结果如下图:6、实验总结通过本次试验我掌握了用SendARP函数来获取MAC地址并记录的方法。虽然做实验的过程中遇到了很多问题,但是通过与同学的探讨总算出了结果。

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功