wireshark分析tcp协议
电子科大网络安全实验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请求中的报⽂,并分析报⽂中各字段的含义,记录实验结果和数据。
电子科大网络安全实验2 Wireshark抓包分析实验完整分析
实验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请求中的报文,并分析报文中各字段的含义,记录实验结果和数据。
四、实验步骤1、打开wireshark,点击“start”开始抓包,并打开浏览器输入①分析TCP协议建立的三次握手过程,并进行报文分析;②使用Wireshark软件分析HTTP报文内容:2、利用wireshark软件捕获Ping请求中的报文,并分析报文中各字段的含义,记录实验结果和数据。
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抓包分析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抓包实验
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 协议⽀持。
Wireshark理解TCP乱序重组和HTTP解析渲染
Wireshark理解TCP乱序重组和HTTP解析渲染TCP数据传输过程TCP乱序重组原理HTTP解析渲染TCP乱序重组TCP具有乱序重组的功能。
(1)TCP具有缓冲区(2)TCP报⽂具有序列号所以,对于你说的问题,⼀种常见的处理⽅式是:TCP会先将报⽂段3缓存下来,当报⽂段2到达时,再根据序列号进⾏拼接。
2 当然缓冲区也有满的时候,这时接收端会直接丢弃报⽂,不做任何其他处理;发送⽅的定时器发现迟迟收不到接收⽅丢弃报⽂的确认号(ack number),就会重传该报⽂。
这就是TCP的超时重传功能Sequence Number是包的序号,⽤来解决⽹络包乱序(reordering)问题。
Acknowledgement Number就是ACK——⽤于确认收到,⽤来解决不丢包的问题。
MTU: Maxitum Transmission Unit 最⼤传输单元MSS: Maxitum Segment Size 最⼤分段⼤⼩对于建链接的3次握⼿,主要是要初始化Sequence Number 的初始值。
通信的双⽅要互相通知对⽅⾃⼰的初始化的Sequence Number(缩写为ISN:Inital Sequence Number)——所以叫SYN全称Synchronize Sequence Numbers。
也就上图中的 x 和 y。
这个号要作为以后的数据通信的序号,以保证应⽤层接收到的数据不会因为⽹络上的传输的问题⽽乱序(TCP会⽤这个序号来拼接数据)。
⽹络⽂件时流量巨⼤,出现很多TCP segment of a reassembled PDU其实主机响应⼀个查询或者命令时如果要回应很多数据(信息)⽽这些数据超出了TCP的最⼤MSS时,主机会通过发送多个数据包来传送这些数据(注意:这些包并未被分⽚)。
对wireshark来说这些对相应同⼀个查询命令的数据包被标记了“TCP segment of a reassembled PDU”问题,wireshark如何识别多个数据包是对同⼀个查询数据包的响应?wireshark是根据sequence number来识别,这些数据包ACK number是相同的,当然number的数值与查询数据包中的next sequence number也是⼀样的。
wireshark抓包分析——TCPIP协议
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协议的不同层级。
以下图为例,分别表⽰:传输层、⽹络层、数据链路层、物理层,⼀共四层。
如果有应⽤层数据会显⽰第五层,即⼀共会出现五层。
每⼀层都有⼀个字段指向上⼀层,表明上⼀层是什么协议。
这⼤概是因为发包的时候会在数据上依次加上应⽤层、传输层、⽹络层、链路层的头部,但是对⽅收到数据包后是从最底层(链路层)开始层层剥去头部解包的,所以在每层上有⼀个字段指向上层,表明上层的协议,对⽅就知道下⼀步该怎么解包了。
Wireshark抓包实验报告.
第一次实验:利用Wireshark软件进行数据包抓取1.3.2 抓取一次完整的网络通信过程的数据包实验一,实验目的:通过本次实验,学生能掌握使用Wireshark抓取ping命令的完整通信过程的数据包的技能,熟悉Wireshark软件的包过滤设置和数据显示功能的使用。
二,实验环境:操作系统为Windows 7,抓包工具为Wireshark.三,实验原理:ping是用来测试网络连通性的命令,一旦发出ping命令,主机会发出连续的测试数据包到网络中,在通常的情况下,主机会收到回应数据包,ping采用的是ICMP协议。
四,验步骤:1.确定目标地址:选择作为目标地址。
2.配置过滤器:针对协议进行过滤设置,ping使用的是ICMP协议,抓包前使用捕捉过滤器,过滤设置为icmp,如图 1- 1图 1-13.启动抓包:点击【start】开始抓包,在命令提示符下键入ping , 如图 1-2图 1-2停止抓包后,截取的数据如图 1-3图 1-34,分析数据包:选取一个数据包进行分析,如图1- 4图1-4每一个包都是通过数据链路层DLC协议,IP协议和ICMP协议共三层协议的封装。
DLC协议的目的和源地址是MAC地址,IP协议的目的和源地址是IP地址,这层主要负责将上层收到的信息发送出去,而ICMP协议主要是Type和Code来识别,“Type:8,Code:0”表示报文类型为诊断报文的请求测试包,“Type:0,Code:0”表示报文类型为诊断报文类型请正常的包。
ICMP提供多种类型的消息为源端节点提供网络额故障信息反馈,报文类型可归纳如下:(1)诊断报文(类型:8,代码0;类型:0代码:0);(2)目的不可达报文(类型:3,代码0-15);(3)重定向报文(类型:5,代码:0--4);(4)超时报文(类型:11,代码:0--1);(5)信息报文(类型:12--18)。
1.4.1,TCP协议的分析实验一,实验目的:通过本次实验,掌握使用Wireshark抓取TCP协议的数据包的技能,能够在深入分析“TCP的三次握手”,TCP的四次挥手协议在网络数据流的基础上,进一步提高理论联系实践的能力。
tcpip协议分析_实验1_Wireshark安装和使用
《TCP/IP协议分析》实验报告实验序号:1 实验项目名称:Wireshark安装和使用20网工学号姓名专业、班实验地点指导教师实验时间2022-09-05一、实验目的、内容与步骤、实验结果分析1.动手项目1-1安装Wireshark项目目标:为本课程的需要安装Wireshark软件。
过程描述:本项目介绍在你的计算机上如何安装Wireshark协议分析器。
Wireshark 将自动安装WinPcap (一种捕获网络数据流的Windows驱动程序)。
安装完成2.动手项目1-2捕获基本数据包,查看基本数据包和统计信息项目目标:学习如何在Wireshark中捕获数据包,查看数据包的相关信息以及Wireshark的统计功能。
过程描述:本项目介绍如何使用Wireshark 捕获基本数据包。
然后,本项目介绍数据包中包含的信息,以及如何查看Wireshark的统计信息。
2.1显示数据流量2.2所捕获数据包的基本信息2.3在Protocal协议一栏看出Wireshark识别出的协议有:SSDP、ARP、LOOP、OSPF、ICMPv6等。
2.4Wireshark识别出的会话2.5查看Wireshark窗口中部数据包详情窗格的Ethernet II字段的相关值,以便识别将数据包发送到网络上的工作站的MAC地址(单击右向尖括号展开Ethernet II字段)2.6缓冲区中数据包的数据包长度分布分析:从图中看出,IPV4的协议UDP所占分组百分比最高,IPV6按字节百分比占比高在跟踪缓冲区中,IPV4数据包长度最常见。
2.7检查Wireshark窗口底部的数据包字节窗格,查看有关跟踪缓冲区内容的摘要信息。
滚动摘要信息,认识跟踪缓冲区中看到的通信类型。
2.8Wireshark每秒钟捕获数据包数量的图形展示3.动手项目1-3选择一个过滤器并捕获数据包项目目标:学习如何在Wireshark中选择过滤器过程描述:本项目介绍如何在Wiresharte中选择一个过滤器,以便限定捕获的数据包类型。
Wireshark数据抓包分析之传输层协议(TCP协议)
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⽐较多,协议的帧号乱序等各种问题。
在此,我们教⼤家简单的过滤功能,着⾊功能⽅便过滤和查看。
5.利用Wireshark抓包分析TCP报文
利用Wireshark抓包分析TCP报文
一、实验目的
通过利用Wireshark抓包分析TCP报文,理解TCP报文的封装格式.
二、实验环境
与因特网连接的计算机网络系统;主机操作系统为windows;使用Wireshark、IE等软件。
三、实验原理
1、wireshark是非常流行的网络封包分析软件,功能十分强大。
可以截取各种网络封包,显示网络封包的详细信息。
2、TCP则提供面向连接的服务。
在传送数据之前必须先建立连接,数据传送结束后要释放连接。
TCP的首部格式为:
四、实验内容
1.安装Wireshark。
2.利用wireshark抓获TCP数据包。
3.分析TCP数据包首部各字段的具体内容。
四、实验步骤
在实验的基础上,自己完成实验各步骤:
1.
2.
3.
4.
……
四、遇到的问题和解决方法
五、实验总结。
网络协议分析实验报告
网络协议分析实验报告一、实验目的本实验旨在通过对网络协议的分析,加深对计算机网络通信的原理和机制的理解,提高网络安全意识和分析能力。
二、实验环境1. 实验平台:Wireshark2. 实验设备:笔记本电脑、路由器三、实验内容1. 抓包分析TCP协议数据包在实验过程中,我们首先通过Wireshark工具进行抓包,然后选择一个TCP协议的数据包进行分析。
通过分析数据包的各个字段,我们可以了解数据包的结构和传输过程,进一步理解TCP协议的工作原理。
2. 分析UDP协议数据包接着,我们选择了一个UDP协议的数据包进行分析。
UDP与TCP不同,是一种无连接的传输协议,具有数据传输快速、效率高的特点。
通过分析UDP数据包,我们可以看到其简单的数据包头格式和传输方式,了解UDP协议与TCP协议的区别和适用场景。
3. 检测网络攻击在实验中,我们还模拟了一些网络攻击行为,如ARP欺骗、SYN 洪水攻击等,通过Wireshark工具抓取攻击数据包,并分析攻击过程和特征。
这有助于我们了解网络安全威胁的种类和形式,提高网络安全防护意识。
四、实验结果通过分析TCP、UDP协议数据包和网络攻击数据包,我们深入了解了网络协议的工作原理和通信机制。
实验结果表明,Wireshark工具是一款强大的网络分析工具,可以帮助我们深入研究网络通信过程,提高网络攻击检测和防护能力。
五、实验总结通过本次实验,我们不仅对网络协议有了更深入的了解,而且增强了网络安全意识和分析能力。
在今后的学习和工作中,我们将继续深入研究网络协议,不断提升自己在网络领域的技术水平,为网络通信的安全和稳定贡献自己的力量。
六、实验感想本次网络协议分析实验让我们受益匪浅,通过亲自动手抓包分析和检测网络攻击,我们对计算机网络的运行机制和安全防护有了更清晰的认识。
希望通过不断努力和学习,我们能在网络领域取得更大的成就,为网络安全做出更大的贡献。
七、参考文献暂无。
以上为网络协议分析实验报告,感谢您的阅读。
Wireshark网络抓包(三)——网络协议
Wireshark⽹络抓包(三)——⽹络协议⼀、ARP协议ARP(Address Resolution Protocol)地址解析协议,将IP地址解析成MAC地址。
IP地址在OSI模型第三层,MAC地址在OSI第⼆层,彼此不直接通信;在通过以太⽹发⽣IP数据包时,先封装第三层(32位IP地址)和第⼆层(48位MAC地址)的报头;但由于发送数据包时只知道⽬标IP地址,不知道其Mac地址,且不能跨越第⼆、三层,所以需要使⽤地址解析协议。
ARP⼯作流程分请求和响应:在dos窗⼝内“ping”某个域名抓取到的包:⼆、IP协议IP(Internet Protocol)互联⽹协议,主要⽬的是使得⽹络间能够互相通信,位于OSI第三层,负责跨⽹络通信的地址。
当以⼴播⽅式发送数据包的时候,是以MAC地址定位,并且需要电脑在同⼀⼦⽹络。
当不在同⼀⼦⽹络就需要路由发送,这时候就需要IP地址来定位。
同样在dos窗⼝内“ping”某个域名抓取到的包:三、TCP协议TCP(Transmission Control Protocol)传输控制协议,⼀种⾯向连接、可靠、基于IP的传输层协议,主要⽬的是为数据提供可靠的端到端传输。
在OSI模型的第四层⼯作,能够处理数据的顺序和错误恢复,最终保证数据能够到达其应到达的地⽅。
1)标志位SYN:同步,在建⽴连接时⽤来同步序号。
SYN=1, ACK=0表⽰⼀个连接请求报⽂段。
SYN=1,ACK=1表⽰同意建⽴连接。
FIN:终⽌,FIN=1时,表明此报⽂段的发送端的数据已经发送完毕,并要求释放传输连接。
ACK:确认,ACK = 1时代表这是⼀个确认的TCP包,取值0则不是确认包。
DUP ACK:重复,重复确认报⽂,有重复报⽂,⼀般是是丢包或延迟引起的,从这个报⽂看应该是丢包了。
URG:紧急,当URG=1时,表⽰报⽂段中有紧急数据,应尽快传送PSH:推送,当发送端PSH=1时,接收端尽快的交付给应⽤进程RST:复位,当RST=1时,表明TCP连接中出现严重差错,必须释放连接,再重新建⽴连接2)端⼝客户端与不同服务器建⽴连接时,源端⼝和⽬标端⼝可不同。
Wireshark抓包分析TCP协议
Wireshark抓包分析TCP协议之前一直听别人说Wireshark这个抓包软件,Leelom也跟我提过说面试的时候会问这些东西。
今天呢,参考别人的博文,结合抓包,将TCP/IP协议进行一些浅显的分析。
1. HTTP协议基本特征更加具体的说明需要重新写一篇博客来看。
参考基础认知TCP(Transmission Control Protocol,传输控制协议)是面向连接的、可靠的、基于字节流的在传输层上的通信协议。
这里想一下UDP,是无连接的、不可靠的(所以就像之前提到的一样,无连接的快节省时间,不用连接建立的时间)。
TCP/IP の 4层模型数据包封装情况TCP/IP分层结构跟OSI(Open System Interconnection)分7层不同。
如上面的图中,TCP/IP 协议下分为4层:应用层、传输层、网络层、数据链路层。
•应用层:向用户提供常用的应用程序。
比如电子邮件、文件传输、远程登录等。
TELNET 会话提供了基于字符的虚拟终端,FTP使用 FTP协议来提供网络内机器间的文件拷贝功能。
•传输层:传输层提供两台主机之间端到端的通信。
所谓的TCP/UDP协议就是跑在这一层。
•网络层:处理分组在网络中的活动。
可以理解为IP路由这些。
•链路层:链路层负责处理下层物理层的物理接口细节。
主要目的有: \ 1. 为上层IP模块接收和发送IP数据报 \ 2. 为ARP模块发送请求和完成接收 \ 3.为RARP模块。
层级功能图封装封装这个事情就好像寄快递一样。
之前上计网课那个张洪涛就是这么举例子的。
报文封装注意上图中的 appl 首部是说 application 层首部的意思。
按照上图一层层封装,直到经过以太网封装之后,就要通过网线或者其他的传输介质将此封装好的报文发送到另一端去。
另一端收到之后再一层层的把封装头剥离,最终拿到用户数据。
这里我们要明白一点就是上层对下层不负责,下层对上层隐身。
TCP/IP这里可以做这样的一个理解,就是TCP/IP协议是说二者协同一起工作。
tcp抓包Wireshark使用
tcp抓包Wireshark使用TCP抓包是网络管理员和分析师中常用的一种技术,用于捕获网络上的数据包并进行分析。
Wireshark是一个流行的开源网络协议分析工具,可以在多个平台上使用。
安装完成后,启动Wireshark。
打开Wireshark后,将弹出一个对话框,询问您要捕获哪个网络接口上的数据包。
在对话框的顶部,有一个下拉菜单列出可用的网络接口。
选择要进行抓包的网络接口。
如果您不确定应使用哪个接口,请选择默认接口。
在选择接口后,点击“Start”按钮开始抓包。
此时,Wireshark将开始捕获网络接口上的数据包。
实时捕获数据包后,Wireshark将在主窗口中显示捕获的数据包列表。
每个数据包的详细信息(如源和目的IP地址、源和目的端口等)将显示在列表中。
您可以通过单击列表中的数据包以查看其详细信息。
Wireshark提供了多个选项卡,用于查看和分析数据包的不同方面,如帧、协议、源和目的信息等。
除了捕获数据包外,Wireshark还提供了许多其他功能,如过滤数据包、统计和分析传输速率等。
为了更好地理解数据包的内容和流量,您可以使用Wireshark的过滤器功能。
过滤器允许您仅显示满足特定条件的数据包,从而减少对捕获到的大量数据包的处理。
要使用过滤器,请在Wireshark的过滤栏中键入特定的过滤条件,并按“Enter”键应用过滤器。
Wireshark将只显示满足过滤条件的数据包。
Wireshark还提供了许多高级功能,如统计和图形化分析网络流量、导出数据包等。
这些功能可以帮助您更好地理解网络中的通信模式和性能问题。
在分析和故障排除网络问题时,Wireshark往往是一项强大的工具。
它可以帮助您查看和分析数据包中的错误、重传、丢包等,以及识别与网络性能相关的问题。
总结一下,Wireshark是一个功能强大的网络协议分析工具,可用于捕获和分析网络中的数据包。
通过了解如何使用Wireshark来执行TCP抓包操作,您可以更好地了解和维护网络性能。
(完整)计算机网络-实验4-利用wireshark进行协议分析
实验4:利用Wireshark进行协议分析1、实验目的熟悉并掌握Wireshark的基本操作,了解网络协议实体间进行交互以及报文交换的情况。
2、实验环境➢Windows9x/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 消息。
TCP协议的流量分析与性能瓶颈排查方法
TCP协议的流量分析与性能瓶颈排查方法一、引言TCP协议是计算机网络中最常用的传输协议之一,它保证了网络数据的可靠传输。
然而,在实际的网络环境中,我们会面临各种各样的问题,如网络拥塞、性能瓶颈等。
本文将重点讨论TCP协议的流量分析与性能瓶颈排查方法。
二、流量分析1. 抓包工具的选择流量分析的第一步是选择合适的抓包工具。
Wireshark是一款广泛应用的抓包工具,它可以帮助我们捕捉网络数据包,并对其进行详细的分析。
虽然Wireshark功能强大,但在对大规模流量进行分析时可能会出现内存占用过高的问题。
因此,对于大规模流量的分析,我们可以考虑使用tcpdump等轻量级抓包工具。
2. 流量分析的关键指标在进行流量分析时,我们需要关注几个关键指标,以便深入了解网络状况。
这些指标包括带宽利用率、延迟、吞吐量等。
通过对这些指标的分析,我们可以发现流量异常、排查网络问题。
三、性能瓶颈排查方法1. MTU大小调整MTU(Maximum Transmission Unit)是指TCP协议在发送数据时所允许的最大数据量。
当网络中存在大量的数据包被分片传输时,会降低网络的性能。
因此,我们可以通过调整MTU的大小来优化网络性能。
一般情况下,我们可以将MTU设置为1500字节,但在特殊情况下,如VPN连接,我们可能需要将MTU设置为较小的值。
2. 排查拥塞问题网络拥塞是网络性能瓶颈的常见原因之一。
当网络中的流量超过其处理能力时,会出现拥塞现象,导致网络延迟增加、吞吐量下降等问题。
为了排查拥塞问题,我们可以使用网络性能监测工具,如iperf、nload等,来实时监测网络的吞吐量、带宽利用率等指标,并找出拥塞点。
3. 利用优化算法为了提高TCP协议的性能,我们可以使用一些优化算法,如拥塞控制算法、链路调整算法等。
例如,TCP Reno算法是一种常用的拥塞控制算法,它可以根据网络拥塞程度来调整发送速率。
另外,TCP协议还支持一些可选的拥塞控制算法,如TCP Vegas、TCP BIC等,可以根据实际情况选择合适的算法进行优化。
wireshark 规则
wireshark 规则Wireshark规则:网络数据包捕获和分析工具Wireshark是一款开源的网络数据包捕获和分析工具,可以帮助用户监控和分析网络流量。
它提供了丰富的功能和强大的过滤规则,让用户能够更加方便地分析网络数据包。
本文将介绍一些常用的Wireshark规则,帮助读者更好地使用Wireshark进行网络分析。
1. 捕获特定IP地址的数据包Wireshark可以通过设置过滤规则,只捕获特定IP地址的数据包。
例如,我们可以设置过滤规则"ip.addr == 192.168.1.1",来捕获源IP地址或目的IP地址为192.168.1.1的数据包。
这样可以帮助我们更精确地分析特定主机的网络流量。
2. 捕获特定协议的数据包Wireshark还可以通过设置过滤规则,只捕获特定协议的数据包。
例如,我们可以设置过滤规则"tcp",来捕获所有的TCP协议数据包。
同样地,我们也可以设置过滤规则"udp"来捕获所有的UDP协议数据包。
这样可以帮助我们更好地理解网络流量中各种协议的使用情况。
3. 捕获特定端口的数据包Wireshark可以通过设置过滤规则,只捕获特定端口的数据包。
例如,我们可以设置过滤规则"tcp.port == 80",来捕获目的端口为80的TCP数据包,即HTTP协议的数据包。
同样地,我们也可以设置过滤规则"udp.port == 53"来捕获目的端口为53的UDP数据包,即DNS协议的数据包。
这样可以帮助我们更深入地分析特定端口的网络流量。
4. 捕获特定MAC地址的数据包Wireshark还可以通过设置过滤规则,只捕获特定MAC地址的数据包。
例如,我们可以设置过滤规则"eth.addr == 00:11:22:33:44:55",来捕获源MAC地址或目的MAC地址为00:11:22:33:44:55的数据包。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WireShark分析TCP协议
韩承昊3172700 摘要:
利用wireshark分析TCP协议的报文,和其基本行为,包括三
次握手,中间信息的交互,和最后的断开连接。
其中通过中间信息的交互,可以看出TCP的累积式确认。
一:基本TCP报文分析
我们来看一个简单的TCP报文,现在蓝字选中的是源端口号,
我们可以看到在这个报文中是14065,下面对应的是相应的二进制代码,我们可以看到的确是16bit。
紧随其后的16bit就是目的端口号。
下面是序号,Sequence number: 1169。
接下来的32bit是确认号,Acknowledgement number: 19353。
再后面是首部长度,Header length: 20 bytes,和未用的3bit数据。
0= Urgent:Not set,1=Acknowledgement: set,0= Push:Not set,0= Reset:Not set,0= Syn:Not set,0= Fin:Not set,这些表示的是一些标识位,是URG紧急标识,ACK确认标识,PSH推送标识,RST、SYN、FIN用于建立和结束连接。
window size value:65535 表示接收窗口。
二:三次握手分析
三次握手的第一步,客户机端会向服务器端发送一个特殊的TCP报文段,这个报文段的SYN被置为1,并会发送一个起始序号seq。
我们看到SYN为1,且Sequence number=0,这样,面对这样的请求报文段,服务器听该返回一个SYN=1,返回自己的初始seq,并且要求主机发送下一个报文段的序号,ack=1。
下面是服务端实际返回的报文。
正如我们所期待的那样,服务器返回了自己的seq=0,并且要求主机端发送下一个报文段,并且SYN=1。
这样主机端就应该返回seq=1,ack=1,要求服务端发送下一个报文,并且SYN=0,结束建立连接阶段,结束三次握手。
主机端返回了seqence number=1,acknowledgement number=1,SYN=10。
这样三次握手就基本结束,开始真正的数据传送阶段。
三:信息的交互
建立了三次握手后,我们就开始利用这个链接来传送信息了。
下面我们看看经过三次握手后的第四个TCP报文段。
这是服务器返回来的报文段。
我们惊奇的发现服务器返回了ack=554,即请求第554Byte的数据,而这553Bytes是什么时候发出去的呢,我们想到了在第三
次握手的时候,客户端发送的TCP是能够携带数据的。
怎么验证是否携带了553Bytes数据呢,我们想到了HTTP协议封装的报文,我我们来验证一下是否是553Bytes,打开HTTP协议如下。
我们看到,HTTP协议封装的报文,长度为Bytes in flight:553。
表示已经发送了553Bytes,所以,服务器理应返回一个ack=554的确认,以表示接收到了553Bytes以前的数据,希望接受554bytes 以及以后的数据。
而上面的第四个报文也正是这么做的。
服务端返回了ack=554之后,服务端没有继续停下,而是继续向客户端发送了两个报文段。
我们来看下第五、六个报文段。
第五个报文段发送了seq=1,ack=554告诉服务端,请求你的554数据,我这是第一个数据,但此报文段里有1380bytes。
发完后服务端又发送了第六个报文,如下。
服务端发送了seq=1381,ack=554,TCP segment data=1380 Bytes,Bytes in flight=2760。
这表示:我请求第554Bytes,这是我的第1381 Bytes,报文段里一共有1380Bytes,一共传输了2760Bytes。
这次以后,服务端就暂时歇会了,等待客户端的确认。
客户端也确实返回了第七个报文段,如下。
seq=554,ack=2761.表示:这是我的第554Bytes,收到了前面
的2760个Bytes,请求2761个bytes。
这个报文之后,服务端会继续给客户端传送数据,这里就不一一列出了。
我们看到其中服务端多次发送给客户端报文段,而客户端只返回了一个当前正确传输的最大字段,我们可以初步看出TCP是累积式确认的。
四:断开连接
断开连接时,要发送FIN=1,并且对方要回复ACK=1。
我们来看下截取的报文段。
我们看到FIN=1。
.
返回了ACK=1,结束连接。