第7章 直接网络编程技术.ppt_第1页
第7章 直接网络编程技术.ppt_第2页
第7章 直接网络编程技术.ppt_第3页
第7章 直接网络编程技术.ppt_第4页
第7章 直接网络编程技术.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章直接网络编程技术、常规网络编程方法:无法直接访问网络层和数据链路层上的网络协议。 NetBIOS、Winsock等。 直接网络编程方法:基于原始套接字Winpcap的网络分组捕获技术基于libnet的网络分组结构技术、TCP/IP网络层协议、TCP/IP网络层协议和数据单元(1)IP协议RARP协议(4)ICMP协议(5)IGMP协议、原始套接字编程和原始套接字可以控制基础传输协议,并实际操作IP报头信息,从而实现诸如Tracert和Ping之类的IP应用工具原始套接字(rawsocket )是使用名为SOCK_RAW的套接字类型创建的。 目前,WinSock2提供了支持。 使用原始套接字,可以直接访问网络层协议数据。 创建7.1原始套接字,并创建可以在原始套接字中使用的套接字或wsa套接字函数。 以下代码示例说明如何以ICMP作为基本IP协议来完成本地套接字的创建: SOCKETs; s=socket(AF_INET,SOCK_RAW,ipro _ icmp ) if (s=invalid _ socket ) /套接字创建失败,并使用不同的协议SOCK_RAW IPO proto _ igmp UDP:socket (af _ inet,SOCK_RAW,IPPROTO_UDP)IP:socket(AF_INET,sock _ raw,IPPROTO_IP )原始IP IPPROTO_RAW )可以创建原始套接字并使用原始套接字来控制基本的传输机制,这导致了潜在的安全问题,因此可以在WindowsNT/2000/XP中创建SOCK_RAW类型的套接字在Windows9x上不限制SOCK_RAW的使用。 完成原始套接字的创建后,可以在收发调用中使用对应的套接字句柄。 7.2ICMP协议、互联网控制消息协议(ICMP )是IP层的一部分,与IP协议结合使用,在IP系统之间交换错误和需要注意的信息。 ICMP消息通常由IP层或更多的协议(TCP或UDP )使用。 ICMP消息格式、所有ICMP消息的前四个字节都相同,ICMP消息类型、ICMP消息类型、7.3ICMP实现ping示例此ping程序的主要功能是实现目标主机可到达性(活动的如果根(最多9个) 选择ping目标主机,用于测试源主机和目标主机之间的数据往返时间(是否可通过网络访问),则该程序将自动向目标主机返回四个返回每条消息的数据部分的长度为32字节,ping程序的实现ping程序的实现:主机向远程计算机发出ICMP响应请求后,远程计算机处理该请求,并生成响应消息。 如果由于任何原因无法通过网络返回到发送主机,则将生成相应的ICMP错误消息(例如,“目标主机无法到达”),并从该路径上的某个路由器返回。 与远程主机的物理连接没有问题,但是如果远程主机关闭或没有响应网络事件的设置,则需要通过自己的程序执行超时检查来检测该情况。程序步骤,在本例中使用原始套接字和ipro_icmp协议的特性描述了以下步骤: (创建SOCK_RAW类型的套接字,并设置协议ipro_icmp。 (制作ICMP磁头并初始化。 (调用sendto或WSASendto向远程主机发送ICMP请求。 (调用recvfrom或WSARecvfrom接收ICMP响应。 7.4原始套接字的编程方法、套接字的创建、套接字的创建使用wsa套接字或套接字函数进行。 SOCKETWSASocket(intaf,inttype,int协议,lpwsaprotocol _ infolpprotocoinfo,GROUPg,DWORDdwFlags ); 套接字(intaf、inttype、int协议); setsockopt函数: intsetsockopt(SOCKETS,intlevel,intoptname,constchar*optval,into

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论