荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: zzt (少年仲永), 信区: Hacker
标  题: 网络编程初步--IP头格式
发信站: BBS 荔园晨风站 (Wed Apr  7 17:11:00 1999), 转信

网络编程初步--IP头格式

我想开始熟悉网络安全最好的方法是通过自己编写一些程序,

来学习有关网络的知识,并且对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. */

};



TCP头格式



TCP头格式



源端口 (16位)

目的端口 (16位)

序号 (32位)

确认号 (32位)

数据偏移 (4位)

保留 (6位)

标志 (6位)

窗口 (16位)

校验和 (16位)

紧急指针 (16位)

选项

填充

简单说明

1. 数据偏移用于标识数据段的开始

2. 保留段6位必须为0

3. 标志包括紧急标志、确认标志、入栈标志、重置标志、

同步标志等。

4. 校验和计算方式为将头与16位二进制反码和中的16位

二进制反码加在一起。

5. 选项长度是可变的, 填充区域随选项长度变化, 用于确保长度

为整字节的倍数.

6. 更详细的说明请参阅有关资料。



C 描述

============



struct tcphdr {

WORD SourPort;

WORD DestPort;

DWORD SeqNo;

DWORD AckNo;

BYTE HLen;

BYTE Flag;

WORD Window;

WORD ChkSum;

WORD UrgPtr;

/* Put options here. */

};

--



日出东方,唯我不败;
    天上地下,唯我独尊。

※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.0.101]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店