- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WINDOWS网络编程技术现13
下载
第13章 原始套接字
利用“原始套接字”(Raw Socket ),我们可访问位于基层的传输协议。本章专门讲解如
何运用这种原始套接字,来模拟 I P 的一些实用工具,比如 Tr a c e r o u t e和P i n g程序等等。使用原
始套接字,亦可对 I P头信息进行实际的操作。本章只关心 I P协议;至于如何针对其他协议使
用原始套接字,我们不打算提及。而且,大多数协议(除 AT M 以外)根本就不支持原始套接
字。所有原始套接字都是使用 S O C K _ R AW这个套接字类型来创建的,而且目前只有 Wi n s o c k
2 提供了对它的支持。因此,无论 Microsoft Windows CE 还是老版本的 Windows 95 (无
Winsock 2升级)均不能利用原始套接字的能力。
此外,要想顺利使用原始套接字,要求对基层的协议结构有一定程度的认识,而那已超
出了本书的范围。在这一章中,我们打算讨论 I n t e r n e t控制消息协议(I C M P )、I n t e r n e t组管理
协议(I G M P )以及用户数据报协议(U D P )。I C M P会由P i n g这个实用程序用到,以便探测到
某个主机的路由是否有效和畅通,看看对方的机器是否会作出响应。对程序开发者来说,经
常都要用到一种程序化的方法,以便判断一台机器是否“活动”,网络数据能否抵达它。I P 多
播通信利用 I G M P将多播组成员信息通告给路由器。大多数 Wi n 3 2平台目前都增加了对 I G M P
第2版的支持。但在某些情况下,我们也需要送出自己的 I G M P数据包,以便脱离组成员关系。
至于U D P协议,我们打算把它同 I P _ H D R I N C L这个套接字选项组合起来讨论。以它为例,讲
述如何发送自己的 I G M P包。对这三种协议来说,我们都只会讲解与本章示范代码及示范程序
密切相关的那些部分。
13.1 原始套接字的创建
要想使用原始套接字,第一步便是创建它。可用 s o c k e t命令或W S A S o c k e t 调用来做到这一
点。注意在典型情况下,在 Wi n s o c k为I P列出的目录中,并不存在 S O C K _ R AW这一套接字类
型。然而,这并不能妨碍我们创建此种类型的套接字。它的意思只是说,我们不能用一个
W S A P R O TO C O L _ I N F O 结构来创建一个原始套接字。请参考第 5章,那里详细讲述了如何用
W S A E n u m P r o t o c o l s 函数以及W S A P R O TO C O L _ I N F O结构来列举协议条目。注意在套接字的
创建过程中,必须自行设定 S O C K _ R AW标志。下述代码片断解释了如何将 I C M P作为一种基
层I P协议,来完成一个原始套接字的创建:
由于原始套接字使人们能对基层传输机制加以控制,所以有些人将其用于不法用途,从
第13章计原始套接字计计341
下载
而造成了Windows NT 下一个潜在的安全漏洞。因此,只有属于“管理员”(A d m i n i s t r a t o r s )
组的成员,才有权创建类型为 S O C K _ R AW 的套接字。而Windows 95 和Windows 98 均未施加
这方面的限制。
要想在Windows NT 中绕过这一限制,可考虑禁止对原始套接字的安全检查。方法是在注
册表创建如下变量,并将它的值设为 1 (D W O R D类型):
更改了注册表后,注意重新启动计算机。
在上述示范代码中,我们采用的是 I C M P协议。但假如想使用 I G M P 、U D P 、I P 或者原始
I P ,只需分别设置I P P R O TO _ I G M P 、I P P R O TO _ U D P 、I P P R O TO _ I P或者I P P R O TO _ R AW 即可。
然而,请注意其中存在的一处限制:在 Windows NT 4 、Windows 98 以及Windows 95
您可能关注的文档
最近下载
- 《客户服务与管理》教案 第5课 学会使用即时通信工具.pdf VIP
- 民爆信息系统网路服务平台.pptx VIP
- 《QCNPC41-2001-防喷器判废技术条件》.pdf VIP
- 《客户服务与管理》(李清文)718-1教案 第2课 熟悉客户服务人员的综合素质要求.docx VIP
- 《客户服务与管理》(李清文)718-1教案 第3课 学会使用电话服务工具.docx VIP
- 3《峨日朵雪峰之侧》同步练习(含答案)统编版高中语文必修上册.docx VIP
- 第2课 让美德照亮幸福人生.pptx VIP
- 《峨日朵雪峰之侧》同步练习 统编版高中语文必修上册.docx VIP
- 海马普力马PREEMA 1.8L、1.6升 电路图07-发动机和变速箱控制.pdf VIP
- 《客户服务与管理》教案 第1课 初识客户服务与管理.docx
文档评论(0)