实验6获取以太网中IP地址与MAC地址的对应关系.pptVIP

实验6获取以太网中IP地址与MAC地址的对应关系.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验6获取以太网中IP地址与MAC地址的对应关系

实验6:获取以太网中IP地址与MAC地址的对应关系 ARP协议 问题的提出 互联层通过IP地址指定报文的始发地和目的地 低层物理网络使用物理地址表达帧的源和宿 地址解析协议ARP 以太网使用ARP将IP地址与MAC地址进行动态映射 以太网具有固定长度的MAC地址和广播能力 ARP协议的基本思想 RP协议的改进 高速缓存技术 高速缓存区中保存最近获得的ARP表项 高速缓冲区中ARP表项新鲜性的保持:计时器 实验表明高速缓冲区的使用可以大大提高ARP的效率 其他改进技术 目的主机接收到ARP请求后将源主机的IP地址与物理地址映射关系存入自己的高速缓冲区 ARP请求是广播发送的,网络中的所有主机接收到ARP请求后都可以将源主机的IP地址与物理地址映射关系存入自己的高速缓冲区 主机启动时主动广播自己的IP地址与物理地址的映射关系 完整的ARP工作过程 以太网中ARP的报文格式 ARP报文中各字段的意义 硬件类型:以太网接口类型为1 协议类型:IP协议类型为080016 操作:ARP请求为1,ARP应答为2 硬件地址长度:MAC地址长度为6B 协议地址长度:IP地址长度为4B 源MAC地址:发送方的MAC地址 源IP地址:发送方的IP地址 目的MAC地址:ARP请求中该字段没有意义;ARP响应中为接收方的MAC地址 目的IP地址:ARP请求中为请求解析的IP地址;ARP响应中为接收方的IP地址 ARP命令 功能:用于查看、添加和删除高速缓存区中的ARP表项 高速缓冲区中的ARP表项 动态表项:随时间推移自动添加和删除 静态表项:一直保留,直到人为删除或重新启动计算机 Windows中ARP表项的潜在生命周期:10分钟 新表项加入时定时器开始计时 表项添加后两分钟内没有被再次使用:删除 表项被再次使用:增加2分钟的生命周期 表项始终在使用:最长生命周期为10分钟 显示高速cache中的ARP表 添加和删除ARP表项 添加 命令:arp –s inet_addr eth_addr 人为增加ARP表项一定要确保IP地址与MAC地址的对应关系是正确的 删除 命令:arp –d inet_addr Inet_addr为“*”时删除所有表项 利用WinPcap获取IP-MAC的对应关系 获取本机网卡的MAC和IP地址 NetBIOS编程接口与winsock的gethostbyname函数 获取的MAC地址和IP地址很难与WinPcap获取的设备接口名对应 pcap_findalldevs_ex可以获取本机的网络接口设备列表 包含了本机所有网络接口和接口上绑定的IP地址 不包含接口的物理地址 获取本机网卡的MAC和IP地址 获取本机网络接口和接口上绑定的IP地址 发送ARP请求,请求本机网络接口上绑定的IP地址与MAC地址的对应关系:本地主机模拟一个远端主机,发送一个ARP请求报文,该请求报文请求本机网络接口上绑定的IP地址与MAC地址的对应关系 捕获本机的ARP响应,获取本机网络接口卡的MAC地址 发送数据包 发送ARP请求的例子(1) 发送ARP请求的例子(2) 练习和思考 为了提高ARP的解析效率,网络操作系统在实现中一般都采用了多种改进技术。设计和制订一个实验方案,观察和判断你使用的OS实现了哪些ARP改进方案 查找相关资料和文档,利用Windows系统和VC++自带的功能和函数获取本地网络接口MAC地址和IP地址 * int pcap_sendpacket( pcap_t * p, u_char buf, int size }; #pragma pack(1) typedef struct FrameHeader_t { //帧首部 BYTE DesMAC[6]; BYTE SrcMAC[6]; WORD FrameType; } FrameHeader_t; typedef struct ARPFrame_t { //ARP帧 FrameHeader_t FrameHeader; WORD HardwareType; WORD ProtocolType; BYTE HLen; BYTE PLen; WORD Operation; BYTE SendHa[6]; DWORD SendIP; BYTE RecvHa[6]; DWORD RecvIP; } ARPFrame_t; #pragma pack() ARPFrame_t ARPFrame; //将ARPFrame.FrameHeader.DesMAC设置为广播地址。 //将ARPFrame.FrameHeader.SrcMAC设置为本机网卡的MAC

您可能关注的文档

文档评论(0)

189****6821 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档