- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(原始套接字编程课程设计报告
《原始套接字编程》
课程设计报告
姓名:王延兴
班级:9班
学号
《原始套接字编程》课程设计报告
班级:11级9班 学号 姓名:王延兴
设计任务分析
(一)实验环境
操作系统:Windows
编程工具及集成开发环境:VC++
(二)实验目的和要求
实验目的:掌握原始套接字编程。
实验要求:完成下列功能:
(1)利用RAW SOCKET捕获网络数据包的程序模型
SOCKET_STREAM 流式套接字
SOCKET_DGRAM
SOCKET_RAW 原始套接字
IPPROTO_IP IP协议
IPPROTO_ICMP INTERNET控制消息协议,配合原始套接字可以实现ping的功能
IPPROTO_IGMP INTERNET 网关服务协议,在多播中用到
在AF_INET地址族下,有SOCK_STREAM、SOCK_DGRAM、SOCK_RAW三种套接字类型。SOCK_STREAM也就是通常所说的TCP,而SOCK_DGRAM则是通常所说的UDP,而SOCK_RAW则是用于提供一些较低级的控制的;第3个参数依赖于第2个参数,用于指定套接字所用的特定协议,设为0表示使用默认的协议。
RAW SOCKET能够对较低层次的协议直接访问,网络监听技术很大程度上依赖于它。
(2)能够抓取第二节课的并发服务器程序的服务器端或客户端的应用层数据,即:时间值,打印输出。
设计方案
同一台主机不同进程可以用进程号来唯一标识,但是在网络环境下进程号并不能唯一标识该进程。TCP/IP主要引入了网络地址、端口和连接等概念来解决网络间进程标识问题。套接字(Socket)是一个指向传输提供者的句柄,TCP/IP协议支持3种类型的套接字,分别是流式套接字、数据报式套接字和原始套接字。
流式套接字(SOCKET_STREAM)提供了面向连接、双向可靠的数据流传输服务。数据报式套接字(SOCKET_ DGRAM)提供了无连接服务,不提供无错保证。原始套接字(SOCKET_RAW)允许对较低层次的协议直接访问,比如IP、 ICMP协议,它常用于检验新的协议实现,或者访问现有服务中配置的新设备,因为RAW SOCKET可以自如地控制Windows下的多种协议,能够对网络底层的传输机制进行控制,所以可以应用原始套接字来操纵网络层和传输层应用。比如,我们可以通过RAW SOCKET来接收发向本机的ICMP、IGMP协议包,或者接收TCP/IP栈不能够处理的IP包,也可以用来发送一些自定包头或自定协议的IP包。网络监听技术很大程度上依赖于SOCKET_RAW。
本实验采用原始套接字进行捕获通过本主机的包并对本主机的包进行处理。
各个函数功能:
char * GetProtocol(int proto) //获得协议类型
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, (struct sockaddr*)LocalAddr, sizeof(LocalAddr));绑定套接字
listen(ServerSocket, 10);侦听,队列大小为10
设计思想:
采用原始套接字进行捕获通过本主机的包并对本主机的包进行处理。
详细设计
头文件ip.h:
详细代码:
//定义标准的的TCP头和IP头
#define URG 0x20
#define ACK 0x10
#define PSH 0x08
#define RST 0x04
#define SYN 0x02
#define FIN 0x01
typedef struct _iphdr //定义IP首部
{
您可能关注的文档
- (请谈谈你校体育与健康课程标准的实施现状及对策.doc
- (卫生法学课程标准中专.doc
- (诸暨中学2012-2013学年高二上学期期中考试英语试题.doc
- (诸暨中考数学模拟试卷一.doc
- (诸暨市教育科学规划课题结题验收及优秀成果评比申请简表.doc
- (卫生理化检验第十五章.doc
- (经典的成功哲学.doc
- (卫生监督员试题公共场所.doc
- (诸暨市第二高级中学第一次阶段性考试卷.doc
- (诸暨语文2013试卷动向分析.doc
- 中国国家标准 GB/T 45390-2025动力锂电池生产设备通信接口要求.pdf
- 中国国家标准 GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型.pdf
- GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型.pdf
- 《GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型》.pdf
- GB/T 10184-2025电站锅炉性能试验规程.pdf
- 海尔智家股份有限公司海外监管公告 - 海尔智家股份有限公司2024年度环境、社会及管治报告.pdf
- 上海复旦张江生物医药股份有限公司2024 环境、社会及管治报告.pdf
- 中国邮政储蓄银行股份有限公司中国邮政储蓄银行2024年可持续发展报告.pdf
- 豫园股份:2024年环境、社会及管治(ESG)报告.pdf
- 南京熊猫电子股份有限公司海外监管公告 - 2024年度环境、社会及治理(ESG)报告.pdf
文档评论(0)