用协议分析工具学习TCP/IP

用协议分析工具学习 

目录

一、前言TCP/IP协议是网络的基础,是TCP/IP协议就没有互联网的今天。目前号称搞网的人非常多,许多人就是从一把夹线钳,一个测线器联网开始接触网络的,如果只是联网玩玩,知道几个TCP/IP协议搞的非常明白。TCP/IP协议的人多有一种感觉,这东西太抽象了,没有什么数据实例,看完不久就忘了。本文将介绍一种直观的学习方法,利用协议分析工具学习

为了初学者更容易理解,本文将搭建一个最简单的网络环境,不包含子网。

1
、网络环境1所示



为了表述方便,下文中192.168.113.208的计算机,192.168.113.1的计算机。

两台机器都为1号机机器作为服务器,安装

3
、协议分析工具Sniffer ProIris以及Iris作为协议分析工具。208号机安装

三、测试过程1号机计算机中的一个文件通过208号机中。IRIS的设置。IRIS具有网络监听的功能,如果网络环境中还有其它的机器将抓很多别的数据包,这样为学习带来诸多不便,为了清楚地看清楚上述例子的传输过程首先将208号机和

1)
用热键IP地址,为了对抓的包看得更清楚不要添主机的名字(,设置好后关闭此窗口。



2
)用热键“IP address”,右栏按下图将

3



按下 开始按钮。在浏览器中输入: ,鼠标右键该文件,在弹出的菜单中选择开始下载,下载完后在 按钮停止抓包。图FTP的整个过程,下面我们将详细分析这个过程。4

ARP协议的包,在arp –d 清除

四、过程分析TCP/IP的基本原理TCP/IP,但要讲明白下面的过程必须简要讲一下

A
.网络是分层的,每一层分别负责不同的通信功能。TCP/IP协议族是一组不同的协议组合在一起构成的协议族。尽管通常称该协议族为TCP1所示。每一层负责不同的功能:



分层的概念说起来非常简单,但在实际的应用中非常的重要,在进行网络设置和排除故障时对网络层次理解得很透,将对工作有很大的帮助。例如:设置路由是网络层MAC地址是链路层Ping命令由

5



当应用程序用6所示。IP的数据单元称作TCP段。IP数据报。(Frame)6自上而下,层层加码;数据接收时是自下而上,层层解码。



c.
逻辑上通讯是在同级完成的

从图

7



为了更好的分析协议,我们先描述一下上述例子数据的传输步骤。如图

1)FTP
客户端请求IP地址建立连接。IP地址发送一份

3)
如果目的主机在本地网络上,那么IP选路函数来确定位于本地网络上的下一站路由器地址,并让它转发IP数据报都是被送到位于本地网络上的一台主机或路由器。32位的48位的以太网地址,该地址也称为IP地址翻译到对应的ARP协议完成的。ARP发送一份称作ARP请求数据帧中包含目的主机的如果你是这个

6)
目的主机的IP地址,于是发送一个ARP应答包含

7)
收到ARP进行请求IP数据包现在就可以传送了。IP数据报到目的主机。



3
、实例分析iris捕获的包来分析一下

·

·

·

iris捕获的包来分析一下.

目录

第一组

1
)下图显示的是2行的数据


2
)解释数据包

在第MAC地址是MAC地址是F换算为二进制就是1的地址就是广播地址。所谓广播就是向本网上的每台网络设备发送信息,电缆上的每个以太网接口都要接收这个数据帧并对它进行处理,这一行反映的是步骤ARP发送一份称作谁是IP地址的拥有者,请将你的硬件地址告诉我

6)的内容。在同一个以太网中的每台机器都会接收到这个报文,但正常状态下除了1号的主机的IP地址,于是发送一个IP地址和2行可以清楚的看出__自己的00:50:FC:22:C7:BE张三张三

3
)头信息分析1数据包包含了两个头信息:以太网(ARP


下表1的特殊地址是广播地址。电缆上的所有以太网接口都要接收广播的数据帧。两个字节长的以太网帧类型表示后面数据的类型。对于08062行中可以看到,尽管ARP应答的目的地址却是00 50 FC 22 C7 BE)。

2

31即表示以太网地址。协议类型字段表示要映射的协议地址类型。它的值为IP地址。它的值与包含1字节的字段,硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。对于以太网上ARP请求或应答来说,它们的值分别为4Opoperation),ARP请求、ARP应答、RARP请求和RARP应答,第二行中该字段值为IP地址、目的端的硬件地址和目的端ARP请求数据帧中都有发送端的硬件地址。对于一个

2行为应答,当系统收到一份目的端为本机的2,最后把它发送回去。


第二组

1
)下图显示的是

11



这三行数据是两机建立连接的过程。TCP协议的三次握手。IP协议来传输的。但IP数据报能成功地到达目的地,保证数据的可靠传输是靠我已收到你的信息了。TCP是一个面向连接的协议。无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。建立连接的过程就是三次握手的过程。你好,我是担子你好,我是张三我找你借几本书。

下面来分析一下此例的三次握手过程。208号机发送一个初始序号(987694419

2))
服务器1值为ACK),同时随机产生一个初始序号(1773195208,这两个信号同时发回到请求端消息已收到,让我们的数据流以

3))
请求端SEQ1

以上三步完成了三次握手,双方建立了一条通道,接下来就可以进行数据传输了。TCP头信息就可以看出,在握手过程中

3
)头信息分析12所示,第Ethernet)和TCPARP多了TCP,下面的过程也没有ARP负责的是在众多联网的计算机中找到需要找的计算机,找到工作就完成了。10800,指明该帧类型为

