wireshark抓取TCP连接及断开实验
TCP连接过程及报文解析

TCP连接过程及报⽂解析可能⼤家都听过TCP建⽴连接时需要经历三次握⼿和四次挥⼿的。
那么具体的握⼿挥⼿的过程是怎么样的呢?这篇⽂章就通过WireShark抓包来了解TCP连接建⽴和断开的过程。
实验⽅法:写⼀段简单的代码代码客户端和服务端,分别部署,让客户端主动像服务器发起连接,随后断开。
让WireShark抓股这个过程中产⽣了哪些包,并对其分析。
(注:WireShark默认不⽀持LoopBack,需要将客户端和服务端分开部署,或是配置WireShark)。
⾸先,我们先来看⼀下连接建⽴和断开的过程中,产⽣了哪⼏个包。
从上图我们可以看到,正好是七个包,符合我们三次握⼿四次挥⼿的过程。
分析其过程,WireShark已经为我们解析了每个TCP包的标志位(之后会详细解释,主要⽤来区分每个包的⽤途)。
TCP建⽴连接:1).客户端向服务器发起建⽴连接请求(SYN)2).服务端收到后,像客户端回复⼀个建⽴连接请求的响应(SYN,ACK)3).客户端收到后,继续向服务端发送⼀个响应(ACK)三次握⼿完成,正式建⽴连接。
TCP断开连接1).断开发起⽅向另⼀⽅发送断开连接请求(FIN,ACK)2).另⼀⽅收到后,回复⼀个响应(ACK)3).再由另⼀⽅主动发送⼀个断开连接请求(FIN,ACK)4).断开发起⽅收到后,回复⼀个响应(ACK)四次挥⼿完成,断开SOCKET连接。
我们通过图⽚来加深⼀下印象:了解完过程,再让我们通过分析第⼀个包的内容,初步了解下TCP报⽂结构:我们可以看到整个消息帧是66个字节:1).该帧是⼀个以太⽹消息帧:分为⾸部和数据两个部分。
⾸部前六个字节(30 9c 23 bc 9d 80)表⽰⽬的地MAC地址后六个字节(30 9c 23 1c 0f 74)表⽰源MAC地址我们可以看到当数据在链路层中传输的时候,是由MAC地址标识定位的。
之后两个字节(08 00)表⽰上层协议类型(这⾥的0x 08 00表⽰的就是IP协议)剩余的52(66 - 6 - 6 - 2)个字节为数据部分,来承载上层协议(本例中为IP协议)的消息。
实验1:网络协议分析工具Wireshark的使用完成版

实验一:网络协议分析工具Wireshark的使用一、实验目的学习使用网络协议分析工具Wireshark的方法,并用它来分析一些协议。
二、实验原理和内容1、tcp/ip协议族中网络层传输层应用层相关重要协议原理2、网络协议分析工具Wireshark的工作原理和基本使用规则三、实验环境以及设备Pc机、双绞线四、实验步骤(操作方法及思考题)1.用Wireshark观察ARP协议以及ping命令的工作过程:(20分)(1)用“ipconfig”命令获得本机的MAC地址和缺省路由器的IP地址;(2)用“arp”命令清空本机的缓存;(3)运行Wireshark,开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包(提示:在设置过滤规则时需要使用(1)中获得的本机的MAC地址);(4)执行命令:“ping 缺省路由器的IP地址”;写出(1),(2)中所执行的完整命令(包含命令行参数),(3)中需要设置的Wireshark的Capture Filter过滤规则,以及解释用Wireshark所观察到的执行(4)时网络上出现的现象。
(1)ipconfig/all(2)arp –d arp –a(3)ether host F0:4D:A2:24:84:D6 and(icmp or arp)(4)ping 192.168.32.254如上图,为所截得的包,包里1、2、11、12都是arp报文,先用arp –d命令清空ARP 缓存。
通过广播来找到目的主机的mac地址。
3~10个icmp包是ping命令下的4个request 和reply报文。
2.用Wireshark观察tracert命令的工作过程:(20分)(1)运行Wireshark, 开始捕获tracert命令中用到的消息;(2)执行“tracert -d ”根据Wireshark所观察到的现象思考并解释tracert的工作原理。
Tracert先发送TTL为1的回应数据包,并在随后的每次发送过程将TTL递增1,直到目标响应或TTL 达到最大值,从而确定路由。
wireshark抓包实验报告

