WINDOWS网络编程技术现13.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

文档评论(0)

haowendangqw + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档