007-原始套接字-基本网络检测技术_第1页
007-原始套接字-基本网络检测技术_第2页
007-原始套接字-基本网络检测技术_第3页
007-原始套接字-基本网络检测技术_第4页
007-原始套接字-基本网络检测技术_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、原始套接字与网络检测技术1原始套接字原始套接字是允许访问底层传输协议的一种套接字原始套接字有两种类型:在IP头中使用预定义的协议,如ICMP在IP头中使用自定义的协议2创建原始套接字使用函数socket()或WSASocket()例:SOCKET sRaw=socket(AF_INET,SOCK_RAW,IPPRPTP_ICMP);原始套接字提供管理下层传输的能力,它们可能会被恶意利用。因此,仅administrator组的成员能够创建SOCK_RAW类型的套接字。任何人在NT下都可以创建原始套接字,但是没有administrator权限的用户不能用它做任何事情,因为bind函数将会失败。3I

2、CMP协议ICMP(Internet Control Message Protocol),网间控制报文协议互联网的操作由路由器监控着,遇有异常发生,具体事件通过该协议报告。4ICMP报文ICMP报文可分为两大类:差错报告报文和查询报文报文结构:类型(8b)代码(8b)校验和(16b)内容(取决于类型和代码)5ICMP报文与IP报文的关系ICMP报文ICMP报文IP首部6ICMP报文的类型种类类型代码报文差错控制报文30-15目的站不可达40-1源站抑制110-1时间超时120-1参数问题50改变路由查询报文8或00回送请求或回答13或140时间戳请求或回答17或180地址掩码请求或回答10或9

3、0路由器询问或通告7表示ICMP头部的数据结构typedef struct icmp_hdr unsigned char icmp_type; /消息类型 unsigned char icmp_code; /代码 unsigned short icmp_checksum; /校验和 unsigned short icmp_id; /ID号 unsigned short icmp_sequence; /序列号 unsigned long icmp_timestamp; /时间戳 ICMP_HDR,*PICMP_HDR;8校验和校验和是网络传输中常用的差错控制方法。计算收到的数据的校验和,与其所带

4、校验和进行比较,即可知数据在传输中是否受损校验和的计算方法:将数据以字为单位累加到一个双字中,如果数据长度为奇数,最后一个字将被扩展成双字。最后将累加得到的双字的高位和低位相加后取反,便得到校验和。9Ping程序:检测网络的可达性原理:产生一个ICMP回显请求,并驱使它到感兴趣的主机主要步骤:创建ICMP协议类型的套接字创建并初始化ICMP封包调用sendto()函数向远端主机发送ICMP请求调用recvfrom()函数接收ICMP响应10SetTimeout()函数BOOL SetTimeout(SOCKET s, int nTime, BOOL bRecv)int ret = :setso

5、ckopt(s, SOL_SOCKET, bRecv ? SO_RCVTIMEO : SO_SNDTIMEO, (char*)&nTime, sizeof(nTime);return ret != SOCKET_ERROR;11routeTracer程序:路由追踪原理:由本地发送UDP封包到目的地址,递加TTL值。初始情况下,TTL值为,这个UDP封包到达第一个路由器后将中止。这个终止会促使路由器产生一个ICMP超时封包。然后TTL值加,再发送这个UDP封包。收集每个ICMP消息便可知道封包所经过的路由器。如果最终到达目的地址,多半会返回ICMP端口不可达消息,因为没有进程在等待这个封包。12SetTTL()函数BOOL SetTTL(SOCKET s, int nValue)int ret = :setsockopt(s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论