利用Wireshark进行TCP协议分析

合集下载

wireshark 抓取tcp信息原理

wireshark 抓取tcp信息原理

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协议(doc 6页)

使用Wireshark分析TCP协议(doc 6页)

实验五使用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抓包分析TCP和UDP

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 浏览器访问我腾讯微博的首页/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所示的客户机和服务器的三次握手的过程。

利用Wireshark分析TCP协议

利用Wireshark分析TCP协议

一、目的及要求:
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报文格式(移动互联网方向)

Wireshark抓包分析TCP.IP.UDP.ICMP报文格式(移动互联网方向)

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抓包分析实验报告

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目的端口号: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报文分析

基于wireshark的TCP和UDP报文分析

《计算机网络基础》课程报告基于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抓包实验

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 协议⽀持。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用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。

相关文档
最新文档