2012年9月20日

原始套接字

摘要: 基于原始套接字编程 在开发面向连接的TCP和面向无连接的UDP程序时,我们所关心的核心问题在于数据收发层面,数据的传输特性由TCP或UDP来保证: 也就是说,对于TCP或UDP的程序开发,焦点在Data字段,我们没法直接对TCP或UDP头部字段进行赤裸裸的修改,当然还有IP头。换句话说,我们对它们头部操作的空间非常受限,只能使用它们已经开放给我们的诸如源、目的IP,源、目的端口等等。 今天我们讨论一下原始套接字的程序开发,用它作为入门协议栈的进阶跳板太合适不过了。OK闲话不多说,进入正题。 原始套接字的创建方法也不难:socket(AF_INET,SOCK_RAW,protoc... 阅读全文

posted @ 2012-09-20 21:27 追寻前人的脚步 阅读(856) 评论(1) 推荐(0) 编辑

两个数据结构ip和tcphdr

摘要: tcp报文有tcp报文的首部ip报文有ip报文的首部两者的关系是tcp首部+tcp报文段的数据部分构成了ip数据报的数据部分,如果再加上ip数据报的首部就够成了ipstruct--ip_optionsstruct ip_options表示IP选项struct ip_options { __be32 faddr; unsigned char optlen; unsigned char srr; unsigned char rr; unsigned char ts; unsigned char is_data:1, is_strictroute:1, srr_is_hit:1, is_change 阅读全文

posted @ 2012-09-20 17:44 追寻前人的脚步 阅读(1145) 评论(0) 推荐(0) 编辑

导航