wireshark抓包实验报告Wireshark抓包实验报告1. 实验简介本次实验旨在通过使用Wireshark软件进行网络抓包,深入了解网络通信过程中的数据传输和协议交互。
通过分析抓包数据,我们可以了解网络流量的组成、协议的运作方式以及网络安全的相关问题。
2. 实验准备在进行实验之前,我们需要准备一台运行Wireshark软件的计算机,并连接到一个网络环境中。
Wireshark是一款开源的网络协议分析工具,可以在各种操作系统上运行。
安装并配置好Wireshark后,我们就可以开始进行抓包实验了。
3. 实验步骤3.1 启动Wireshark打开Wireshark软件,选择需要抓包的网络接口。
Wireshark会监听该接口上的所有网络流量,并将其显示在界面上。
3.2 开始抓包点击“开始”按钮,Wireshark开始抓取网络数据包。
此时,我们可以看到界面上实时显示的数据包信息,包括源地址、目标地址、协议类型等。
3.3 过滤抓包数据由于网络流量非常庞大,我们可以使用过滤器来筛选出我们感兴趣的数据包。
Wireshark提供了丰富的过滤器选项,可以根据协议、源地址、目标地址等条件进行过滤。
3.4 分析抓包数据选中某个数据包后,Wireshark会显示其详细信息,包括协议分层、数据字段等。
通过分析这些信息,我们可以了解数据包的结构和内容,进一步了解网络通信的细节。
4. 实验结果与讨论在实验过程中,我们抓取了一段时间内的网络流量,并进行了分析。
通过对抓包数据的观察和解读,我们得出了以下几点结果和讨论:4.1 协议分层在抓包数据中,我们可以清晰地看到各种协议的分层结构。
从物理层到应用层,每个协议都承担着不同的功能和责任。
通过分析协议分层,我们可以了解协议之间的关系,以及它们在网络通信中的作用。
4.2 数据传输过程通过分析抓包数据,我们可以追踪数据在网络中的传输过程。
我们可以看到数据包从源地址发送到目标地址的路径,了解中间经过的路由器和交换机等设备。
计算机网络wireshark-实验参考资料

《计算机网络原理》实验参考资料金可音2012.11.18湖南工业大学计算机与通信学院网络工程系总体要求一、实验目的1.学习并掌握网络协议分析软件Wireshark的使用方法,学会捕获网络上传输的协议数据单元,观察、分析网络协议首部。
2.加深理解以太网EthernetⅡ协议及其帧的语法(帧格式)和语义3.加深理解互联网IP协议及其数据报的语法(包格式)和语义4.加深理解互联网TCP协议及其报文段的语法(报文段格式)和语义5.加深理解互联网DNS服务及其报文的语法(报文格式)和语义6.加深理解互联网HTTP协议及其报文的语法(报文格式)和语义二、实验原理1.以太网MAC层EtherⅡ协议原理2.TCP/IP协议族中网络层、传输层、应用层相关协议原理3.网络协议分析工具Wireshark的工作原理和基本使用规则三、实验环境1.与因特网连接的计算机网络系统;2.主机操作系统为windows;3.主机上安装了WireShark、IE等软件。
四、实验内容访问百度主页,用WireShark工具捕获以下五个协议的有关协议数据单元,并分析以下五个协议:1.以太网EtherⅡ协议2.互联网IP层协议3.互联网UDP协议4.互联网DNS5.互联网HTTP五、实验步骤1.关闭所有上网的软件(如QQ等)2.在MSDOS下(1)使用ARP–d*命令清除自己电脑中MAC和IP映射表。
(2)用ipconfig /flushdns:清空本地的DNS解析器的缓存。
(3)P ing ,找出对应的IP地址,用来验证WireShark实验的结果3.启动web浏览器,清空浏览器缓存(在IE窗口中,选择“工具/Internet选项/删除文件”命令)。
4.启动网络协议分析软件WireShark,完成相关的设置(“capture-Optios”),开始捕获数据帧。
5.使用主机上的web浏览器,浏览百度主页()6.在Packet List Pane(列表面板/列表框)分别查看并分析相关的数据帧,查看并分析其中封装的有关协议的首部控制信息,完成以下五个实验报告。
Wireshark抓包实验

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 协议⽀持。
电子科大网络安全实验2Wireshark抓包分析实验完整分析

