当前位置:文档之家› FTP数据包的详细分析

FTP数据包的详细分析

FTP数据包的详细分析
FTP数据包的详细分析

FTP协议分析与源码阅读

一、什么是FTP协议

FTP(File Transfer Protocal),是文件传输协议的简称。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。

FTP(File Transfer Protocol)

1、FTP的作用:

正如其名所示:FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。

2、FTP工作原理

拿下传文件为例,当你启动FTP从远程计算机拷贝文件时,你事实上启动了两个程序:一个本地机上的FTP客户程序:它向FTP服务器提出拷贝文件的请求。另一个是启动在远程计算机的上的FTP服务器程序,它响应你的请求把你指定的文件传送到你的计算机中。FTP采用“客户机/服务器”方式,用户端要在自己的本地计算机上安装FTP客户程序。FTP 客户程序有字符界面和图形界面两种。字符界面的FTP的命令复杂、繁多。图形界面的FTP 客户程序,操作上要简洁方便的多。简单地说,支持FTP协议的服务器就是FTP服务器,下面介绍一下什么是FTP协议(文件传输协议)

一般来说,用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容之一。Internet上早期实现传输文件,并不是一件容易的事,我们知道Internet是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,据统计连接在Internet 上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行Dos、Windows的PC机和运行MacOS的苹果机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。

与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP 协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。

在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上载"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上载"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上载(下载)文件。

使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可上载或下载文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。这种情况违背了Internet的开放性,Internet 上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有帐号。匿名FTP就是为解决这个问题而产生的。

匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无

需成为其注册用户。系统管理员建立了一个特殊的用户ID,名为anonymous, Internet上的任何人在任何地方都可使用该用户ID。

通过FTP程序连接匿名FTP主机的方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous,该用户ID的口令可以是任意的字符串。习惯上,用自己的E-mail地址作为口令,使系统维护程序能够记录下来谁在存取这些文件。

值得注意的是,匿名FTP不适用于所有Internet主机,它只适用于那些提供了这项服务的主机。

当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上载文件,也就是说,用户可将匿名FTP主机上的所有文件全部拷贝到自己的机器上,但不能将自己机器上的任何一个文件拷贝至匿名FTP主机上。即使有些匿名FTP主机确实允许用户上载文件,用户也只能将文件上载至某一指定上载目录中。随后,系统管理员会去检查这些文件,他会将这些文件移至另一个公共下载目录中,供其他用户下载,利用这种方式,远程主机的用户得到了保护,避免了有人上载有问题的文件,如带病毒的文件。

作为一个Internet用户,可通过FTP在任何两台Internet主机之间拷贝文件。但是,实际上大多数人只有一个Internet帐户,FTP主要用于下载公共文件,例如共享软件、各公司技术支持文件等。Internet上有成千上万台匿名FTP主机,这些主机上存放着数不清的文件,供用户免费拷贝。实际上,几乎所有类型的信息,所有类型的计算机程序都可以在Internet 上找到。这是Internet吸引我们的重要原因之一。

匿名FTP使用户有机会存取到世界上最大的信息库,这个信息库是日积月累起来的,并且还在不断增长,永不关闭,涉及到几乎所有主题。而且,这一切是免费的。

匿名FTP是Internet网上发布软件的常用方法。Internet之所以能延续到今天,是因为人们使用通过标准协议提供标准服务的程序。像这样的程序,有许多就是通过匿名FTP发布的,任何人都可以存取它们。

Internet中的有数目巨大的匿名FTP主机以及更多的文件,那么到底怎样才能知道某一特定文件位于哪个匿名FTP主机上的那个目录中呢?这正是Archie服务器所要完成的工作。Archie将自动在FTP主机中进行搜索,构造一个包含全部文件目录信息的数据库,使你可以直接找到所需文件的位置信息。

传输文件的一般步骤如下:

1.在本地电脑上登陆到国际互联网.

2.搜索有文件共享主机或者个人电脑(一般有专门的FTP服务器网站上公布的,上面有

进入该主机或个人电脑的名称,口令和路径).

3.当与远程主机或者对方的个人电脑建立连接后,用对方提供的用户名和口令登陆到该

主机或对方的个人电脑.

4.在远程主机或对方的个人电脑登陆成功后,就可以上传你想跟别人分享的东东或者下

载别人授权共享的东东(这里的东东是指能放到电脑里去又能在显示屏上看到的东东).

5.完成工作后关闭FTP下载软件,切断连接.

为了实现文件传输,用户还要运行专门的文件传输程序,比如网际快车就有这方面的功能,其它还有很多专门的FTP传输软件,各有各的特色.

二、源代码功能描述与操作指南

1、源代码的功能:

If Len(txtProxy.Text) <> 0 Then

hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PROXY,

txtProxy.Text, vbNullString, 0)

Else

hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT,

vbNullString, vbNullString, 0)

End If

If hOpen = 0 Then ErrorOut https://www.doczj.com/doc/7418899316.html,stDllError, "InternetOpen"

EnableUI (True)

开启与Internet的连接

If Not bActiveSession And hOpen <> 0 Then

If txtServer.Text = "" Then

MsgBox "Please enter a server name!"

Exit Sub

End If

Dim nFlag As Long

If chkPassive.Value Then

nFlag = INTERNET_FLAG_PASSIVE

Else

nFlag = 0

End If

hConnection = InternetConnect(hOpen, txtServer.Text, INTERNET_INV ALID_PORT_NUMBER, _

txtUser, txtPassword, INTERNET_SERVICE_FTP, nFlag, 0)

If hConnection = 0 Then

bActiveSession = False

ErrorOut https://www.doczj.com/doc/7418899316.html,stDllError, "InternetConnect"

Else

bActiveSession = True

EnableUI (CBool(hOpen))

FillTreeViewControl (txtServer.Text)

FtpEnumDirectory ("")

If EnumItemNameBag.Count = 0 Then Exit Sub

FillTreeViewControl (txtServer.Text)

End If

End If

在txtServer、txtUser、txtPassword输入ftp地址、用户名、密码。如果该ftp允许匿

名登入就不需要输入用户名和密码,然后单击就可以连接该ftp了。

im bRet As Boolean

Dim szFileRemote As String, szDirRemote As String, szFileLocal As String

Dim szTempString As String

Dim nPos As Long, nTemp As Long

