根据IP头格式 写sniff

我想开始熟悉网络安全最好的方法是通过自己编写一些程序, 来学习有关网络的知识,并且对hacker常用的手法有一定的 了解。(不知大家同意吗?) :-) 所以我整理了一些网络基础知识,放在这里。为什么我们不 写一个自己的sniff呢?让我们从开始一起努力,写些自己的 小工具。 先是常用的IP头格式。 IP头格式 =========== 版本号 (4位) IP头长度 (4位) 服务类型 (8位) 数据包长度 (16位) 标识段 (16位) 标志段 (16位) 生存时间 (8位) 传输协议 (8位) 头校验和 (16位) 发送地址 (16位) 目标地址 (16位) 选项 填充 简单说明 ============ 1. IP头长度计算所用单位为32位字, 常用来计算数据开始偏移量 2. 数据包长度用字节表示, 包括头的长度, 因此最大长度为65535 字节 3. 生存时间表示数据被丢失前保存在网络上的时间, 以秒计. 4. 头校验和的算法为取所有16位字的16位和的补码. 5. 选项长度是可变的, 填充区域随选项长度变化, 用于确保长度 为整字节的倍数. C 描述 ============ struct iphdr { BYTE versionihl; BYTE tos; WORD tot_len; WORD id; WORD frag_off; BYTE ttl; BYTE protocol; WORD check; DWORD saddr; DWORD daddr; /* Put options here. */ };
posted @ 2012-07-15 23:01  adodo1  Views(84)  Comments(0Edit  收藏  举报