利用Wireshark进行TCP协议分析
- 格式:doc
- 大小:787.00 KB
- 文档页数:6
wireshark 抓取tcp信息原理
Wireshark是一款常用的网络协议分析工具,可以用来抓取和分析网络中的数据包,包括TCP信息。
以下是使用Wireshark抓取TCP信息的基本原理:
1. 监听网络接口:Wireshark需要将网络接口(如以太网、WiFi等)置于
监听模式,以便捕获经过网络接口的数据包。
2. 过滤数据包:在抓取数据包时,Wireshark可以通过过滤器来限制抓取的数据包类型和范围,以便只捕获感兴趣的TCP数据包。
3. 分析TCP数据包:当TCP数据包经过网络接口时,Wireshark会捕获这些数据包并进行分析。
TCP协议的数据包结构包括源端口和目的端口、序列号、确认号、窗口大小等。
这些信息可以帮助Wireshark识别和分类TCP
数据包。
4. 显示结果:Wireshark会将抓取到的TCP数据包以易于理解的格式展示
在屏幕上,用户可以查看每个数据包的详细信息,如源IP地址、目的IP地址、端口号、序列号等。
通过以上步骤,用户可以使用Wireshark抓取和分析TCP信息,了解网络
中TCP数据包的传输情况,从而进行故障排除、性能分析和安全审计等操作。
实验五使用Wireshark分析TCP协议一、实验目的分析TCP协议二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、实验步骤1、TCP介绍(1)连接建立:TCP连接通过称为三次握手的三条报文来建立的。
在Wireshark中选择open->file,选择文件tcp_pcattcp_n1.cap,其中分组3到5显示的就是三次握手。
第一条报文没有数据的TCP报文段,并将首部SYN位设置为1。
因此,第一条报文常被称为SYN分组。
这个报文段里的序号可以设置成任何值,表示后续报文设定的起始编号。
连接不能自动从1开始计数,选择一个随机数开始计数可避免将以前连接的分组错误地解释为当前连接的分组。
观察分组3,Wireshark显示的序号是0。
选择分组首部的序号字段,原始框中显示“94 f2 2e be”。
Wireshark显示的是逻辑序号,真正的初始序号不是0。
如图1所示:图1:逻辑序号与实际初始序号SYN分组通常是从客户端发送到服务器。
这个报文段请求建立连接。
一旦成功建立了连接,服务器进程必须已经在监听SYN分组所指示的IP地址和端口号。
如果没有建立连接,SYN分组将不会应答。
如果第一个分组丢失,客户端通常会发送若干SYN分组,否则客户端将会停止并报告一个错误给应用程序。
如果服务器进程正在监听并接收到来的连接请求,它将以一个报文段进行相应,这个报文段的SYN位和ACK位都置为1。
通常称这个报文段为SYNACK分组。
SYNACK 分组在确认收到SYN分组的同时发出一个初始的数据流序号给客户端。
分组4的确认号字段在Wireshark的协议框中显示1,并且在原始框中的值是“94 f2 2e bf”(比“94 f2 2e be”多1)。
这解释了TCP的确认模式。
TCP接收端确认第X个字节已经收到,并通过设置确认号为X+1来表明期望收到下一个字节号。
分组4的序号字段在Wireshark的协议显示为0,但在原始框中的实际值却是“84 ca be b3”。
计算机网络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 浏览器访问我腾讯微博的首页/welcomeback.php?lv=1#!/list/qqfriends/5/?pgv_ref=im.perinfo.pe rinfo.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所示的客户机和服务器的三次握手的过程。
一、目的及要求:
1.了解wireshark软件的使用和过滤方法
2. 通过wireshark软件分析TCP协议的特点
二、实验步骤
1.下载wireshark软件并在Windows环境下安装
2. 掌握数据包的分析、过滤器的配置及过滤语法
3. 分析TCP协议
4. 通过Ping命令,使用wireshark分析ICMP数据包
三、实验内容:
1、选择物理网卡
Capture -> interface list -> start
2、启动新捕获
1) capture —> start
2) restart the running live capture
3、分析包列表、包详情、包字节中的内容
1) capture -> Options
2) 填写Capture Filter创建过滤器
Or
3) 单击Capture Filter按钮创建捕捉过滤器
1、主界面Fliter框内输入过滤器语法
2、单击主界面上的“Expression…”按钮,按提示逐步填写
6、分析TCP协议(三次握手)
1、甲方建立到乙方的连接
2、乙方确认甲方连接、同时建立到甲方连接
3、甲方确认乙方连接、同时开始传数据(从选定行开始依次为三次握手)
7、分析ping命令时的ICMP网络数据包
1) Echo ping request
2) Echo ping reply
3) Destination unreachable
4) who has ***?
…。
Wireshark抓包分析TCP.IP.UDP.ICMP报⽂格式(移动互联⽹⽅向)TCP 报⽂格式分析:TCP 报⽂段的报头有 10 个必需的字段和 1 个可选字段。
报头⾄少为 20 字节。
1)源端⼝(16位):标识发送报⽂的计算机端⼝或进程。
⼀个 TCP 报⽂段必须包括源端⼝号,使⽬的主机知道应该向何处发送确认报⽂。
2)⽬的端⼝(16位):标识接收报⽂的⽬的主机的端⼝或进程。
由抓包数据可得源端⼝号为12762,⽬的端⼝号为803)序号(也叫序列号)(32位):⽤于标识每个报⽂段,使⽬的主机可确认已收到指定报⽂段中的数据。
当源主机⽤于多个报⽂段发送⼀个报⽂时,即使这些报⽂到达⽬的主机的顺序不⼀样,序列号也可以使⽬的主机按顺序排列它们。
在建⽴连接时发送的第⼀个报⽂段中,双⽅都提供⼀个初始序列号。
TCP 标准推荐使⽤以 4ms 间隔递增 1 的计数器值作为这个初始序列号的值。
使⽤计数器可以防⽌连接关闭再重新连接时出现相同的序列号。
序列号表达达到2^32 - 1后⼜从0开始,当建⽴⼀个新的连接时,SYN标志为1,系列号将由主机随机选择⼀个顺序号由图可得现序列号为25e4d8a84)确认号(32位):⽬的主机返回确认号,使源主机知道某个或⼏个报⽂段已被接收。
如果 ACK 控制位被设置为 1,则该字段有效。
确认号等于顺序接收到的最后⼀个报⽂段的序号加 1,这也是⽬的主机希望下次接收的报⽂段的序号值。
返回确认号后,计算机认为已接收到⼩于该确认号的所有数据。
由图可得现确认号为59eafa0c5)数据偏移(⾸部长度)(4位)TCP 报⽂段的数据起始处距离 TCP 报⽂段的起始处有多远,即⾸部长度。
由于 TCP 报头的长度随 TCP 选项字段内容的不同⽽变化,因此报头中包含⼀个指定报头字段的字段。
该字段以 32 ⽐特为单位,所以报头长度⼀定是 32 ⽐特的整数倍,有时需要在报头末尾补 0 。
由抓包图有偏移量在0x50中,占4bit,0x50转化为⼆进制数0101 0000 所以偏移量是 0101=5,所以TCP报⽂⾸部长度为5* 4 = 20字节。
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目的端口号:8000udp报文长度为:28检验和:0x58d7数据长度:20 bytesUDP协议是一种无需建立连接的协议,它的报文格式很简单。
当主机中的DNS 应用程序想要惊醒一次查询时,它构造一个DNS查询报文段并把它给UDP,不需要UDP之间握手,UDP为报文加上首部字段,将报文段交给网络层。
第一次握手:从图中看出:源端口号:56770目的端口号:80序列号为:0首部长为: 32 bytesSYN为1表示建立连接成功当fin为1时表示删除连接。
第二次握手:从图中看出:源端口号是:80目的端口号为:56770序列号为:0ack为:1Acknowledgement为1表示包含确认的报文Syn为1表示建立连接。
第三次握手:从图中看出:源端口:56770目的端口:80序列号为:1ACK为:1首部长为:20bytesAcknowledgement为1表示包含确认的报文所以,看出来这是TCP连接成功了Tcp是因特网运输层的面向连接的可靠的运输协议,在一个应用进程可以开始向另一个应用进程发送数据前,这两个进程必须先握手,即它们必须相互发送预备文段,建立确保传输的参数。
发送报文:GET/HTTP/1.1:是请求一个页面文件HOST:是请求的主机名Connection:持续连接Accept: 收到的文件User-Agent : 浏览器的类型Accept-encoding: gzip ,deflate ,sdch限制回应中可以接受的内容编码值,指示附加内容的解码方式为gzip ,deflate ,sdch 。
《计算机网络基础》课程报告基于Wireshark的TCP和UDP报文分析院系:班级:学号:姓名:教师:2012年11月4日目录一 TCP连接时的三次握手 (3)二 TCP连接释放时的四次握手 (5)三 UDP报文分析 (7)3.1 UDP报文结构 (7)3.2 UDP检验和的计算 (7)四结束语 (9)一、TCP连接时的三次握手TCP 协议为终端设备提供了面向连接的、可靠的网络服务。
TCP在交换数据报文段之前要在发送方和接收方之间建立连接。
客户是连接的发起者,服务器是被动打开和客户进行联系。
具体的过程如下所述。
第一次握手:客户发送 SYN=1,seq=0的TCP报文给服务器Ps:客户的TCP向服务器发出连接请求报文段,其首部中的同步位SYN = 1。
序号 seq = 0,表明报文中未携带数据。
报文如下:源端口号:56644(56644)目的端口号:http(80)[Stream index: 0]Sequence number: 0 (relative sequence number)Header length: 32 bytesFlags: 0x02 (SYN)000. .... .... = Reserved: Not set...0 .... .... = Nonce: Not set.... 0... .... = Congestion Window Reduced (CWR): Not set.... .0.. .... = ECN-Echo: Not set.... ..0. .... = Urgent: Not set.... ...0 .... = Acknowledgement: Not set.... .... 0... = Push: Not set.... .... .0.. = Reset: Not set.... .... ..1. = Syn: Set.... .... ...0 = Fin: Not setWindow size: 8192Checksum: 0x1030 [validation disabled]Options: (12 bytes)第二次握手:服务器发送SYN=1,ACK=1,seq=0的TCP报文给客户Ps:服务器的TCP收到客户发来的连接请求报文段后,如同意,则发回确认。
Wireshark抓包实验⼀、实验名称利⽤Wireshark抓包并分析 TCP/IP 协议⼆、实验⽬的通过实验,了解和掌握报⽂捕获⼯具 Wireshark 的使⽤⽅法和基本特点,使⽤ Wireshark 捕获⽹络报⽂,并分析各种⽹络协议的报⽂格式和⼯作过程。
三、实验内容使⽤ Wireshark 捕获⽹络报⽂,分析以太⽹、ARP、IP、TCP、DNS 和 HTTP 等协议的报⽂格式和⼯作过程。
四、实验步骤DNS分析在 cmd 下运⾏:nslookup –type=Anslookup –type=NS nslookup –type=MX nslookup –type=A 然后⽤Wireshark捕获报⽂并分析DNS和UDP协议的报⽂格式和⼯作过程。
ICMP分析在cmd下运⾏pingtracert然后⽤Wireshark捕获报⽂并分析 ICMP 报⽂格式和⼯作过程。
TCP/IP分析a) 在浏览器输⼊ ⽹址后,然后⽤ Wireshark 捕获报⽂并分析HTTP,TCP,IP,ARP和以太⽹等协议的报⽂格式和⼯作过程。
b) 运⾏各⾃编写的 UDP 和 TCP 客户/服务器程序并进⾏抓包分析。
五、实验结果及分析(⼀)DNS分析通过ipconfig命令查看IP、⽹关地址IP地址192.168.43.217默认⽹关192.168.43.1DNS报⽂格式DNS分析⼤体相同,就选择其⼀进⾏分析1.在cmd下运⾏nslookup -type=A ⾮权威应答:110.53.188.133 113.247.230.248 202.197.9.133应答服务器地址为192.168.43.1,为默认⽹关地址利⽤wireshark进⾏抓包分析,筛选DNS报⽂,本次运⾏有4个DNS报⽂,可以看出对应请求包和响应包的源IP与⽬的IP刚好相反。
Query这是⼀个请求报⽂。
⾸先主机发送⼀个 DNS 报⽂。
DNS 采⽤ UDP 协议⽀持。
实验3 Wireshark抓包分析TCP和UDP协议一、实验目的1、通过利用Wireshark抓包分析TCP和UDP报文,理解TCP和UDP报文的封装格式.2、理解TCP和UDP的区别。
二、实验环境与因特网连接的计算机网络系统;主机操作系统为windows;使用Wireshark、IE等软件。
三、实验原理1、wireshark是非常流行的网络封包分析软件,功能十分强大。
可以截取各种网络封包,显示网络封包的详细信息。
2、TCP则提供面向连接的服务。
在传送数据之前必须先建立连接,数据传送结束后要释放连接。
TCP的首部格式为:3.UDP则提供面向非连接的服务。
UDP的首部格式为:四、实验步骤1.如图所示这是TCP的包,下面蓝色的是TCP中所包含的数据。
由截图可以看出来TCP报文中包含的各个数据,TCP报文段(TCP报文通常称为段或TCP报文段),与UDP数据报一样也是封装在IP中进行传输的,只是IP报文的数据区为TCP报文段。
这是TCP的源端口号目的端口号10106序列号是167确认端口号50547头长度20字节窗口长度64578校验合0x876e五、实验内容1.找出使用TCP和UDP协议的应用。
2.利用wireshark抓获TCP数据包。
3.分析TCP数据包首部各字段的具体内容,画出TCP段结构,填写其中内容。
4.利用wireshark抓获UDP数据包。
5.分析UDP数据包首部各字段的具体内容,画出UDP段结构,填写其中内容。
6.找出TCP建立连接的一组数据包,指出其中的序号和确认号变化。
7.找出TCP关闭连接的一组数据包,指出其中的标志字段数值。
tcp ip协议实验报告《TCP/IP协议实验报告》一、实验目的本次实验旨在通过实际操作,加深对TCP/IP协议的理解,掌握其基本原理和工作机制。
二、实验环境1. 操作系统:Windows 102. 软件工具:Wireshark、Putty三、实验内容1. 使用Wireshark监测网络数据包利用Wireshark工具,实时监测网络数据包的传输过程,观察数据包的结构和传输规则,以及TCP/IP协议的工作流程。
2. 使用Putty进行远程连接通过Putty工具,进行远程连接实验,模拟TCP/IP协议在网络通信中的应用场景,了解TCP/IP协议在远程通信中的工作原理。
3. 分析网络数据包结合Wireshark抓包结果和Putty远程连接实验,分析网络数据包的传输过程,探讨TCP/IP协议的数据传输机制,包括数据封装、传输流程和错误处理等方面的内容。
四、实验结果1. 通过Wireshark监测数据包,了解了TCP/IP协议的数据包格式和传输规则,包括TCP头部、IP头部等内容。
2. 利用Putty进行远程连接,实际体验了TCP/IP协议在远程通信中的应用,加深了对TCP/IP协议工作原理的理解。
3. 分析网络数据包,深入探讨了TCP/IP协议的数据传输机制,包括数据封装、传输流程和错误处理等方面的内容。
五、实验总结通过本次实验,我们对TCP/IP协议有了更深入的了解,掌握了其基本原理和工作机制,加强了对网络通信协议的理解和应用能力。
同时,通过实际操作,我们也发现了一些问题和不足之处,为今后的学习和实践提供了一定的参考和指导。
六、参考文献1. 《TCP/IP协议详解》2. 《计算机网络》通过本次实验,我们对TCP/IP协议有了更深入的了解,掌握了其基本原理和工作机制,加强了对网络通信协议的理解和应用能力。
同时,通过实际操作,我们也发现了一些问题和不足之处,为今后的学习和实践提供了一定的参考和指导。
希望通过不断的实践和学习,能够进一步提高对TCP/IP协议的理解和运用能力,为今后的网络通信工作打下坚实的基础。
wireshark抓包分析——TCPIP协议本⽂来⾃当我们需要跟踪⽹络有关的信息时,经常会说“抓包”。
这⾥抓包究竟是什么?抓到的包⼜能分析出什么?在本⽂中以TCP/IP协议为例,简单介绍TCP/IP协议以及如何通过wireshark抓包分析。
Wireshark 是最著名的⽹络通讯抓包分析⼯具。
功能⼗分强⼤,可以截取各种⽹络封包,显⽰⽹络封包的详细信息。
Wireshark下载安装,略。
注意,若在Windows系统安装Wireshark,安装成功后可能会出现Wireshark的两个图标,⼀个是Wireshark(中⽂版);另外⼀个是Wireshark Legacy (英⽂版)。
下⾯的内容会以Wireshark Legacy为例介绍。
打开Wireshark,开始界⾯如下:Wireshark捕获的是⽹卡的⽹络包,当机器上有多块⽹卡的时候,需要先选择⽹卡。
开始界⾯中的Interface List,即⽹卡列表,选择我们需要的监控的⽹卡。
点击Capture Options,选择正确的⽹卡,然后点击"Start"按钮, 开始抓包。
我们打开浏览器输⼊任意http⽹址,连接再关闭,⽐如:。
然后,我们回到Wireshark界⾯,点击左上⾓的停⽌按键。
查看此时Wireshark的抓包信息。
在看抓包信息之前,先简单介绍下Wireshark界⾯的含义。
其中,封包列表的⾯板中显⽰编号、时间戳、源地址、⽬标地址、协议、长度,以及封包信息。
封包详细信息是⽤来查看协议中的每⼀个字段。
各⾏信息分别对应TCP/IP协议的不同层级。
以下图为例,分别表⽰:传输层、⽹络层、数据链路层、物理层,⼀共四层。
如果有应⽤层数据会显⽰第五层,即⼀共会出现五层。
每⼀层都有⼀个字段指向上⼀层,表明上⼀层是什么协议。
这⼤概是因为发包的时候会在数据上依次加上应⽤层、传输层、⽹络层、链路层的头部,但是对⽅收到数据包后是从最底层(链路层)开始层层剥去头部解包的,所以在每层上有⼀个字段指向上层,表明上层的协议,对⽅就知道下⼀步该怎么解包了。
《TCP/IP协议分析》实验报告实验序号:3 实验项目名称:分析IPv4和IPv6 数据包20网工学号姓名专业、班实验地点指导教师实验时间2022-9-14 一、实验目的及要求,步骤和结果动手项目3-1:使用Wireshark软件查看IPv4数据包首部所需时间: 20 分钟。
项目目标:学习使用Wireshark软件查看IPv4数据包的首部。
过程描述:本项目介绍如何捕获网络上的一个数据包,选择一个特定的数据包,查看该数据包的IPv4首部。
你可以捕获自己的数据进行分析,或启动Wireshark 软件,打开从本书配套网站上下载的文件IPv4Fields.pcap,直接跳到第(8)步。
(1)启动Wireshark软件(单击“开始”,指向“所有程序”,然后单击Wireshark。
也可以单击“开始”,在“运行”对话框中输入"Wireshark", 然后单击“确定”按钮)。
(2)单击Capture菜单,然后单击Interfaces 菜单项,出现Capture Interfaces 窗口。
(3)可能会显示有多个网卡,选定一个在Packets栏显示了实时数据包的网卡,然后单击Start 按钮,出现Capturing窗口。
(4)打开一个命令提示符窗口(单击“开始”按钮,在“运行”对话框中输入cmd,然后单击“确定”按钮)。
(5) ping 本地网络中的计算机IPv4地址。
(6)在命令提示符窗口中输入exit命令并按Enter键,关闭命令提示符窗口。
(7)在Wireshark软件中,单击菜单栏上的Capture,然后单击Stop (或者单击工具栏上的Stop 图标)。
(8)在数据包列表面板(上部面板)中选择一个TCP数据包(9)在数据包详细内容面板(中部面板),展开Internet Protocol Version4, 如图所示。
(10)查看Version和Header lenght字段的值。
(11)展开Differentiated Services Field, 查看Total Length和ldentification字段的值,然后再收起它。
wireshark tcp 实验总结Wireshark是一款非常强大且开源的网络协议分析工具,可以捕获和分析网络数据包。
在进行Wireshark TCP实验时,我们主要研究了TCP协议的工作原理以及相关的网络性能指标。
实验目的:本次实验的主要目的是通过使用Wireshark工具来分析TCP协议的行为,了解TCP协议的工作原理以及网络性能指标,包括延迟、丢包等。
实验内容:实验内容包括使用Wireshark工具捕获TCP数据包、分析TCP连接的建立过程、计算网络延迟和丢包率等。
实验步骤:1.下载和安装Wireshark。
2.打开Wireshark工具,并选择要捕获数据包的网络接口。
3.开始捕获数据包,并进行相关设置,如过滤器设置。
4.运行需要分析的TCP应用程序,例如浏览器或FTP客户端。
5.停止捕获数据包,并保存捕获的数据包文件。
6.使用Wireshark分析捕获的数据包文件,查看TCP连接建立过程、延迟、丢包等信息。
实验结果:通过对Wireshark捕获的数据包进行分析,我们得到了一些有关TCP协议的有用信息:1. TCP连接的建立过程:通过分析捕获的数据包,我们可以看到TCP连接建立的三次握手过程,即客户端发送SYN,服务器回复SYN ACK,客户端再回复ACK,最终建立起TCP连接。
2.延迟与RTT:通过分析数据包的时间戳,我们可以计算出每个数据包的往返时间(RTT),从而得到网络的延迟情况。
可以观察到RTT 的变化情况,以及延迟对网络性能的影响。
3.丢包与重传:通过捕获的数据包,我们可以看到是否有丢包现象发生。
当发生丢包时,Wireshark会显示相应的重传数据包,以及丢包率等相关统计信息。
实验分析:通过进行Wireshark TCP实验,我们对TCP协议的工作原理以及网络性能有了更深入的了解:1. TCP连接建立过程是通过三次握手来实现的,确保了双方的同步和可靠性。
2.延迟是网络性能的一个重要指标,对于实时应用程序(如VoIP或视频流),低延迟是非常重要的。
实验4:利用W i r e s h a r k进行协议分析1、实验目的熟悉并掌握Wireshark的基本操作,了解网络协议实体间进行交互以及报文交换的情况。
2、实验环境➢Windows 9x/NT/2000/XP/2003➢与因特网连接的计算机网络系统➢分组分析器Wireshark:要深入理解网络协议,需要仔细观察协议实体之间交换的报文序列。
为探究协议操作细节,可使协议实体执行某些动作,观察这些动作及其影响。
这些任务可以在仿真环境下或在如因特网这样的真实网络环境中完成。
观察在正在运行协议实体间交换报文的基本工具被称为分组嗅探器(packet sniffer)。
顾名思义,一个分组嗅探器俘获(嗅探)计算机发送和接收的报文。
一般情况下,分组嗅探器将存储和显示出被俘获报文的各协议头部字段的内容。
图4-1 为一个分组嗅探器的结构。
图4-1 右边是计算机上正常运行的协议(在这里是因特网协议)和应用程序(如:w eb 浏览器和ftp 客户端)。
分组嗅探器(虚线框中的部分)是附加计算机普通软件上的,主要有两部分组成。
分组俘获库(packetcapture library)接收计算机发送和接收图4-1 分组嗅探器的结构的每一个链路层帧的拷贝。
高层协议(如:HTTP、FTP、TCP、UDP、DNS、IP 等)交换的报文都被封装在链路层帧中,并沿着物理媒体(如以太网的电缆)传输。
图1 假设所使用的物理媒体是以太网,上层协议的报文最终封装在以太网帧中。
分组嗅探器的第二个组成部分是分析器。
分析器用来显示协议报文所有字段的内容。
为此,分析器必须能够理解协议所交换的所有报文的结构。
例如:我们要显示图4-1 中HTTP 协议所交换的报文的各个字段。
分组分析器理解以太网帧格式,能够识别包含在帧中的IP 数据报。
分组分析器也要理解IP 数据报的格式,并能从IP 数据报中提取出TCP 报文段。
然后,它需要理解TCP 报文段,并能够从中提取出HTTP 消息。
Wireshark数据抓包分析之传输层协议(TCP协议)实验步骤⼀根据实验环境,本实验的步骤如下:1.在测试环境使⽤发包⼯具和Wireshark抓取TCP三次握⼿和四次断开的数据包。
2.详细分析TCP协议的三次握⼿以及四次断开。
任务描述:安装发包⼯具,并配置TCP客户端,服务端,与Wireshark配合使⽤此⼯具与分析UDP协议时相同,实验室环境中已经安装,在此再重复⼀遍,我们使⽤" TCP&UDP测试⼯具"来制作和发送TCP数据包。
双击测试者机器桌⾯的" TCP&UDP测试⼯具",会出现下图显⽰页⾯:下⾯我们需要配置TCP的服务端以及客户端。
1.配置服务器端选择10.1.1.33的机器,双击桌⾯的" TCP&UDP测试⼯具",右键点击服务器模式,在下拉列表中,选择创建服务器,如下图:选择"创建服务器"之后,会弹出服务器端⼝设置,本次使⽤默认⼯具给的6000端⼝即可,点击"确定"按钮。
点击"确定"按钮之后,在左侧的服务器模式列表中,会出现创建的列表,选择我们创建的服务器,右键点击,选择"启动服务器",即完成了服务器端的配置2.配置客户端选择10.1.1.142的机器,双击桌⾯的" TCP&UDP测试⼯具",右键点击客户端模式,在下拉列表中,选择"创建连接",如下图:在弹出的窗⼝中,选择TCP协议,服务器IP为10.1.1.33.端⼝6000,本机随意IP,如下图点击创建后,如下图,3.获取TCP数据包获取的TCP协议的数据包。
分为两部分,即TCP三次握⼿,四次断开的数据。
但在实际的操作中,可能遇到的情况较多,⽐如源IP和⽬的IP⽐较多,协议的帧号乱序等各种问题。
在此,我们教⼤家简单的过滤功能,着⾊功能⽅便过滤和查看。
Wireshark抓包及分析实验学生姓名:学号:___________________任务分配日期:______________课程名称:计算机组网技术WireShark实验报告: 用Wireshark完成计算机网络协议分析报告开始时间: __________报告截至日期: ______________一.实验的目的本次实验的目的就是要学会wireshark抓包软件的基本使用方法,wireshark抓包的基本过程,以及对所抓到的数据包进行详细的分析并能很好的李杰一些基本的数据的含义。
能达到对网络数据的基本的监控和查询的能力。
实验一802.3协议分析和以太网(一)实验目的1、分析802.3协议2、熟悉以太网帧的格式、了解ARP、ICMP、IP数据包格式实验步骤:1、捕获并分析以太帧(1)清空浏览器缓存(在IE窗口中,选择“工具/Internet选项/删除文件”命令)。
如下图(2)启动WireShark,开始分组捕获。
(3)在浏览器的地址栏中输入:/浏览器将显示华科大主页。
如下图所示:(4)停止分组捕获。
首先,找到你的主机向服务器发送的HTTP GET消息的Segment序号,以及服务器发送到你主机上的HTTP 响应消息的序号。
http的segement段序号是47 45 54如下图:由下图可以得到服务器发送到我主机上的http响应消息的序号是:由上图可知为44:1、你的主机的48位以太网地址(MAC地址)是多少?我的主机的mac地址是:2、目标MAC地址是服务器的MAC地址吗?如果不是,该地址是什么设备的MAC地址?不是服务器的MAC地址;该地址是网关的地址。
3、给出Frame头部Type字段(2字节)的十六进制值。
十六进制的值是08 00如图所示:4、在包含“HTTP GET”的以太网帧中,字符“G”的位置(是第几个字节,假设Frame头部第一个字节的顺序为1)?如果frame得头部为顺序1,则“G”的位置为67。
网络协议分析实验报告一、实验目的本实验旨在通过对网络协议的分析,加深对计算机网络通信的原理和机制的理解,提高网络安全意识和分析能力。
二、实验环境1. 实验平台:Wireshark2. 实验设备:笔记本电脑、路由器三、实验内容1. 抓包分析TCP协议数据包在实验过程中,我们首先通过Wireshark工具进行抓包,然后选择一个TCP协议的数据包进行分析。
通过分析数据包的各个字段,我们可以了解数据包的结构和传输过程,进一步理解TCP协议的工作原理。
2. 分析UDP协议数据包接着,我们选择了一个UDP协议的数据包进行分析。
UDP与TCP不同,是一种无连接的传输协议,具有数据传输快速、效率高的特点。
通过分析UDP数据包,我们可以看到其简单的数据包头格式和传输方式,了解UDP协议与TCP协议的区别和适用场景。
3. 检测网络攻击在实验中,我们还模拟了一些网络攻击行为,如ARP欺骗、SYN 洪水攻击等,通过Wireshark工具抓取攻击数据包,并分析攻击过程和特征。
这有助于我们了解网络安全威胁的种类和形式,提高网络安全防护意识。
四、实验结果通过分析TCP、UDP协议数据包和网络攻击数据包,我们深入了解了网络协议的工作原理和通信机制。
实验结果表明,Wireshark工具是一款强大的网络分析工具,可以帮助我们深入研究网络通信过程,提高网络攻击检测和防护能力。
五、实验总结通过本次实验,我们不仅对网络协议有了更深入的了解,而且增强了网络安全意识和分析能力。
在今后的学习和工作中,我们将继续深入研究网络协议,不断提升自己在网络领域的技术水平,为网络通信的安全和稳定贡献自己的力量。
六、实验感想本次网络协议分析实验让我们受益匪浅,通过亲自动手抓包分析和检测网络攻击,我们对计算机网络的运行机制和安全防护有了更清晰的认识。
希望通过不断努力和学习,我们能在网络领域取得更大的成就,为网络安全做出更大的贡献。
七、参考文献暂无。
以上为网络协议分析实验报告,感谢您的阅读。
利用Wireshark进行TCP协议分析
TCP报文首部,如下图所示:
1. 源端口号:数据发起者的端口号,16bit
2. 目的端口号:数据接收者的端口号,16bit
3. 序号:32bit的序列号,由发送方使用
4. 确认序号:32bit的确认号,是接收数据方期望收到发送方的下一个报文段的序号,因此确认序号应当是上次已成功收到数据字节序号加1。
5. 首部长度:首部中32bit字的数目,可表示15*32bit=60字节的首部。
一般首部长度为20字节。
6. 保留:6bit, 均为0
7. 紧急URG:当URG=1时,表示报文段中有紧急数据,应尽快传送。
8. 确认比特ACK:ACK = 1时代表这是一个确认的TCP包,取值0则不是确认包。
9. 推送比特PSH:当发送端PSH=1时,接收端尽快的交付给应用进程。
10. 复位比特(RST):当RST=1时,表明TCP连接中出现严重差错,必须释放连接,再重新建立连接。
11. 同步比特SYN:在建立连接是用来同步序号。
SYN=1,ACK=0表示一个连接请求报文
段。
SYN=1,ACK=1表示同意建立连接。
12. 终止比特FIN:FIN=1时,表明此报文段的发送端的数据已经发送完毕,并要求释放传输连接。
13. 窗口:用来控制对方发送的数据量,通知发放已确定的发送窗口上限。
14. 检验和:该字段检验的范围包括首部和数据这两部分。
由发端计算和存储,并由收端进行验证。
15. 紧急指针:紧急指针在URG=1时才有效,它指出本报文段中的紧急数据的字节数。
16.选项:长度可变,最长可达40字节
TCP的三次握手和四次挥手:
第一次握手数据包
客户端发送一个TCP,标志位为SYN,序列号为0,代表客户端请求建立连接。
如下图
第二次握手的数据包
服务器发回确认包, 标志位为SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图
第三次握手的数据包
客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图:
四次挥手Four-way Handshake
四次挥手用来关闭已建立的TCP连接
1. (Client) –> ACK/FIN –> (Server)
2. (Client) <–ACK <–(Server)
3. (Client) <–ACK/FIN <–(Server)
4. (Client) –> ACK –> (Server)
第一次挥手:客户端给服务器发送TCP包,用来关闭客户端到服务器的数据传送。
将标志位FIN和ACK置为1,序号为X=1,确认序号为Z=1
服务器收到FIN后,发回一个ACK(标志位ACK=1),确认序号为收到的序号加1,即X=X+1=2。
序号为收到的确认序号=Z。
服务器关闭与客户端的连接,发送一个FIN。
标志位FIN和ACK置为1,序号
为Y=1,确认序号为X=2。
客户端收到服务器发送的FIN之后,发回ACK确认(标志位ACK=1),确认序号为收到的序号加1,即Y+1=2。
序号为收到的确认序号X=2。