- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络编程原始套接字
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个参数,用于指定套接字所用的特 定协议,设为。表示使用默认的协议。
希望各位参舆,it来的J慎便up 一下.
RAW SOCKET能够对较低层次的协议直接访问,网络监听技术很大程度上依赖于它。该文 介绍了利用RAW SOCKET捕获网络底层数据包的步骤和方法,并开发了一个程序模型来进一步 探讨了利用RAW SOCKET捕获数据包的方法。
【关键词】RAW SOCKET;捕获;数据包
1引言
随着信息技术的快速开展,网络已成为信息交换的主要手段,一些网络新业务在不断地兴 起,如电子商务、移动支付等,这些都对网络平安提出了较高的要求。与此同时,黑客对网络的 攻击从未停止,网络的平安问题变得日趋严峻。
很多网络攻击都是从监听开始的,网络监听最重要一步就是捕获局域网中的数据帧,因此,
研究数据捕获技术对于保障网络平安有着重要的意义。
2 RAW SOCKET 简介
同一台主机不同进程可以用进程号来唯一标识,但是在网络环境下进程号并不能唯一标识 该进程。TCP/IP主要引入了网络地址、端口和连接等概念来解决网络间进程标识问题。套接字 (Socket)是一个指向传输提供者的句柄,TCP/IP协议支持3种类型的套接字,分别是流式 套接字、数据报式套接字和原始套接字。
流式套接字(SOCKET_STREAM)提供了面向连接、双向可靠的数据流传输效劳。 数据报式套接字(SOCKET_ DGRAM)提供了无连接效劳,不提供无错保证。
原始套接字(SOCKET_RAW)允许对较低层次的协议直接访问,比方工P、ICMP协议,它 常用于检验新的协议实现,或者访问现有效劳中配置的新设备,因为RAW SOCKET可以自如地 控制Windows T的多种协议,能够对网络底层的传输机制进行控制,所以可以应用原始套接字
来操纵网络层和传输层应用。比方,我们可以通过RAW SOCKET来接收发向本机的ICMP、IG
MP协议包,或者接收TCP/IP栈不能够处理的工P包,也可以用来发送一些自定包头或自定协
议的工P包。网络监听技术很大程度上依赖于SOCKET RAWo
3 RAW SOCKET 编程
要使用原始套接字,必须经过创立原始套接字、设置套接字选项和创立并填充相应协议头 这三个步骤,然后用send、WSASend函数将组装好的数据发送出去。接收的过程也很相似, 只是需要用recv或WSARecv函数接收数据。下面介绍使用RAW SOCKET编程的几个步骤。
3.1创立原始套接字
我们可以用socket或WSASocket函数来创立原始套接字,因为原始套接字能直接 控制底层协议,因此只有属于管理员〃组的成员,才有权创立原始套接字。下面是用socket 函数创立原始套接字的代码。
SOCKET sock;
Sock = socket (AF [NET, SOCK RAW, IPPROTO UDP);
上述创立原始套接字的代码使用的是UDP协议,如果要使用其它的协议,比方1CMP、 IGMP IP等协议,只需要把相应的参数改为IPPROTO_ICM、1PPROTO_ 1GMP、IPPROTO_ IP就可以了。另夕卜,IPPROTO_UDP、IPPROTO_IP IPPROTO_RAW这几个协议标志要求使用 套接字选项IP_HDRINCL,而目前只有Windows 2000和Windows XP提供了对IP_HDRIN CL的支持,这意味着在Windows 2000以下平台创立原始套接字时是不能使用IP、UDP、TC P协议的。
设置套接字选项
创立了原始套接字后,就要设置套接字选项,这要通过setsocketopt函数来实现, setsocketopt函数的声明如下:
int setsocketopt (
SOCKET s,
int level, int optname, const char FAR *optvalz int optlen
在该声明中,参数s是标识套接口的描述字,要注意的是选项对这个套接字必须是有效的。 参数Level说明选项定义的层次,对TCP/IP协议族而言
您可能关注的文档
- 综采工作面初采初放安全技术措施 (2).docx
- 综采工作面初采初放安全技术措施.docx
- 绿专资本:快狗打车赴香港上市 争做同城货运第一股.docx
- 网络安全攻防演练总结.docx
- 网络时代与行政立法的回应及创新.docx
- 网络工程实验 11.docx
- 美国人教子十二法则.docx
- 美国债务上限问题再存悬念.docx
- 美文欣赏 “一把手”.docx
- 美国宪法对私有财产权保护的历史进程及特色.docx
- 2021海湾消防GST-HX-420BEx 火灾声光警报器安装使用说明书.docx
- 2022海湾消防 GST-LD-8316Ex 手自动转换装置安装使用说明书.docx
- (小升初押题卷)江苏省小升初重难点高频易错培优卷(试题)-2024-2025学年六年级下册数学苏教版.docx
- 2023-2024学年吉林省吉林市舒兰市人教版四年级上册期末考试数学试题.docx
- 2023-2024学年北京市密云区北京版四年级上册期末考试数学试卷.docx
- 2024-2025学年广东省广州市天河区人教版三年级上册期末考试数学试卷.docx
- 2024-2025学年河北省唐山市丰南区人教版五年级上册期末测试数学试卷.docx
- 人教版道德与法治一年级下册第4课《我们有精神》课件.pptx
- 消防蝶阀介绍.pptx
- 室外消火栓设置场所及设置要求.pptx
最近下载
- 《国家出路的探索与列强侵略的加剧》【教学设计】 .pdf VIP
- 核心素养下高考历史二轮备考策略2023届高三历史二轮复习.pptx VIP
- 《核舟记》历年中考阅读真题(附答案)文言文知识梳理及真题训练(部编版).docx
- TCBDA59-2022 家用不锈钢整体橱柜应用技术规程.pdf
- ArcMap使用手册_中文高清 二_下.pdf
- 主题班会:《怎样合理使用压岁钱》教学设计.docx VIP
- 2024年湖北襄阳四中五中自主招生化学试卷真题(答案详解).pdf
- 2025年中国建筑业行业市场评估分析及发展前景调研战略研究报告.docx
- There be句型的就近原则习题精品.doc VIP
- 2025年我国建筑行业发展现状及趋势.pdf VIP
文档评论(0)