Dim nodX As Node

Set nodX = TreeView1.SelectedItem

If bActiveSession Then

If nodX Is Nothing Then

MsgBox "Please select the item to GET!"

Exit Sub

End If

szTempString = TreeView1.SelectedItem.Text

szFileRemote = szTempString

nPos = 0

nTemp = 0

Do

nTemp = InStr(1, szTempString, "/", vbBinaryCompare)

If nTemp = 0 Then Exit Do

szTempString = Right(szTempString, Len(szTempString) - nTemp)

nPos = nTemp + nPos

Loop

szDirRemote = Left(szFileRemote, nPos)

szFileRemote = Right(szFileRemote, Len(szFileRemote) - nPos)

szFileLocal = File1.Path

rcd szDirRemote

bRet = FtpGetFile(hConnection, szFileRemote, szFileLocal & "/" & szFileRemote, False, _

INTERNET_FLAG_RELOAD, dwType, 0)

File1.Refresh

If bRet = False Then ErrorOut https://www.doczj.com/doc/7418899316.html,stDllError, "FtpGetFile"

Else

MsgBox "Not in session"

End If

Dim bRet As Boolean

Dim szFileRemote As String, szDirRemote As String, szFileLocal As String

Dim szTempString As String

Dim nPos As Long, nTemp As Long

Dim nodX As Node

Set nodX = TreeView1.SelectedItem

If bActiveSession Then

If nodX Is Nothing Then

MsgBox "Please select a remote directory to PUT to!"

Exit Sub

End If

If nodX.Image = "leaf" Then

MsgBox "Please select a remote directory to PUT to!"

Exit Sub

End If

If File1.FileName = "" Then

MsgBox "Please select a local file to put"

Exit Sub

End If

szTempString = nodX.Text

szDirRemote = Right(szTempString, Len(szTempString) - Len(txtServer.Text)) szFileRemote = File1.FileName

szFileLocal = File1.Path & "\" & File1.FileName

If (szDirRemote = "") Then szDirRemote = "\"

rcd szDirRemote

bRet = FtpPutFile(hConnection, szFileLocal, szFileRemote, _

dwType, 0)

If bRet = False Then

ErrorOut https://www.doczj.com/doc/7418899316.html,stDllError, "FtpPutFile"

Exit Sub

End If

Dim nodChild As Node, nodNextChild As Node

Set nodChild = nodX.Child

Do

If nodChild Is Nothing Then Exit Do

Set nodNextChild = nodChild.Next

TreeView1.Nodes.Remove nodChild.Index

If nodNextChild Is Nothing Then Exit Do

Set nodChild = nodNextChild

Loop

If nodX.Image = "closed" Then

nodX.Image = "open"

End If

FtpEnumDirectory (nodX.Text)

FillTreeViewControl (nodX.Text)

End If

这两个按钮分别可以下载ftp的信息至指定的文件夹和上传信息到ftp上

bDirEmpty = True

If hConnection <> 0 Then InternetCloseHandle hConnection

hConnection = 0

ClearBag

TreeView1.Nodes.Remove txtServer.Text

bActiveSession = False

EnableUI (True)

关闭ftp的连接

If hConnection <> 0 Then InternetCloseHandle (hConnection)

If hOpen <> 0 Then InternetCloseHandle (hOpen)

hConnection = 0

hOpen = 0

If bActiveSession Then TreeView1.Nodes.Remove txtServer.Text

bActiveSession = False

ClearTextBoxAndBag

EnableUI (False)

关闭与Interne的连接

2、操作:

我介绍的这个用VB做的FTP客户端程序首先点击运行程序,然后先单击Start Internet Session,然后在FTP Server Name:输入FTP的地址,后面的用户名和密码看FTP 是否允许匿名登入,不允许匿名登入就需要输入用户名密码,最后就可以选择文件内容,按GET和PUT按钮下载和上传文件。但是要注意下载的只能是文件夹里面的内容,不能是整个文件夹,上传是上传至文件夹里面的,还要注意FTP是不是允许上传文件。

三、源代码结构与程序流程分析

先连接Interne,然后输入需要连接的ftp的地址,再可以从ftp上下载或者上传文件信息,最后关闭Interne连接。

四、源代码关键技术/难点分析

关键在于如何连接上Interne的代码,继而连接上ftp代码,包括输入的ftp的地址、用户名和密码。

这几个按钮里的代码不知道什么意思。

五、个人收获与小学期总结

暂无

计算机网络课程设计---基于Wireshark的网络数据包内容解析