12



IP
5可以看出所有的UDPIGMP数据都以IP协议就像运货的卡车,将一车车的货物运向目的地。主要的货物就是UDP分配给它的。需要特别指出的是I P仅提供最好的传输服务但不保证E_MAIL会不会送到朋友那,其实不用担心,上文提过保证数据正确到达目的地是

如表IP协议的头信息。



45 00—71 014位,例如:0100

4
位版本:表示目前的协议版本号,数值是4,因此IPv432),数值为IP头部长度为

8
位服务类型00,这个3位的优先权子字段,现在已经被忽略,TOS子字段以及0)构成。TOS子字段包含:最小延时、最大吞吐量、最高可靠性以及最小费用构成,这四个1,本例中都为

16
位总长度):总长度字段是指整个00 30,换算为十进制为48字节 +28字节的

16
位标识:标识字段唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加3行为数值为5行为7行为

8
位生存时间(TTLttl的初始值由源主机设置,一旦经过一个处理它的路由器,它的值就减去TTL值判断服务器是什么系统和经过的路由器。本例为128TTL初始值一般为UNIX操作系统初始值为WINDOWS6表示传输层是

16
位首部检验和:当收到一份16 位进行二进制反码的求和。由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发生任何差错,那么接收方计算的结果应该为全1,即检验和错误,那么

32
位源32位目的IP协议中核心的部分,但介绍这方面的文章非常多,本文搭建的又是一个最简单的网络结构,不涉及路由,本文对此只做简单介绍,相关知识请参阅其它文章。IP地址由一个网络ID组成。本例源C0 A8 71 D0,转换为十进制为:IP地址为192.168.113.1。网络地址为1

TCP
协议头信息5

5 TCP包首部

TCP的头信息是:FTPHTTPTELNETTCP16位,16次方等于00 15,换算成十进制为FTP的默认端口,需要指出的是这是1024的端口,本例为1064。你的电脑中了木马也会开一个服务端口。观察端口非常重要,不但能看出本机提供的正常服务,还能看出不正常的连接。netstatSequence Number),简写为让我们建立联系吧?消息收到,数据流将以这个数开始。TCP连接完全是双向的,即双方的数据流可同时传输。在传输过程中双方数据是独立的,因此每个

32
位确认序号:也称为应答号(ACK。在握手阶段,确认序号将发送方的序号加

4
位首部长度:。这个字段占32位(728字节,等于正常的长度8个字节。,60字节(二进制15=60字节)。

URG
紧急指针,告诉接收

ACK
0的时候表示数据段不包含确认信息,确认号被忽略。1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。1时重建连接。如果接收到

SYN


FIN


3个图分别为TCP协议的头信息,这三行是三次握手的过程,我们看看握手的过程标志位发生了什么?13-1请求端SEQ1号机。标志位113-2服务器ACK)和随机产生一个初始序号(1773195208发回到请求端ACK113-3请求端1号机的信号后,发回信息给ACK置为0。注意此时0

TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个65535字节。TCP报文段:TCP数据。这是一个强制性的字段,一定是由发端计算和存储,并由收端进行验证。U R G标志置

选项:图13-213-3没有选项。最常见的可选字段是最长报文大小,又称为13-1可以看出1460字节,1460字节传送的。

上面我们分开讲了三次握手,看着有点散,现在小结一下。 第三组 数据传输 1)显示的是12行的数据2)解释数据包3)头信息分析第四组 终止连接1)显示的是3-5行的数据2)解释数据包3)头信息分析

第三组 1)下图显示的是

14

2)解释数据包

这四行数据是数据传输过程中一个发送一个接收的过程。

前文说过,TCP分割成认为最适合发送的数据块。一般以太网在传送时1460字节。也就是说数据在发送方被分成一块一块的发送,接受端收到这些数据后再将它们组合在一起。

1号机给1514字节大小的数据,注意我们前文讲过数据发送时是层层加协议头的,=14字节以太网头IPTCP 58行显示的应答信号1781514222,这个数是SEQ序号14601号机说明已收到发来的数据。

60行显示的是继续传送数据的过程。

这个过程就像我向张三借书,借给我几本我要说:,他说:

15-1和图57行和

终止连接

93-96行的数据



93-96是两机通讯完关闭的过程。

建立一个连接需要三次握手,而终止一个连接要经过TCP连接是全双工(即数据在两个方向上能同时传递),每个方向必须单独地进行关闭。 164次握手过程。

17-1所示FIN(SEQ)987695574发给 94行数据和图1号机收到1,这样就终止了这个方向的传输。

17-3显示FIN(SEQ)1773196056发给 96行数据和图208号机收到1,至此 3)头信息
 

ping的实例,测试某台计算机是否通,最常用的命令就是Ping 一台计算机,出现如图19所示界面就是不通,不通有两种情况,一是该计算机不存在或没接网线,二是该计算机安装了防火墙并设置为不允许iris跟踪上述情况。

 

19

20 21ARP请求没有回应。

如图ping不通,该计算机存在但安装了防火墙的情况。从图可以看出ICMP请求没回应。

从分析可以看出虽然后两种情况的表面现象是一样的,但实质确是截然相反的。通过头信息可以清楚的看出 ICMP协议来完成的,通讯过程是在第三层完成的,没有用到第四层的

20



 

22

TCP重发、TCP/IP协议族是非常复杂的,但只要理解了还是不难学的。最后向感兴趣的朋友提个问题:分别23端口开放,一台网是通的但TCP扫描判断对方机器是否在线的一种方法。

你可能感兴趣的:(网络,tcp,防火墙,服务器,工具,路由器)