- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2 章 计算机嗅探和远程控制
本章讲述比较流行的计算机嗅探技术和远程控制技术,选取的实例有Ping 程序、路由跟
踪、网络嗅探器、远程进程和机器控制以及网络唤醒等。
2.1 Ping 程序实例
Ping 经常用来确定特定的主机是否存在,是否可以到达。通过产生一个ICMP 回显请求,
并驱使它到感兴趣的主机,便可以确定是否可以成功地到达该主机。当然,这不能保证可以使
用套接字连接到那个主机的一个进程 (例如,远程服务器 的进程没有监听)。而且,大多少
数操作系统提供关闭响应ICMP 回显请求的功能,常常发生在机器运行防火墙的情况下。
下面首先讲解计算机嗅探所需的基础知识,再讲述Ping 程序运行的基 原理,最后讨论
两个实用的Ping 程序实例。
2.1.1 始套接字
原始套接字是允许访问底层传输协议的一种套接字类型。使用原始套接字操作IP 数据报,
可以进行路由跟踪、Ping 等。另外,使用原始套接字需要知道许多下层协议结构的知识, 所
以 节还将讨论ICMP、IP、UDP 和TCP 格式。
原始套接字有两种类型,第一种类型是在 IP 头中使用预定义的协议,如ICMP ;第二种
类型是在IP 头中使用自定义的协议。下面讲述创建原始套接字的方法。
创建原始套接字的函数是 socket() 或者 WSASocket() ,只不过要将套接字类型指定为
SOCK_RAW ,如下代码所示。
SOCKET sRaw = ::socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
创建原始套接字时,socket 函数的第3 个 数protocol 的值将成为IP 头中协议域的值。
IPPROTO_ICMP 指定要使用ICMP 。
原始套接字提供管理下层传输的能力,它们可能会被恶意利用,因此,仅 Administrator
组的成员能够创建SOCK_RAW 类型的套接字。任何人在Windows NT 下都可以创建原始套接
字,但是没有Administrator 权限的人不能用它做任何事情,因为bind 函数将会失败,出错码
为WSAEACCES 。
在上面的套接字创建代码中,我们使用ICMP,也可以使用IGMP、UDP、IP、或者原始
IP,对应的宏定义分别是IPPROTO_IGMP、IPPROTO_UDP、IPPROTO_IP 或IPPROTO_RAW 。
其中协议标志IPPROTO_UDP、IPPROTO_IP 和IPPROTO_RAW 需要启用IP_HDRINCL 选项。
使用恰当的协议标志创建原始套接字之后,便可以在发送和接收调用中使用此套接字句柄
了。无论IP_HDRINCL 选项是否设置,在原始套接字 接收到的数据中都将包含IP 头。
27
Visual C++ 网络程序设计实例详解
2.1.2 Ping 程序运行原理
在网络层,除了IP 协议之外,还有一些控制协议,如ICMP、ARP、DHCP 等。下面主要
讲述ICMP 协议,以及如何使用原始套接字编写ICMP 程序(Ping 程序)。
1. ICMP 协议与校验和的计算
互联网 的操作由路由器紧紧地监控着。当有异常发生时,具体事件通过ICMP (Internet
Control Message Protocol,网间控制报文协议)报道,如目的不可到达、TTL 超时等。这个协
议也用来测试互联网。
每个ICMP 消息都封装在IP 封包中,所以它使用IP 寻址,图2.1 所示为ICMP 消息的格
式。
图2.1 ICMP 头
第一个域是ICMP 的消息类型,通常可以分为请求消息和错误报告消息两类。代码域进一
步定义了请求或者是消息的类型。checksum 域是16bit 的ICMP 头的补足校验和,它提供了错
误诊测。计算校验和时要包含ICMP 头和它的实际数据。
ICMP 的内容取决于ICMP 类型和代码。表2-1 出了最常用的ICMP 类型和功能代码,
ICMP 封包的类型和功能代码规定了ICMP 头后面的内容。
您可能关注的文档
- vf程序设计练习及答案.doc
- VICTUS飞秒激光工作站-操作指南.pptx
- Victus飞秒激光手术流程-白内障.pdf
- Victus全能飞秒激光20150429.pdf
- Victus文献2013. Femtosecond laser–assisted cataract surgery.pdf
- Victus文献2013. Effectiveness and safety of femtosecond laser–assisted lens fragmentation and anterior capsulotomy versus the manual technique in cataract surgery.pdf
- Victus文献2014. Comparison of the anterior capsulotomy edge created by manual capsulorhexis and 2 femtosecond laser platforms.pdf
- Victus文献2014. Analysis of femtosecond laser assisted capsulotomy cutting edges and manual capsulorhexis using environmental scanning electron microscopy.pdf
- Victus文献2014. Electron microscopy of laser capsulotomy edge- Interplatform comparison.pdf
- Victus文献2014. Femtosecond laser cataract surgery - Updates on technologies and outcomes.pdf
原创力文档


文档评论(0)