电⼦科⼤⽹络安全实验2Wireshark抓包分析实验完整分析实验2 Wireshark抓包分析实验⼀、实验原理TCP三次握⼿准则介绍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状态,完成三次握⼿。
HTTP协议介绍HTTP协议⽤于在Internet上发送和接收消息。
HTTP协议是⼀种请求-应答式的协议 ——客户端发送⼀个请求,服务器返回该请求的应答,所有的请求与应答都是HTTP包。
HTTP协议使⽤可靠的TCP 连接,默认端⼝是80。
HTTP的第⼀个版本是HTTP/0.9,后来发展到了HTTP/1.0,现在最新的版本是HTTP/1.1。
HTTP/1.1由RFC 2616 定义。
⼆、实验⽬的1、了解并会初步使⽤Wireshark,能在所⽤电脑上进⾏抓包。
2、了解IP数据包格式,能应⽤该软件分析数据包格式。
3、了解HTTP请求中的三次握⼿准则,并能利⽤该软件对该过程进⾏简要分析。
三、实验内容(1)安装wireshark软件,并使⽤该软件捕获HTTP请求中的报⽂,分析该过程中TCP建⽴连接的握⼿过程以及报头各字段的含义,记录实验结果和数据。
(2)尝试利⽤wireshark软件捕获Ping请求中的报⽂,并分析报⽂中各字段的含义,记录实验结果和数据。
wireshark抓包实验报告总结

wireshark抓包实验报告总结一、实验目的本次实验的主要目的是学习Wireshark抓包工具的使用方法,掌握网络通信过程中数据包的组成和解析方式,以及了解常见网络协议的运行机制。
二、实验环境本次实验使用的操作系统为Windows 10,使用Wireshark版本为3.4.6。
三、实验步骤1. 安装Wireshark软件并打开。
2. 选择需要抓包的网络接口,并开始抓包。
3. 进行相应的网络操作,例如访问网站、发送邮件等。
4. 停止抓包,并对捕获到的数据包进行分析和解析。
四、实验结果1. 抓取HTTP请求和响应数据包通过Wireshark抓取HTTP请求和响应数据包,可以轻松地了解HTTP协议在通信过程中所传输的信息。
例如,在访问一个网站时,可以看到浏览器向服务器发送GET请求,并获取到服务器返回的HTML 页面等信息。
同时还可以看到HTTP头部中所携带的信息,例如User-Agent、Cookie等。
2. 抓取TCP连接数据包通过Wireshark抓取TCP连接数据包,可以了解TCP协议在建立连接、传输数据和关闭连接时所涉及到的所有步骤。
例如,在进行FTP 文件传输时,可以看到TCP三次握手建立连接,以及文件传输过程中TCP的流量控制和拥塞控制等。
3. 抓取UDP数据包通过Wireshark抓取UDP数据包,可以了解UDP协议在通信过程中所涉及到的所有信息。
例如,在进行DNS域名解析时,可以看到DNS服务器返回的IP地址等信息。
五、实验总结通过本次实验,我学会了使用Wireshark抓包工具进行网络数据包分析的方法,并了解了常见网络协议的运行机制。
同时也发现,在网络通信过程中,数据包所携带的信息非常丰富,能够提供很多有用的参考和指导。
因此,在实际工作中,我们应该灵活运用Wireshark等工具进行网络数据包分析,并结合具体业务场景进行深入研究和分析。
wireshark抓包实验报告

