TCP/IP学习笔记补遗

王朝vc·作者佚名  2006-01-17
窄屏简体版  字體: |||超大  

TCP/IP学习笔记补遗

作者:肖进

源代码下载

经过我对网络上IP数据包的跟踪,对我写的《TCP/IP学习笔记》进行补充。通过本文,可以加深对TCP/IP的认识。

●网络环境:ADSL宽带

●IP数据包内容:通过Outlook发送邮件,帐号是xiaojin8039@163.com,给我的其他邮箱xiaoj@njb.swirebev.com发送邮件,系统从而捕获的IP包。

●所有IP包均为TCP协议

1、关于IP包的分片情况:

所有的IP包均不分片,也就是IP包传输过程从不进行分片,均保持原始IP包的大小。这可能跟网络环境较好有关。

2、关于IP首部和TCP首部的大小:

IP首部的大小均为20,未见到包括选项的情况。但TCP首部有时会包括选项,大小为24到44不等,建立连接时的协商都带有选项数据,一般为28。

3、关于TCP连接的步骤:

(1)客户端发送建立报文的TCP报文给服务器端;

(2)服务器端发送同意建立TCP连接的报文给客户端;

(3)客户端再次进行确认;

(4)服务器端发送服务器信息;

(5)客户端发送数据,服务器端发送数据;

(6)客户端发送结束连接的命令;

(7)服务器端发送结束连接的TCP报文给客户端;

(8)客户端发送同意结束连接的TCP报文给服务器端;

4、TCP连接的具体过程,包括P包的唯一标识符ID、TCP报文连接的sequence和ACK数据,这是一个完整的TCP连接建立和结束的过程:

序号

数据大小

客户端

服务器端

IPID

sequence

ACK

IPID

sequence

ACK

1

0

273

2098660028

0

2

0

54707

3904671124

2098660029

3

0

274

2098660029

3904671125

4

56

54708

3904671125

2098660029

5

14

275

2098660029

3904671181

6

0

54709

3904671181

2098660043

7

113

54710

3904671181

2098660043

8

12

276

2098660043

3904671294

9

18

54711

3904671294

2098660055

10

18

277

2098660055

3904671312

11

18

54712

3904671312

2098660073

12

10

278

2098660073

3904671330

13

31

54713

3904671330

2098660083

14

0

279

2098660083

3904671361

15

34

280

2098660083

3904671361

16

8

54714

3904671361

2098660117

17

35

281

2098660117

3904671369

18

8

54715

3904671369

2098660152

19

6

282

2098660152

3904671377

20

37

54716

3904671377

2098660158

21

1414

283

2098660158

3904671414

22

0

54717

3904671414

2098661572

23

993

284

2098661572

3904671414

24

0

54718

3904671414

2098662570

25

5

285

2098662565

3904671414

26

38

54719

3904671414

2098662570

27

6

286

2098662570

3904671452

28

9

54720

3904671452

2098662576

29

0

54721

3904671452

5098662576

30

0

287

2098662576

3904671462

31

0

288

2098662576

3904671462

(1)数据大小不包括IP首部和TCP首部的大小。

(2)除开始协商建立连接外,每一个sequence均等于上一sequence值加数据大小。开始协商的SYN标记要占用一个字节。

(3)1和2行数据设置了SYN标志。

(4)30和31行数据设置了FIN标志。

(5)每个数据都包括发送方数据的起始字节sequence和期待对方发送数据位置的Ack值。

5、程序说明:

(1) 该程序收集通过本机网卡的所有协议为TCP的IP包。

(2) 对于未加密的邮件内容,可以进行识别并获得邮件首部内容。

(3) 对于采集的数据包可以进行保存,文件名为scan.bin,也可以导入符合该格式的文件。数据格式请见源程序。

(4) 源程序中还包括其他功能,有些尚未完成,有兴趣的读者可以帮我完成和修改.

6、由于笔者水平有限,上述内容难免有错误和不足之处,欢迎批评指正,先谢了。

作者:肖进

单位:南京中萃食品有限公司 资讯部

邮件:xiaoj@njb.swirebev.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航