利用SNIFFER PRO学习TCP/IP(二)

原创 2004年08月14日 17:31:00

下面开始分析数据包的结构:

选择NO.12,可以看到SYN段的的详细情况,看到中间的(he,不知道这叫什么栏)协议分析,从TCPDataLink的封装可看得一清二楚,可以发现有三项(Tree折合起来就可看到)(1)DLC:Ethertype = 0800, size = 62 bytes

(2) IP:D=[192.168.1.81] S=[192.168.1.36] LEN=28 ID=26052

(3)TCP:D=6666 S=2970 SYN SEQ=3614407631 LEN=0 WIN=64240

这三项对应的分别是数据链数层的数据,网络层的数据,运输层的数据,这是经过Sniffer分析显示的提示信息。数据是从运输层->网络层->链路层,我们就从运输层开始。

<<详解>>的附图我们可以知道,TCP20字节的首部 + 选项(可选) + 数据(可选),作为SYN请求,没有数据项。对照一下Sniffer的数据(Sniffer中展开TCP)

 

注:点击TCP数据的每一项,均会在下面的详细数据栏显示HEXASCII数据<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

如上图,16位源端口号为2970,16位目的端口号为6666,把<<详解>>附图打开(或打开P171),一一对应很容易就知道各项数据代表的含义。这里注意一个,保留6位数据之后是6个标志位,分别是URGACKPSHRSTSYNFIN,数据由标志位来确定所要传输的目的,如上图,只是SYN位置为1,表示这是SYN请求,如果是SYN的应答,那么SYNACK都要置为1。再看到可选项,Maximum Segment Size1460,这是最大报文大小,每个连接方通常都会在SYN请求时指明这个选项(p173)。所以在我的程序中send 2000字节的数据时会拆分报文。

 

接下来是网络层

 

把上图与<<详解>>附图的IP首部描述对应,我们看到版本号是4,即说明这是IPv4协议(he,不是先进的IPv6),首部总长度是20,即没有可选项参数。总长度为48bytes,即20位的IP长度加上28位的TCP长度,数据到达IP层时,已经把TCP的数据封装进来了。8位的协议是06,即封装的是TCP的数据(<<详解>>P7我们得知,1表示ICMP2表示IGMP6表示TCP17表示UDP)。具体的分析就可看到<<详解>>P25(我的目的并不是分析数据,那可是几本书也讲不完的,我只是告诉大家怎么利用Sniffer来学习TCP/IP)

 

再看到数据链数层

 

对照到<<详解>>P16,这是以太网帧格式,而不是802标准定义的帧格式,所以对应到P16的以太网封装。以太网封装由目的地址,源地址,类型,数据组成。这里的地址都已经是MAC地址了,对于网卡来说,它只认MAC(如果发送数据时并不知道对方MAC,那么会先发送ARP请求来得到MAC,同一个网段的MAC在缓存里面都存了有,如果同一网段主机修改IP,会向外广播,这时缓存会得以更新,呵,这又涉及到ARP了,如果想解开疑问,可以用Sniffer来捕捉相关数据,所以说Sniffer是个学习TCP/IP的很好的工具,扯远了)。再看到2个字节的类型说明,这里是0800,即说明封装的是IP数据报(0806ARP8035RARP)

<<详解>>P16我们知道,对于以太网数据部分必须最少有46字节,不足补PAD字节。(he,P21还有最大传输单元MTU,自己看了),还记得上面的TCP总长度为48bytes吗?这就是以太网的数据(不包括以太网头),已经超过了46,所以不用PAD,但你可以看到三次握手的最后ACK段,即NO.14,在这里以太网数据只有40字节,所以后面PAD6个字节。

到这,数据的封装过程我们已经都明白了。(其实我自己在分析数据的时候,发现了很多问题,我不停的翻<<详解>>,不断的尝试Sniffer不同的数据来分析)

待续!

GBA程序开发入门1

GBA程序开发入门1.GBA简介 Game Boy Advanced(GBA)是日本任天堂公司于2001年推出的一款32位掌上游戏机.它着重于游戏机的便携式,并且以2D游戏为主(3D游戏依然不错).G...
  • tangl_99
  • tangl_99
  • 2003-06-13 16:40:00
  • 6752

sniffer pro学习小记(更新ing)

1.网络分析是一种技术范畴,网络工程师与设计人员可以用它来研究网络的性质,包括可连接性、容量与性能。网络分析可以用来估计当前网络的容量,了解它的性能,或者为将来使用的应用程序及其版本更新做出规划。2....
  • zzb22848006
  • zzb22848006
  • 2006-02-02 17:42:00
  • 1098

《TCP/IP详解卷2:实现》笔记--IP选项处理

IP输入函数(ipintr)将在验证分组格式(检验和,长度等)之后,确定分组是否到达目的地之前,对选项进行处理。这表明分组所 遇到的每个路由器以及最终的目的主机都对要分组的选项进行处理。 IP分组内可...
  • TODD911
  • TODD911
  • 2014-07-22 14:11:51
  • 2509

TCP/IP详解 卷二

  • 2017年09月02日 22:45
  • 14.95MB
  • 下载

利用SNIFFER PRO学习TCP/IP(一)

ydzqw 注:Sniffer Pro应该大家都知道,不知道的到GOOGLE搜索J最好手头有本详解卷1:协议>> 这两天在看详解>>,总觉得有些地方理解的不够深。于是写了个小程序,再加上Sniffer...
  • jery_lee
  • jery_lee
  • 2004-08-14 17:31:00
  • 1290

用抓包软件来分析tcp 数据包

TCP/IP协议中各层的数据报结构是一个比较抽象的内容,大家在日常学习过程中往往难以理解和掌握,常常是死记硬背把它记住了事。本文首先利用Sniffer工具捕获了FTP命令操作过程中的所有数据包,然后对...
  • PZ0605
  • PZ0605
  • 2015-11-11 10:09:18
  • 2449

《TCP/IP详解卷一:协议》学习笔记三

一、引言 1、IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输。 2、IP提供不可靠以及无连接的数据包服务  1)、不可靠的意思是它不能...
  • Explorer_day
  • Explorer_day
  • 2017-03-30 21:32:23
  • 851

《TCP/IP详解卷2:实现》笔记--TCP的输入

当收到的数据报的协议字段指明这是一个TCP报文段时,ipintr(通过协议协议转换表中的pr_input函数)会调用tcp_input 进行处理,tcp_inut在软件中断一级执行。 函数非常长,我们...
  • TODD911
  • TODD911
  • 2015-01-06 22:45:00
  • 1829

TCP/IP协议详解(卷二) PDF

  • 2011年04月27日 14:11
  • 37.06MB
  • 下载

Sniffer Pro 4.9

  • 2009年11月08日 11:28
  • 15MB
  • 下载
收藏助手
不良信息举报
您举报文章:利用SNIFFER PRO学习TCP/IP(二)
举报原因:
原因补充:

(最多只允许输入30个字)