wireshark抓包实验报告Wireshark抓包实验报告引言:网络是现代社会中不可或缺的一部分,人们在日常生活中几乎无时无刻不在使用网络。
然而,网络的复杂性使得网络问题的排查变得困难。
Wireshark作为一款强大的网络抓包工具,可以帮助我们深入分析网络数据包,从而更好地理解和解决网络问题。
本文将介绍Wireshark的基本原理和使用方法,并通过实际抓包实验来验证其功能和效果。
一、Wireshark的基本原理Wireshark是一款开源的网络协议分析工具,可以运行在多个操作系统上。
它通过捕获网络接口上的数据包,并将其解析成可读的形式,以便我们进行深入分析。
Wireshark支持多种协议,包括以太网、无线网络、TCP/IP等,使得我们能够全面了解网络通信的细节。
二、Wireshark的使用方法1. 下载和安装Wireshark可以从其官方网站上免费下载,根据自己的操作系统选择合适的版本进行安装。
安装完成后,打开Wireshark并选择要抓包的网络接口。
2. 抓包设置在开始抓包之前,我们需要进行一些设置以确保我们能够捕获到想要分析的数据包。
首先,我们可以设置抓包过滤器来过滤出特定的数据包,以减少不必要的干扰。
其次,我们可以选择是否启用深度分析,以获取更详细的协议信息。
3. 开始抓包一旦设置完成,我们可以点击“开始”按钮开始抓包。
Wireshark将开始捕获网络接口上的数据包,并将其显示在主界面上。
我们可以看到每个数据包的详细信息,包括源IP地址、目标IP地址、协议类型等。
4. 数据包分析Wireshark提供了丰富的功能和工具,使得我们可以对抓包的数据包进行深入分析。
我们可以通过点击每个数据包来查看其详细信息,并根据需要进行过滤、排序和搜索。
此外,Wireshark还提供了统计功能,帮助我们了解网络流量的情况。
三、实验验证为了验证Wireshark的功能和效果,我们进行了一次抓包实验。
实验中,我们使用Wireshark抓取了一段时间内的网络数据包,并进行了分析。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验目的:
1)掌握TCP连接建立的三次握手过程
2)理解TCP连接释放的四次握手过程
实验原理:
TCP协议工作原理参考TCP.PPT
Tcp显示过滤规则:
tcp.flags 显示包含TCP标志的封包。
tcp.flags.syn == 1显示包含TCP SYN标志的封包。
tcp.flags.syn == 1and tcp.flags.ack == 0 显示包含TCP SYN并且不包含ACK标志的封包。
tcp.flags.fin == 1and tcp.flags.ack == 1 显示包含TCP FIN和ACK标志的封包。
tcp.window_size == 0 && tcp.flags.reset != 1
主要设备、器材
1)已联网且运行Windows操作系统的计算机
2)协议分析软件Wireshark
实验步骤:
1)启动WireShark抓包
2)访问学校主页服务器,通过Wireshark捕获通信内容
3)分析TCP连接建立的三次握手和连接释放的四次握手过程
浏览网页,抓取三次握手的包,根据TCP包头格式将各字段取值填下来。
源IP:
目的IP:
源端口:
目的端口:
第一次握手:
找出第一次握手的数据包并截取对该数据包的展开图,根据截图填写横线内容。
替换上图
序号:
确认号:
数据偏移:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
窗口:
若只抓取第一次握手的数据包,则显示过滤器的规则为
并截图替换下图:
第二次握手:
找出第二次握手的数据包并截取对该数据包的展开图,根据截图填写横线内容。
替换上图
序号:
确认号:
数据偏移:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
窗口:
若只抓取第二次握手的数据包,则显示过滤器的规则为
并截图替换下图:(提示需要syn字段为1而ack 字段为1)
第三次握手:
找出第三次握手的数据包并截取对该数据包的展开图,根据截图填写横线内容。
替换上图
序号:
确认号:
数据偏移:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
窗口:
是否可以只抓取第三次握手的数据包,为什么? 若不能,如何确定是第三次握手的数
据包。
三次握手之后,客户端要请求服务器传送数据
第一次请求数据:
找出第一次请求的数据包并截取对该数据包的展开图,根据截图填写横线内容。
替换上图
序号:
确认号:
数据偏移:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
窗口:
你是如何确定是第一次的请求的数据包:
若通过过滤规则如何找出第一次的请求数据包:
服务器要传送数据给客户端
第一次回复数据:
找出第一次回复的数据包并截取对该数据包的展开图,根据截图填写横线内容。
替换上图
序号:
确认号:
数据偏移:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
窗口:
你是如何确定是第一次的回复的数据包:
若通过过滤规则如何找出第一次的回复数据包:
1、捕捉断开连接的数据包,显示过滤器的规则为
并截图替换下图:
根据截图内容填写:
第一次断开:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
第二次断开:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
3、捕捉RST置位的包,显示过滤器的规则为截图(RST置位)并填写横线
替换上图
序号:
确认号:
数据偏移:
URG:
ACK:
PSH:
RST:
SYN:
FIN:
窗口:
传输层TCP数据报结构详解
选取一条TCP数据包并截图,
填写各项的信息及作用
TCP数据报中依次包括以下信息:
1、Source Port:,表示。
该部分占个BIT。
2、Destination Port:,表示。
该部分
方减1。
A PUSH标志位,
B 复位标志位。
C 结束连接请求标志位。
D 确认标志位,
E 紧急数据标志
F 连接请求标志位。
a收到不属于本机的数据包,需要复位
b 发起连接的请求数据包
c 此数据包为应答数据包
d 有紧急数据,应立即进行传递
e 结束连接的请求数据包
f 此数据包应立即进行传递
BIT。
BIT,用十六进制表示。
BIT。
【思考问题】
1.试用具体例子说明为什么传输连接建立时要使用三次握手。
如不这样做可能会出现
什么情况。
答:我们知道,3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。
现在把三次握手改成仅需要两次握手,死锁是可能发生的。
作为例子,考虑计算机A 和B之间的通信,假定B给A发送一个连接请求分组,A收到了这个分组,并发送了确认应答分组。
按照两次握手的协定,A认为连接已经成功地建立了,可以开始发送数据分组。
可是,B在A的应答分组在传输中被丢失的情况下,将不知道A是否已准备好,不知道A建议什么样的序列号,B甚至怀疑A是否收到自己的连接请求分组。
在这种情况下,B认为连接还未建立成功,将忽略A发来的任何数据分组,只等待连接确认应答分组。
而A在发出的分组超时后,重复发送同样的分组。
这样就形成了死锁。
2.使用TCP对实时话音数据的传输有什么问题?使用UDP在传送数据文件时会有什么
问题?
答:1.如果语音数据不是实时播放(边接受边播放)就可以使用TCP,因为TCP传输可靠。
接收端用TCP讲话音数据接受完毕后,可以在以后的任何时间进行播放。
但假定是实时传输,则必须使用UDP。
3.UDP不保证可靠交付,但UCP比TCP的开销要小很多。
因此只要应用程序接受
这样的服务质量就可以使用UDP。
4.TCP在进行流量控制时是以分组的丢失作为产生拥塞的标志。
有没有不是因拥塞而
引起的分组丢失的情况?如有,请举出三种情况。
答:当IP数据报在传输过程中需要分片,但其中的一个数据报未能及时到达终点,而终点组装IP数据报已超时,因而只能丢失该数据报;IP数据报已经到达终点,但终点的缓存没有足够的空间存放此数据报;数据报在转发过程中经过一个局域网的网桥,但网桥在转发该数据报的帧没有足够的差错空间而只好丢弃。