基于Wireshark的网络数据包内容解析 摘要本课程设计是利用抓包软件Wireshark,对网络服务器与客户端进行网络数据收发过程中产生的包进行抓取,然后对所抓取的包进行分析,并结合的协议进行分析,达到了解各种数据包结构的目的。设计过程中对各种包进行抓取分析,各种包之间比较,了解每种包的传输过程与结构,通过本次课程设计,能很好的运用Wireshark对数据包分析和Wireshark各种运用,达到课程设计的目的。 关键词IP协议;TCP协议;UDP协议;ARP协议;Wireshark;计算机网络; 1 引言 本课程设计主要是设计一个基于Wireshark的网络数据包内容解析,抓取数据包,然后对所抓取的包进行分析,并结合的协议进行分析,达到了解各种数据包结构的目的 1.1 课程设计目的 Wireshark是一个网络封包分析软件。可以对网络中各种网络数据包进行抓取,并尽可能显示出最为详细的网络封包资料,计算机网络课程设计是在学习了计算机网络相关理论后,进行综合训练课程,其目的是: 1.了解并会初步使用Wireshark,能在所用电脑上进行抓包; 2.了解IP数据包格式,能应用该软件分析数据包格式。 1.2 课程设计要求 (1)按要求编写课程设计报告书,能正确阐述设计结果。 (2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。 (3)学会文献检索的基本方法和综合运用文献的能力。

(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。 1.3 课程设计背景 一、Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。 网络封包分析软件的功能可想像成 "电工技师使用电表来量测电流、电压、电阻" 的工作 - 只是将场景移植到网络上,并将电线替换成网络线。在过去,网络封包分析软件是非常昂贵,或是专门属于营利用的软件。Wireshark的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Wireshark是目前全世界最广泛的网络封包分析软件之一。 二、网络嗅探需要用到网络嗅探器,其最早是为网络管理人员配备的工具,有了嗅探器网络管理员可以随时掌握网络的实际情况,查找网络漏洞和检测网络性能,当网络性能急剧下降的时候,可以通过嗅探器分析网络流量,找出网络阻塞的来源。网络嗅探是网络监控系统的实现基础。 网络嗅探需要用到网络嗅探器,其最早是为网络管理人员配备的工具,有了嗅探器网络管理员可以随时掌握网络的实际情况,查找网络漏洞和检测网络性能,当网络性能急剧下降的时候,可以通过嗅探器分析网络流量,找出网络阻塞的来源。嗅探器也是很多程序人员在编写网络程序时抓包测试的工具,因为我们知道网络程序都是以数据包的形式在网络中进行传输的,因此难免有协议头定义不对的。 网络嗅探的基础是数据捕获,网络嗅探系统是并接在网络中来实现对于数据的捕获的,这种方式和入侵检测系统相同,因此被称为网络嗅探。网络嗅探是网络监控系统的实现基础,首先就来详细地介绍一下网络嗅探技术,接下来就其在网络监控系统的运用进行阐述。 2 网络协议基础知识 2.1 IP协议 (1) IP协议介绍

协议分析实验5-20100505

实验五应用层协议分析1 实验目的: 掌握http协议过程;了解FTP协议过程;了解SMTP协议过程;了解POP3协议过程。 实验类型:验证 实验学时:3学时 实验内容及方法: 观察http协议过程;观察一个FTP协议过程;观察SMTP协议过程;观察POP3协议过程 实验仪器设备:计算机、Ethereal软件。 实验步骤: 1.观察http协议过程。 (1)在计算机上打开Ethereal软件,进行报文截获。 (2)从浏览器上访问https://www.doczj.com/doc/7418899316.html,页面,具体操作为打开网页,浏览网页,关掉网页。 (3)停止Ethereal的报文截获。 (4)通过在上网过程中截获报文,分析HTTP协议的报文格式和工作过程。 http通信基本路线是:打开TCP连接、发送图像请求、接收文件、当图像下载完成之后关闭连接。 HTTP协议的工作过程:1、主机先与服务器进行三次握手,握手成功后进行数据传输,得到WEB网页。2、传输完成后进行第二个三次握手握手,传送数据,得到图像。。。。依次进行三次握手得到完整的网页,浏览,断开连接。

2.观察一个FTP协议过程 (1)在计算机上打开Ethereal软件,进行报文截获。 (2)单击“开始/运行”,在运行框中输入命令,打开命令行窗口。 (3)在命令行窗口中,登陆FTP服务器,并下载文件。 (4)停止Ethereal的报文截获。 (5)通过在上网过程中截获报文,分析FTP报文格式和FTP协议的工作过程。 FTP通信工作过程:当命令提示符窗口输入FTP://IP address登录FTP服务器时,进行三次TCP握手,服务器默认为匿名用户登录,当服务器端不支持匿名用户登录时,等待客户端输入用户名和密码进行登录。验证通过后,服务器就会发出已经准备好的信息。再输入提取命令,从服务器上得到一个文件,输入下载命令下载文件,此时进行数据传输,传输完成后输入关闭命令断开连接,关闭数据连接,退出服务器。 3.观察SMTP协议过程 (1)在计算机上打开Ethereal软件,进行报文截获。 (2)使用用户代理发送邮件。 (3)停止Ethereal的报文截获。 (4)通过截获报文,分析SMTP的工作过程 A、安装代理发送邮件的软件 B、使用用户代理发送邮件,分析SMTP的工作过程:用代理发送邮件时,首先要使用代理服务登陆邮箱服务器,建立smtp tcp 连接,建立初始smtp通信。 C、然后发送邮件到smtp服务器,最后关闭smtp 和tcp 连接

wireshark抓包分析报告TCP和UDP

计 算 机 网 络Wireshark抓包分析报告

目录 1. 使用wireshark获取完整的UDP报文 (3) 2. 使用wireshark抓取TCP报文 (3) 2.1 建立TCP连接的三次握手 (3) 2.1.1 TCP请求报文的抓取 (4) 2.1.2 TCP连接允许报文的抓取 (5) 2.1.3 客户机确认连接报文的抓取 (6) 2.2 使用TCP连接传送数据 (6) 2.3 关闭TCP连接 (7) 3. 实验心得及总结 (8)

1. 使用wireshark获取完整的UDP报文 打开wireshark,设置监听网卡后,使用google chrome 浏览器访问我腾讯微博的首页 p.t.qq./welcomeback.php?lv=1#!/list/qqfriends/5/?pgv_ref=im.perinfo.perinfo.icon? ptlang=2052&pgv_ref=im.perinfo.perinfo.icon,抓得的UDP报文如图1所示。 图1 UDP报文 分析以上的报文容,UDP作为一种面向无连接服务的运输协议,其报文格式相当简单。第一行中,Source port:64318是源端口号。第二行中,Destination port:53是目的端口号。第三行中,Length:34表示UDP报文段的长度为34字节。第四行中,Checksum之后的数表示检验和。这里0x表示计算机中16进制数的开始符,其后的4f0e表示16进制表示的检验和,把它们换成二进制表示为:0100 1111 0000 1110. 从wireshark的抓包数据看出,我抓到的UDP协议多数被应用层的DNS协议应用。当一台主机中的DNS应用程序想要进行一次查询时,它构成了一个DNS 查询报文并将其交给UDP。UDP无须执行任何实体握手过程,主机端的UDP为此报文添加首部字段,并将其发出。 2. 使用wireshark抓取TCP报文 2.1 建立TCP连接的三次握手 建立TCP连接需要经历三次握手,以保证数据的可靠传输,同样访问我的腾讯微博主页,使用wireshark抓取的TCP报文,可以得到如图2所示的客户机和服务器的三次握手的过程。 图2 建立TCP连接的三次握手

FTP协议分析报告

工程类实验报告 系:网络工程专业:网络工程年级: 2009 姓名:学号:实验课程:网络协议分析 实验室号:____田C510__ 实验设备号:实验时间: 12.26 指导教师签字:成绩: 实验四 FTP 协议分析实验 一、实验目的和要求 学习 Serv-U FTP Server 服务软件的基本配置和 FTP 客户端命令的使用,分析FTP 报文格式和 FTP 协议的工作过程。 二、实验原理 FTP 是文件传输协议(File Transfer Protocol)的简称。 FTP 基于 TCP 协议,它通过两个 TCP 连接来传输一个文件,一个是控制连接,另一个 是数据连接。相应的,在进行文件传输时,FTP 需要两个端口,分别用于控制连接端口(用 于给服务器发送指令以及等待服务器响应)和数据传输端口(在客户机和服务器之间发送 一个文件或目录列表)。 两种连接的建立都要经过一个“三次握手”的过程,同样,连接释放也要采用“四次 握手”方法。控制连接在整个回话期间一直保持打开状态。数据连接是临时建立的,在文件 传送结束后被关闭。 FTP 的连接模式有两种,PORT 和 PASV。PORT 模式是一个主动模式,PASV 是被动模式, 这里都是相对于服务器而言的。 当 FTP 客户以 PORT 模式连接服务器时,它首先动态地选择一个端口号连接服务器 的 21 端口,注意这个端口号一定是 1024 以上的,因为 1024 以前的端口都已经预先被定 义好,被一些典型的服务使用或保留给以后会用到这些端口的资源服务。经过 TCP 的三次 握手后,控制连接被建立。这时客户就可以利用这个连接向服务器发送指令和等待服务器响 应了。当需要从(或向)服务器传送数据时,客户会发出 PORT 指令告诉服务器用自己的 那个端口来建立一条数据连接(这个命令由控制连接发送给服务器),当服务器接到这一指 令时,会使用 20 端口连接客户指定的端口号,用以数据传送。 当FTP 客户以 PASV 模式连接服务器时,控制连接的建立过程与 PORT 模式相同,不 同的是,在数据传送时,客户不向服务器发送 PORT 指令而是发送 PASV 指令,服务器收 到 PASV命令后选择一个端口号发送给客户,客户选择一个本地端口号与服务器发送过来的 端口建立一条数据连接。 微软自带的 FTP 客户端命令工具不支持 PASV 模式。 三、实验设备与环境 实验设备和连接图如图 6-5 所示,一台锐捷 S2126G 交换机连接了 2 台 PC 机,分别命名为

wireshark抓包分析实验报告

Wireshark抓包分析实验 若惜年 一、实验目的: 1.学习安装使用wireshark软件,能在电脑上抓包。 2.对抓出包进行分析,分析得到的报文,并与学习到的知识相互印证。 二、实验内容: 使用抓包软件抓取HTTP协议通信的网络数据和DNS通信的网络数据,分析对应的HTTP、TCP、IP协议和DNS、UDP、IP协议。 三、实验正文: IP报文分析: 从图中可以看出: IP报文版本号为:IPV4 首部长度为:20 bytes 数据包长度为:40 标识符:0xd74b 标志:0x02 比特偏移:0 寿命:48 上层协议:TCP 首部校验和:0x5c12 源IP地址为:119.75.222.18 目的IP为:192.168.1.108

从图中可以看出: 源端口号:1891 目的端口号:8000 udp报文长度为:28 检验和:0x58d7 数据长度:20 bytes UDP协议是一种无需建立连接的协议,它的报文格式很简单。当主机中的DNS 应用程序想要惊醒一次查询时,它构造一个DNS查询报文段并把它给UDP,不需要UDP之间握手,UDP为报文加上首部字段,将报文段交给网络层。

第一次握手: 从图中看出: 源端口号:56770 目的端口号:80 序列号为:0 首部长为: 32 bytes SYN为1表示建立连接成功当fin为1时表示删除连接。

第二次握手: 从图中看出: 源端口号是:80 目的端口号为:56770 序列号为:0 ack为:1 Acknowledgement为1表示包含确认的报文Syn为1表示建立连接。

第三次握手: 从图中看出: 源端口:56770 目的端口:80 序列号为:1 ACK为:1 首部长为:20bytes Acknowledgement为1表示包含确认的报文 所以,看出来这是TCP连接成功了 Tcp是因特网运输层的面向连接的可靠的运输协议,在一个应用进程可以开始向另一个应用进程发送数据前,这两个进程必须先握手,即它们必须相互发送预备文段,建立确保传输的参数。

Wireshark抓包实例分析

Wireshark抓包实例分析 通信工程学院010611班赖宇超01061093 一.实验目的 1.初步掌握Wireshark的使用方法,熟悉其基本设置,尤其是Capture Filter和Display Filter 的使用。 2.通过对Wireshark抓包实例进行分析,进一步加深对各类常用网络协议的理解,如:TCP、UDP、IP、SMTP、POP、FTP、TLS等。 3.进一步培养理论联系实际,知行合一的学术精神。 二.实验原理 1.用Wireshark软件抓取本地PC的数据包,并观察其主要使用了哪些网络协议。 2.查找资料,了解相关网络协议的提出背景,帧格式,主要功能等。 3.根据所获数据包的内容分析相关协议,从而加深对常用网络协议理解。 三.实验环境 1.系统环境:Windows 7 Build 7100 2.浏览器:IE8 3.Wireshark:V 1.1.2 4.Winpcap:V 4.0.2 四.实验步骤 1.Wireshark简介 Wireshark(原Ethereal)是一个网络封包分析软件。其主要功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。其使用目的包括:网络管理员检测网络问题,网络安全工程师检查资讯安全相关问题,开发者为新的通讯协定除错,普通使用者学习网络协议的

相关知识……当然,有的人也会用它来寻找一些敏感信息。 值得注意的是,Wireshark并不是入侵检测软件(Intrusion Detection Software,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark 撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。Wireshark本身也不会送出封包至网络上。 2.实例 实例1:计算机是如何连接到网络的? 一台计算机是如何连接到网络的?其间采用了哪些协议?Wireshark将用事实告诉我们真相。如图所示: 图一:网络连接时的部分数据包 如图,首先我们看到的是DHCP协议和ARP协议。 DHCP协议是动态主机分配协议(Dynamic Host Configuration Protocol)。它的前身是BOOTP。BOOTP可以自动地为主机设定TCP/IP环境,但必须事先获得客户端的硬件地址,而且,与其对应的IP地址是静态的。DHCP是BOOTP 的增强版本,包括服务器端和客户端。所有的IP网络设定数据都由DHCP服务器集中管理,并负责处理客户端的DHCP 要求;而客户端则会使用从服务器分配下来的IP环境数据。 ARP协议是地址解析协议(Address Resolution Protocol)。该协议将IP地址变换成物理地址。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。 让我们来看一下数据包的传送过程:

计算机网络实验HTTPFTP协议分析

实验二H T T P、F T P协议分析 1. 本次实验包括HTTP、FTP两个协议的分析(详见一、二)。 2. 参考文档所述步骤,完成数据包的捕获并进行分析; 3. 认真撰写实验报告,叙述实验过程要层次分明,对关键的过程或结果截图说明、分析,回答实验文档所提的思考题、问题。 一、超文本传输协议(HTTP)分析 【实验目的】 掌握HTTP协议的原理和报文格式; 了解HTTP协议的工作过程; 了解应用层协议与传输层协议的关系。 【实验内容】 用浏览器打开网页,捕获HTTP报文并进行分析 编辑一个HTTP数据报文并进行发送,并捕获该报文进行分析。 【实验步骤】 步骤一:使用浏览器打开网页,捕获HTTP数据包并分析: (1) 在主机上打开协议分析仪,点击工具栏上的“过滤器”,“类型过滤器”的下拉列表中 选择“HTTP协议”,确定后开始进行数据捕获:

(2) 使用实验室主机上的浏览器,例如IE,打开一个网页,如URL是 HTTP//https://www.doczj.com/doc/7418899316.html, (3) 在协议分析器中找到捕获的数据包,观察HTTP请求报文和响应报文,以及其中所使用的命令:

【思考问题】 结合实验过程中的实验结果,问答下列问题: 1. 当实验主机上同时打开多个浏览器窗口并访问同一WEB站点的不同页面时,系统是根据什么把返回的页面正确地显示到相应窗口的?一个主页是否只有一个连接? 2. 请求主页后,返回的浏览器内容的字节长度是多少? 3. 如果请求一个不存在的网页,服务器将会应答什么? 答: 1. 当实验主机上同时打开多个浏览器窗口并访问同一WEB站点的不同页面时,系统是根据地址信息把返回的页面正确地显示到相应窗口的,一个主页是只有一个连接。 2. 请求主页后,返回的浏览器内容的字节长度是 3. 如果请求一个不存在的网页,服务器将会应答404错误。 二、FTP协议分析 【实验目的】 1、掌握FTP协议的工作原理; 2、了解FTP协议的常用命令,并领会其链路管理、理解FTP的主动模式和被动模式 3、了解应用层协议与传输层协议的关系; 【实验内容】 1. 登录FTP服务器,并捕获FTP报文进行分析;

wireshark抓包分析了解相关协议工作原理

安徽农业大学 计算机网络原理课程设计 报告题目wireshark抓包分析了解相关协议工作原理 姓名学号 院系信息与计算机学院专业计算机科学与技术 中国·合肥 二零一一年12月

Wireshark抓包分析了解相关协议工作原理 学生:康谦班级:09计算机2班学号:09168168 指导教师:饶元 (安徽农业大学信息与计算机学院合肥) 摘要:本文首先ping同一网段和ping不同网段间的IP地址,通过分析用wireshark抓到的包,了解ARP地址应用于解析同一局域网内IP地址到硬件地址的映射。然后考虑访问https://www.doczj.com/doc/7418899316.html,抓到的包与访问https://www.doczj.com/doc/7418899316.html,抓到的包之间的区别,分析了访问二者网络之间的不同。 关键字:ping 同一网段不同网段 wireshark 协议域名服务器 正文: 一、ping隔壁计算机与ping https://www.doczj.com/doc/7418899316.html,抓到的包有何不同,为什么?(1)、ping隔壁计算机 ARP包:

ping包: (2)ing https://www.doczj.com/doc/7418899316.html, ARP包:

Ping包: (3)考虑如何过滤两种ping过程所交互的arp包、ping包;分析抓到的包有

何不同。 答:ARP地址是解决同一局域网上的主机或路由器的IP地址和硬件地址的映射问题,如果要找的主机和源主机不在同一个局域网上,就会解析出网 关的硬件地址。 二、访问https://www.doczj.com/doc/7418899316.html,,抓取收发到的数据包,分析整个访问过程。(1)、访问https://www.doczj.com/doc/7418899316.html, ARP(网络层): ARP用于解析IP地址与硬件地址的映射,本例中请求的是默认网关的硬件地址。源主机进程在本局域网上广播发送一个ARP请求分组,询问IP地址为192.168.0.10的硬件地址,IP地址为192.168.0.100所在的主机见到自己的IP 地址,于是发送写有自己硬件地址的ARP响应分组。并将源主机的IP地址与硬件地址的映射写入自己ARP高速缓存中。 DNS(应用层): DNS用于将域名解析为IP地址,首先源主机发送请求报文询问https://www.doczj.com/doc/7418899316.html, 的IP地址,DNS服务器210.45.176.18给出https://www.doczj.com/doc/7418899316.html,的IP地址为210.45.176.3

网络协议分析实验总结

实验一IP协议 练习一利用仿真编辑器发送IP数据包 描述:收发IPv4报文,不填上层协议. 问题:①查看捕获到得报文长度是60,和你编辑的报文长度不同,为什么? 最小帧长度为60,当不足60时,在源数据尾部添加0补足。 ②讨论,为什么会捕获到ICMP目的端口不可达差错报文? 差错报文的类型为协议不可达,因为上层协议为0,未定义。 练习二编辑发送IPV6数据包 描述:收发IPv6报文. 问题:①比较IPV4头,IPV6有了那些变化?IPV4的TTL字段在IPV6里对应那个字段? 比较IPv4 和IPv6 的报头,可以看到以下几个特点: ●字段的数量从IPv4 中的13(包括选项)个,降到了IPv6 中的8 个; ●中间路由器必须处理的字段从6 个降到了4 个,这就可以更有效地转发普通的 IPv6 数据包; ●很少使用的字段,如支持拆分的字段,以及IPv4 报头中的选项,被移到了IPv6 报 头的扩展报头中; ●● IPv6 报头的长度是IPv4 最小报头长度(20 字节)的两倍,达到40 字节。 然而,新的IPv6 报头中包含的源地址和目的地址的长度,是IPv4 源地址和目的 地址的4 倍。 对应:跳限制----这个8位字段代替了IPv4中的TTL字段。 练习三:特殊的IP地址 描述:直接广播地址包含一个有效的网络号和一个全“1”的主机号,只有本网络内的主机能够收到广播,受限广播地址是全为1的IP地址;有限广播的数据包里不包含自己的ip 地址,而直接广播地址里包含自身的ip地址 练习四: IP包分段实验 问题:讨论,数据量为多少时正好分两片?1480*2=2960 练习五: netstat命令 描述: C:>netstat –s ;查看本机已经接收和发送的IP报文个数 C:>netstat –s ;查看本机已经接收和发送的IP报文个数 C:>netstat –e ;观察以太网统计信息,

【小技巧】wireshark定位抓包与定位查看

【实用技巧】wireshark过滤抓包与过滤查看在分析网络数据和判断网络故障问题中,都离不开网络协议分析软件(或叫网络嗅探器、抓包软件等等)这个“利器”,通过网络协议分析软件我们可以捕获网络中正常传输哪些数据包,通过分析这些数据包,我们就可以准确地判断网络故障环节出在哪。网络协议分析软件众多,比如ethereal(wireshark的前身),wireshark,omnipeek,sniffer,科来网络分析仪(被誉为国产版sniffer,符合我们的使用习惯)等等,本人水平有限,都是初步玩玩而已,先谈谈个人对这几款软件使用感受,wireshark(ethereal)在对数据包的解码上,可以说是相当的专业,能够深入到协议的细节上,用它们来对数据包深入分析相当不错,更重要的是它们还是免费得,但是用wireshark(ethereal)来分析大量数据包并在大量数据包中快速判断问题所在,比较费时间,不能直观的反应出来,而且操作较为复杂。像omnipeek,sniffer,科来网络分析仪这些软件是专业级网络分析软件,不仅仅能解码(不过有些解码还是没有wireshark专业),还能直观形象的反应出数据情况,这些软件会对数据包进行统计,并生成各种各样的报表日志,便于我们查看和分析,能直观的看到问题所在,但这类软件是收费,如果想感受这类专业级的软件,我推荐玩科来网络分析仪技术交流版,免费注册激活,但是只能对50个点进行分析。废话不多说,下面介绍几个wireshark使用小技巧,说的不好,还请各位多指点批评。 目前wireshark最新版本是1.7的,先简单对比下wireshark的1.6和1.7版本。 下面是wireshark的1.6版本的界面图:

FTP协议分析报告

. 工程类实验报告 系:网络工程专业:网络工程年级: 2009 姓名:学号:实验课程:网络协议分析 实验室号:____田C510__ 实验设备号:实验时间: 12.26 指导教师签字:成绩: 实验四 FTP 协议分析实验 一、实验目的和要求 学习 Serv-U FTP Server 服务软件的基本配置和 FTP 客户端命令的使用,分析FTP 报文格式和 FTP 协议的工作过程。 二、实验原理 FTP 是文件传输协议(File Transfer Protocol)的简称。 FTP 基于 TCP 协议,它通过两个 TCP 连接来传输一个文件,一个是控制连接,另一个是 数据连接。相应的,在进行文件传输时,FTP 需要两个端口,分别用于控制连接端口(用 于给服务器发送指令以及等待服务器响应)和数据传输端口(在客户机和服务器之间发送 一个文件或目录列表)。 两种连接的建立都要经过一个“三次握手”的过程,同样,连接释放也要采用“四次 握手”方法。控制连接在整个回话期间一直保持打开状态。数据连接是临时建立的,在文件 传送结束后被关闭。 FTP 的连接模式有两种,PORT 和 PASV。PORT 模式是一个主动模式,PASV 是被动模式, 这里都是相对于服务器而言的。 当 FTP 客户以 PORT 模式连接服务器时,它首先动态地选择一个端口号连接服务器的 21 端口,注意这个端口号一定是 1024 以上的,因为 1024 以前的端口都已经预先被定义好, 被一些典型的服务使用或保留给以后会用到这些端口的资源服务。经过 TCP 的三次握手后,控 制连接被建立。这时客户就可以利用这个连接向服务器发送指令和等待服务器响应了。当需要从 (或向)服务器传送数据时,客户会发出 PORT 指令告诉服务器用自己的那个端口来建立一条 数据连接(这个命令由控制连接发送给服务器),当服务器接到这一指令时,会使用 20 端口 连接客户指定的端口号,用以数据传送。 当FTP 客户以 PASV 模式连接服务器时,控制连接的建立过程与 PORT 模式相同,不同 的是,在数据传送时,客户不向服务器发送 PORT 指令而是发送 PASV 指令,服务器收到

wireshark抓包分析

用wireshark分析Http 和Dns 报文 一、http请求报文和响应报文 wireshark所抓的一个含有http请求报文的帧: 1、帧的解释 链路层的信息上是以帧的形式进行传输的,帧封装了应用层、传输层、网络层的数据。而wireshark抓到的就是链 路层的一帧。 图中解释: Frame 18:所抓帧的序号是11,大小是409字节 Ethernet :以太网,有线局域网技术,属链路层 Inernet Protocol:即IP协议,也称网际协议,属网络层 Transmisson Control Protocol:即TCP协议,也称传输控 制协议。属传输层 Hypertext transfer protocol:即http协议,也称超文本传 输协议。属应用层 图形下面的数据是对上面数据的16进制表示。

2、分析上图中的http请求报文 报文分析: 请求行: GET /img/2009people_index/images/hot_key.gif HTTP/1.1 方法字段/ URL字段/http协议的版本 我们发现,报文里有对请求行字段的相关解释。该报文请求的是一个对象,该对象是图像。 首部行: Accept: */* Referer: https://www.doczj.com/doc/7418899316.html,/这是网站网址 Accept-Language: zh-cn 语言中文 Accept-Encoding: gzip, deflate 可接受编码,文件格式User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Window s NT 5.1; SV1; CIBA; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30; 360SE) 用户代理,浏览器的类型是Netscape浏览器;括号内 是相关解释 Host: https://www.doczj.com/doc/7418899316.html,目标所在的主机 Connection: Keep-Alive 激活连接 在抓包分析的过程中还发现了另外一些http请求报文中所特有的首部字段名,比如下面http请求报文中橙黄色首部字段名:

如何理解wireshark抓取的数据包含义之“Understanding TCP Sequence and Acknowledgment Numbers”

Understanding TCP Sequence and Acknowledgment Numbers By stretch | Monday, June 7, 2010 at 2:15 a.m. UTC If you're reading this, odds are that you're already familiar with TCP's infamous "three-way handshake," or "SYN, SYN/ACK, ACK." Unfortunately, that's where TCP education ends for many networkers. Despite its age, TCP is a relatively complex protocol and well worth knowing intimately. This article aims to help you become more comfortable examining TCP sequence and acknowledgment numbers in the Wireshark packet analyzer. Before we start, be sure to open the example capture in Wireshark and play along. The example capture contains a single HTTP request to a web server, in which the client web browser requests a single image file, and the server returns an HTTP/1.1 200 (OK) response which includes the file requested. You can right-click on any of the TCP packets within this capture and select Follow TCP Stream to open the raw contents of the TCP stream in a separate window for inspection. Traffic from the client is shown in red, and traffic from the server in blue. The Three-Way Handshake TCP utilizes a number of flags, or 1-bit boolean fields, in its header to control the state of a connection. T he three we're most interested in here are: ?SYN - (Synchronize) Initiates a connection ?FIN - (Final) Cleanly terminates a connection ?ACK - Acknowledges received data As we'll see, a packet can have multiple flags set.

实验七 FTP报文格式及协议分析

实验七FTP报文格式及协议分析 【实验目的】 1、理解FTP的基本工作原理和工作过程; 2、熟悉常用的FTP命令。 【实验内容】 1、分析FTP报文的结构,熟悉各个字段的内容、功能、格式和取值范围; 2、单个或批量发送已经编辑好的FTP报文; 3、分析FTP的会话过程。 【实验原理】 FTP的连接 常用的文件传送协议包括FTP和TFTP,它们都是文件共享协议中的一个大类,即复制整个文件,其特点是:如果要存取一个文件,就必须先获得一个本地的文件副本。如果要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回到原结点。 FTP和其它C/S应用程序的不同是它在主机之间建立两条连接,一条连接用于数据传送,另一条连接用于传送控制信息(命令和响应)。FTP使用TCP的服务,熟知端口21用于控制连接,熟知端口20用于数据连接。 控制连接的步骤如下: ●服务器在熟知端口21发出被动打开,等待客户; ●客户使用临时端口发出主动打开。 数据连接的创建过程与其它不同,其步骤如下: ●客户使用临时端口发出被动打开; ●客户使用PORT命令把这个端口号发送到服务器; ●服务器收到端口号,并使用熟知端口20和收到的临时端口号发出打开。 FTP的通信 在异构计算机上运行的FTP客户和服务器必须进行通信,这两台计算机可以使用不同的操作系统、不同的字符集、不同的文件结构以及不同的文件格式,FTP必须使这种异构性得到兼容。通过控制连接的通信使用NVT ASCII字符集,通信通过命令和响应来完成。通过数据连接的通信遇到的异构问题由定义三个通信属性来解决: ●文件类型,FTP能够在数据连接上传送下列文件类型中的一种:ASCII文件、 EBCIDIC文件和图像文件,图像文件是一个二进制文件。

实验四、使用Wireshark网络分析器分析数据包

实验四、使用Wireshark网络分析器分析数据包 一、实验目的 1、掌握Wireshark工具的安装和使用方法 2、理解TCP/IP协议栈中IP、TCP、UDP等协议的数据结构 3、掌握ICMP协议的类型和代码 二、实验内容 1、安装Wireshark 2、捕捉数据包 3、分析捕捉的数据包 三、实验工具 1、计算机n台(建议学生自带笔记本) 2、无线路由器n台 四、相关预备知识 1、熟悉win7操作系统 2、Sniff Pro软件的安装与使用(见Sniff Pro使用文档)

五、实验步骤 1、安装Wireshark Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。网络包分析工具是一种用来测量有什么东西从网线上进出的测量工具,Wireshark 是最好的开源网络分析软件。 Wireshark的主要应用如下: (1)网络管理员用来解决网络问题 (2)网络安全工程师用来检测安全隐患 (3)开发人员用来测试协议执行情况 (4)用来学习网络协议 (5)除了上面提到的,Wireshark还可以用在其它许多场合。 Wireshark的主要特性 (1)支持UNIX和Windows平台 (2)在接口实时捕捉包 (3)能详细显示包的详细协议信息 (4)可以打开/保存捕捉的包 (5)可以导入导出其他捕捉程序支持的包数据格式

(6)可以通过多种方式过滤包 (7)多种方式查找包 (8)通过过滤以多种色彩显示包 (9)创建多种统计分析 五、实验内容 1.了解数据包分析软件Wireshark的基本情况; 2.安装数据包分析软件Wireshark; 3.配置分析软件Wireshark; 4.对本机网卡抓数据包; 5.分析各种数据包。 六、实验方法及步骤 1.Wireshark的安装及界面 (1)Wireshark的安装 (2)Wireshark的界面 启动Wireshark之后,主界面如图:

实验9_使用Wireshark分析FTP协议 V1

实验九使用Wireshark分析FTP协议 一、实验目的 分析FTP协议 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。三、实验步骤 HTTP和FTP都可以用来通过网络传输对象和文件,但它们的工作方式截然不同。HTTP侧重于传送立即浏览的文件或供暂时高速缓存于客户端的文件。HTTP还侧重于表达那些包含了用于规定文件格式的首部信息,以便让浏览器能正确解释内容。而FTP却更侧重于专门进行数据传输,让用户自己去决定文件在本机上的存储时间和如何处理数据。 FTP是一种有状态的协议。FTP客户端与服务器建立一个持续的会话,并通过这个会话发送多个请求。启动会话要输入用户名和密码,然而许多FTP服务器允许公开访问,即客户端可以使用匿名登录(anonymous)及随意设置的密码连接。 一旦建立连接,对FTP会话的操作类似命令行下的操作,用户在提示符下操作,并能浏览一些文件和目录。用户在浏览目录时,FTP服务器保持对用户目录位置的跟踪。用户还可以请求从服务器获取文件或向服务器存储文件,对这些请求的解释与当前工作的目录有关。 FTP总是为正在进行的控制通道维持一个TCP连接,然后建立一个独立的用于数据传输的TCP连接。控制通道通常建立在从客户端到FTP服务器端口21的连接,它用于描述每一个使用中的数据通道的属性,包括客户端或服务器是否启动传输,以及用什么IP地址和端口连接。 用RFC-Editor搜索功能找到定义FTP协议的RFC文档。搜索结果表明该RFC文档在URL ftp://https://www.doczj.com/doc/7418899316.html,/in-notes/rfc 959.txt找到。如果你在浏览器窗口中输入以ftp://开头的URL,那么它将作为FTP客户端来获取想要的文件。 1、俘获FTP分组 (1)启动Wireshark嗅探器。 (2)浏览器地址栏中输入如下网址:ftp://https://www.doczj.com/doc/7418899316.html,

TCP-IP协议抓包分析实验报告

TCP协议分析实验 学号: 姓名: 院系: 专业:

一.实验目的 学会使用Sniffer抓取ftp的数据报,截获ftp账号及密码,并分析TCP 头的结构、分析TCP的三次“握手”和四次“挥手”的过程,熟悉TCP 协议工作方式。 二.实验(软硬件以及网络)环境 利用VMware虚拟机建立网络环境,并用Serv-U FTP Server在计算机上建立FTP服务器,用虚拟机进行登录。 三.实验工具 sniffer嗅探器,VMware虚拟机,Serv-U FTP Server。 四.实验基本配置 Micrsoft Windows XP操作系统 五.实验步骤 1.建立网络环境。 用Serv-U FTP Server在计算机上建立一台FTP服务器,设置IP地址 为:,并在其上安装sniffer嗅探器。再并将虚拟机作为一台FTP客户 端,设置IP地址为:。设置完成后使用ping命令看是否连通。 2.登录FTP 运行sniffer嗅探器,并在虚拟机的“运行”中输入,点确定后出现 如下图的登录窗口: 在登录窗口中输入:用户名(hello),密码(123456)【在Serv-U FTP Server中已设定】,就登录FTP服务器了。再输入“bye”退出FTP 3.使用sniffer嗅探器抓包 再sniffer软件界面点击“stop and display”,选择“Decode”选 项,完成FTP命令操作过程数据包的捕获。 六.实验结果及分析 1.在sniffer嗅探器软件上点击Objects可看到下图:

再点击“DECODE(反解码)”按钮进行数据包再分析,我们一个一个的分析数据包,会得到登录用户名(hello)和密码(123456)。如下图: 2. TCP协议分析 三次握手: 发报文头——接受报文头回复——再发报文(握手)开始正式通信。

wireshark实验抓包分析

TCP:(TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP 是面向连接的所以只能用于点对点的通讯)源IP地址:发送包的IP地址;目的IP地址:接收包的IP地址;源端口:源系统上的连接的端口;目的端口:目的系统上的连接的端口。 TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN,ACK。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。第一次握手:建立连接时,客户端发送SYN包(SEQ=x)到服务器,并进入SYN_SEND状态,等待服务器确认。第二次握手:服务器收到SYN包,必须确认客户的SYN(ACK=x+1),同时自己也送一个SYN包(SEQ=y),即SYN+ACK包,此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=y+1),此包发送完毕,客户端和服务器进入Established状态,完成三次握手。 第一行:帧Frame1指的是要发送的数据块;其中,捕获字节等于传输的字节数 第二行:以太网,是数据链路层;源MAC地址是:00:19:c6:00:06:3d,目的MAC地址是:00:1c:25:d4:91:9a;第三行:IPV4,源IP地址:172.24.3.5;目的IP是:172.24.7.26; 第四行:协议类型:TCP;源端口bctp(8999),目的端口:2376;序列号:每发送一个RTP数据包,序列号就加1;ACK是TCP数据包首部中的确认标志,对已接收到的TCP报文进行确认,其为 1表示确认号有效;长度是1448字节; 第五行:数据总有1448字节; 其中,对应的TCP首部的数据信息: 端口号:数据传输的16位源端口号和16位目的端口号(用于寻找发端和收端应用进程); 该数据包相对序列号是1(此序列号用来确定传送数据的正确位置,且序列号,用来侦测丢失的包);下一个数据包的序列号是1449; Acknowledgement number是32位确认序号,其等于1表示数据包收到,确认其有效;收到的数据包的头字节长度是4位32比特; Flags含6个标志比特: URG紧急指针(urgentpointer)有效 ACK确认序号有效。 PSH接收方应该尽快将这个报文段交给应用层。 RST重建连接。 SYN同步序号用来发起一个连接。 FIN发端完成发送任务。 window:(TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个16bit字段,因而窗口大

Wireshark的数据包截获及协议分析

Wireshark的数据包截获与协议分析 1 引言 在数据包的截获方面,Winpcap 是一个可在 Windows 环境下运行的包俘获结构,它由三部分组成:一个数据包截获驱动程序、一个底层动态链接库(Packet.dll)和一个高层静态链接库(wpcap.lib)。它的核心部分是数据包俘获驱动程序,在 Windows NT/2000 系统中,它实现为一个内核驱动程序(packet.sys),在 Windows 95/98 系统中是一个虚拟设备驱动程序 (packet.vxd), 包俘获驱动程序通过NDIS(Network Driver Interface Specification)同网络适配器的驱动程序进行通信,NDIS 是网络代码的一部分,它负责管理各种网络适配器以及在适配器和网络协议软件之间的通信。在库的高层是一个动态链接库(packet.dll)和一个静态链接库 (wpcap.lib),这两个库的作用是将俘获应用程序同包俘获驱动程序相隔离,屏蔽低层的实现细节,避免在程序中直接使用系统调用或 IOCTL 命令,为应用程序提供系统独立的高层接口(API 函数),从而在 Windows9x、Windows2000/XP 系统下,对驱动程序的系统调用都是相同的。 使用 Winpcap,我们可以编写出用于网络协议实验分析、故障诊断、网络安全和监视等各种应用程序,这方面的一个典型例子就是可在 Windows 系统下运行的 Wireshark,Wireshark 和 Winpcap 都可从网上下载,通过 Wireshark 我们可以从网上拦截数据包并对

数据包进行网络协议分析,下面介绍一个分析实例。

相关主题
文本预览
相关文档 最新文档