《原始套接字编程》课程设计报告

《原始套接字编程》课程设计报告

ID:10895893

大小:88.50 KB

页数:8页

时间:2018-07-08

《原始套接字编程》课程设计报告_第1页
《原始套接字编程》课程设计报告_第2页
《原始套接字编程》课程设计报告_第3页
《原始套接字编程》课程设计报告_第4页
《原始套接字编程》课程设计报告_第5页
资源描述:

《《原始套接字编程》课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《原始套接字编程》课程设计报告姓名:王延兴班级:9班学号:541109047《原始套接字编程》课程设计报告班级:11级9班学号:54110904姓名:王延兴一、设计任务分析(一)实验环境操作系统:Windows编程工具及集成开发环境:VC++(二)实验目的和要求实验目的:掌握原始套接字编程。实验要求:完成下列功能:(1)利用RAWSOCKET捕获网络数据包的程序模型SOCKET_STREAM流式套接字SOCKET_DGRAMSOCKET_RAW原始套接字IPPROTO_IPIP协议IPPROTO_ICMPINTERNET控制消息协议,配合原始套接字可以实现pi

2、ng的功能IPPROTO_IGMPINTERNET网关服务协议,在多播中用到在AF_INET地址族下,有SOCK_STREAM、SOCK_DGRAM、SOCK_RAW三种套接字类型。SOCK_STREAM也就是通常所说的TCP,而SOCK_DGRAM则是通常所说的UDP,而SOCK_RAW则是用于提供一些较低级的控制的;第3个参数依赖于第2个参数,用于指定套接字所用的特定协议,设为0表示使用默认的协议。RAWSOCKET能够对较低层次的协议直接访问,网络监听技术很大程度上依赖于它。(2)能够抓取第二节课的并发服务器程序的服务器端或客户端的应用层数据,即:时间值

3、,打印输出。二、设计方案7同一台主机不同进程可以用进程号来唯一标识,但是在网络环境下进程号并不能唯一标识该进程。TCP/IP主要引入了网络地址、端口和连接等概念来解决网络间进程标识问题。套接字(Socket)是一个指向传输提供者的句柄,TCP/IP协议支持3种类型的套接字,分别是流式套接字、数据报式套接字和原始套接字。流式套接字(SOCKET_STREAM)提供了面向连接、双向可靠的数据流传输服务。数据报式套接字(SOCKET_DGRAM)提供了无连接服务,不提供无错保证。原始套接字(SOCKET_RAW)允许对较低层次的协议直接访问,比如IP、ICMP协议,

4、它常用于检验新的协议实现,或者访问现有服务中配置的新设备,因为RAWSOCKET可以自如地控制Windows下的多种协议,能够对网络底层的传输机制进行控制,所以可以应用原始套接字来操纵网络层和传输层应用。比如,我们可以通过RAWSOCKET来接收发向本机的ICMP、IGMP协议包,或者接收TCP/IP栈不能够处理的IP包,也可以用来发送一些自定包头或自定协议的IP包。网络监听技术很大程度上依赖于SOCKET_RAW。本实验采用原始套接字进行捕获通过本主机的包并对本主机的包进行处理。u各个函数功能:char*GetProtocol(intproto)//获得协议

5、类型send(CientSocket,tmp,(int)strlen(tmp),0);发送数据recv(CientSocket,RecvBuffer,MAX_PATH,0);接收数据WSAStartup(MAKEWORD(2,2),&Ws)初始化套接字类库socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);创建套接字bind(ServerSocket,(structsockaddr*)&LocalAddr,sizeof(LocalAddr));绑定套接字listen(ServerSocket,10);侦听,队列大小为10u设计思想:

6、采用原始套接字进行捕获通过本主机的包并对本主机的包进行处理。三、详细设计头文件ip.h:详细代码://定义标准的的TCP头和IP头#defineURG0x20#defineACK0x10#definePSH0x08#defineRST0x04#defineSYN0x02#defineFIN0x01typedefstruct_iphdr//定义IP首部7{unsignedcharh_verlen;//4位首部长度+4位IP版本号unsignedchartos;//8位服务类型TOSunsignedshorttotal_len;//16位总长度(字节)unsign

7、edshortident;//16位标识unsignedshortfrag_and_flags;//3位标志位unsignedcharttl;//8位生存时间TTLunsignedcharproto;//8位协议(TCP,UDP或其他)unsignedshortchecksum;//16位IP首部校验和unsignedintsourceIP;//32位源IP地址unsignedintdestIP;//32位目的IP地址}IP_HEADER;typedefstruct_tcphdr//定义TCP首部{USHORTth_sport;//16位源端口USHORTth

8、_dport;//16位目的端口uns

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

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

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