中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > 网络与通信
TCP/IP学习笔记补遗
作者:未知 时间:2005-07-20 14:18 出处:VC知识库 责编:chinaitpower
              摘要:TCP/IP学习笔记补遗

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

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有