精华内容
下载资源
问答
  • 2022-03-14 13:48:28

    如何定位到应用层的请求和返回的报文?

    在 Wireshark 界面中,我们很容易找到请求和返回的报文。比如这样:

    在这里插入图片描述
    我们只要选中请求报文,Wireshark 就会自动帮我们匹配到对应的响应报文,反过来也一样。从图上看,应用层请求(这里是 HTTP 请求)是一个向右的箭头,表示数据是进来的方向;应用层响应是一个向左的箭头,表示数据是出去的方向。

    只截到报文的一部分,这个问题有什么影响吗?

    有时候我们会遇到这种错误如下:
    在这里插入图片描述
    文件只抓取了一部分。

    造成这个报错的原因是,当时tcpdump程序并不是用CTRL+C等正常方式终止的,而是可能用了操作系统的SIGKILL信号,比如用了kill -9命令。这样的话,tcpdump就被强行终止了,导致一部分被抓取的报文还在内存中,还没来得及由tcpdump程序正常写入到pcap文件里。

    要避免这个报错,我们可以在停止 tcpdump 时,用正常退出的方式,比如 Ctrl+C,或者timeout 命令,或者 kill 但不要用 -9 作为参数。

    乱序一定会引起问题吗?

    乱序(Out-of-Order),也是我们时常能在 Wireshark 里看到的一类现象。它是否会是问题,这取决于乱序的严重程度。那乱序包达到什么程度,会引起问题呢?

    如果乱序报文达10%以上,就是严重的传输质量问题了,甚至可能导致传输失败,或者应用层的各种卡顿、报错等症状。所以,你可以统计一下乱序包的占比,如果它超过了 10%,就要重视了。

    更多相关内容
  • WireShark抓包报文结构分析

    千次阅读 2020-07-19 21:06:47
    由IETF的RFC 793定义TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接。 (图片来源于网络) 为了解报文结构,我就把上次抓的Telnet的报文拿出来分析了一下。...

    TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。由IETF的RFC 793定义TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接。

    (图片来源于网络)

    为了解报文结构,我就把上次抓的Telnet的报文拿出来分析了一下。具体如下:

    物理链路层中数据用电信号传输,对应0和1,一个信号为1 bit;报文中为16进制(0x表示),一个占4位(bit),一组占8 bit。

    最外层(Ethernet II,数据链路层封装)占用14*8=112 bit。

    其中6*8=48 bit(1-48 bit)为目的MAC地址;

    6*8=48 bit(49-96 bit)为源MAC地址;

    2*8=16 bit(97-112 bit)表示封装协议为IPv4。

    第二层(IP,网络层)占用20*8=160 bit。

    其中113-116 bit表示IP协议版本号为4,即IPv4;

    117-120 bit表示报文头长度共20字节(byte,1 byte=8 bit),占用80 bit长度;

    121-128 bit表示DS Field(区分服务域),占用8 bit,前6 bit为DSCP(区分服务代码点,即DS标记值),后2 bit为CU或ECN(显示拥塞通知),这两部分共同组成一个可扩展性相对较强的方法以此来保证IP的服务质量;

    129-144 bit表示总长度,此处为60,

    145-160 bit表示标识符

    161-176 bit表示标志和片移位,如果报文有分片相关属性,此处标志会变化;

    177-184 bit表示TTL值;

    185-192 bit表示内层封装协议,本报文中为TCP协议;

    193-208 bit表示头部校验和;

    209-240 bit表示源IP地址,转换为点分10进制即为10.1.1.2;

    241-272 bit表示目的IP地址,转换为点分10 进制即为10.1.1.2。

    第三层(TCP,传输层)占用剩余位。

    273-288 bit为源端口号;

    288-304 bit为目的端口号;

    305-336 bit为序列号,即TCP三次握手中的seq;

    337-368 bit为应答码,即TCP三次握手中的ack;

    369-384 bit为SYN标志位,即TCP三次握手中的SYN;

    385-400 bit为窗口大小;

    401-416 bit为校验和;

    417-432 bit为URG位,urgent机制,是用于通知应用层需要接收urgent data,在urgent data接收完成后,通知应用层urgent data数据接收完毕;

    433-592 bit为20bytes的各类options,其中:

    433-464 bit为MMS相关项,包含8 bit的类型(2为Maxium Segment Size,TCP一次传输发送的最大数据段长度),8 bit的长度,16bit的MMS值;

    465-472 bit为MOP相关项;

    473-496 bit为滑动窗口项;

    497-512 bit为允许SACK项(选择确认,TCP收到乱序数据后,会将其放入乱序队列中,然后发送重复ACK给对端。对端收到多个重复的ACK后,就会推测到可能发生了数据丢失,再重传数据。如果乱序的数据比较零散,则这种机制的效率会很低。使用SACK选项可以告知发包方收到了哪些数据,发包方收到这些信息后就会知道哪些数据丢失,然后立即重传缺失部分即可。这就大大提高了数据重传的速度。)

    513-592 bit为时间戳项,包含报文发送时间TSvla和接收端接收时间TSecr。(当发送端收到ACK Segment后,取出TSscr,和当前时间做算术差,即可完成一次RTT的测量。若非通过Timestamp Option来计算RTT,大部分TCP实现只会以“每个Window采样一次”的频率来测算RTT。因此通过Timestamp Option,可以实现更密集的RTT采样,使RTT的测算更精确。)

     

    然后我抓了一个本地访问远程主机的报文来对比一些关键位的信息,如下:

    可以看到是请求远程桌面的回包,由目的主机的3389回包。个别关键字段如下:

    最外层,因为跨三层转发,所有目的MAC地址为网关设备MAC地址,源MAC地址为服务器网卡信息,此处用的是一台安装VMWare ESXI的服务器上的虚拟机。

    网络层,可以看到我的电脑IP地址为172.2.105.16,服务器IP地址为172.2.216.70;协议为TCP,TTL值为64,报文不允许分片,报文长度为1500 bytes。数了一下,报文共5e0行,缺6个,转换为10进制,就是95行,一行16组,为16*94-4=1514,1组8 bit为1个byte,去掉数据链路层的14 bytes,正好1500 bytes。

    传输层,可以看到源端口为3389(远程桌面端口号),目的端口为53672;TCP分片长度为1460,此报文序列号为25588,下一个报文序列号为27048,窗口大小为254,TCP载荷为1460 bytes。

    数据段内容主要是长度,为1460 bytes,与传输层中TCP载荷大小相同。

    展开全文
  • 使用wireshark分析tcp报文

    万次阅读 多人点赞 2019-05-12 19:21:12
    在分析tcp网络协议报文时,借助当前强力的工具wireshark可以起到很好的辅助作用。 首先抓取了一个简单的http请求报文, 选取其中的一次完整请求,追踪tcp流: 可以在报文中看到tcp的3次握手,以及http 的request ...

    前言

    TCP协议在网络过程中,是一个最常见不过的协议了。在分析tcp网络协议报文时,借助当前强力的工具wireshark可以起到很好的辅助作用。


    首先抓取了一个简单的http请求报文,

    选取其中的一次完整请求,追踪tcp流:

    可以在报文中看到tcp的3次握手,以及http 的request 和 response ,还有tcp的4次断开。
    另外整个封包列表的面板中也有显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 可以看到不同的协议用了不同的颜色显示,当然也可以在View ->Coloring Rules中修改显示颜色的规则。

    TCP 基本概念


    上图圈起来的就是封包详细信息(Packet Details Pane):
    这是最重要的信息,用来查看协议中的每一个字段。而OSI七层模型分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
    在封包信息中,每行对应的含义及在OSI模型中的对应关系如下:
      Frame: 物理层的数据帧概况 ->对应OSI七层模型中的【物理层】
      Ethernet II: 数据链路层以太网帧头部信息 ->对应OSI七层模型中的【数据链路层】
      Internet Protocol Version 4: 互联网层IP包头部信息 ->对应OSI七层模型中的【网络层】
      Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP ->对应OSI七层模型中的【传输层】
    Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议 ->对应OSI七层模型中的【应用层】

    这根据报文的抓取的设备以及报文被封装的程度,会有不同的显示,比如截图里面的报文是在虚拟机上抓取的,就不会有物理设备的报文信息,在有些网络拓扑环境下,还会有封装成vlan或vxlan的报文,就可以在wireshark那里成功看到。
    不同的模型层和不同协议报文,对应的报文头部长度是不一致的,所以在计算报文的lengeth时,要考虑这些地方。

    tcp 3次握手和4次断开的报文梳理

    首先示例图来说明下tcp的连接/数据传输/断开的过程:

    百度百科解释TCP三次握手过程如下:

    第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN SENT状态,等待服务器确认;SYN:即是同步序列编号(Synchronize Sequence Numbers);

    第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN RECV状态;

    第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

    结合报文情况对比查看;
    client ----> SYN seq=480449269 ------> server
    Server -----> SYN seq=1569499109,ACK=480449270 ----> client
    Clinet (seq = 480449270) -----> ACK=1569499110 ------> server

    如下截图:

    这里的seq num 显示的是绝对值,所以在单纯分析本次请求流时,绝对值的seq num可能不易与阅读,可以调整wireshark配置,查看相对seq num。

    数据报文中,第1,2,3条数据包是进行tcp 3次握手,
    而,第4 到 9 是进行的数据传输,这里是完成了一次http 请求;
    第10,11,12,13 四条报文是进行了tcp的4次断开。

    在这里插入图片描述

    在数据传输中的报文,需要注意报文大小,length和 tcp传输窗口大小,大包/小包,切片/聚合等等,场景各种都有需要灵活分析,经验推理。

    tcp协议4次断开:

    关于断开请求的报文数据这一块,一般会主要关心是那端主要发起的FIN报文标记进行断开,非正常情况更会有RST报文标记。

    总之网络数据报文内容奇多无比,涉及到的知识和工具使用技巧都很多,在运维过程中,还是对运维过程有很大的帮助的。

    展开全文
  • wireshark解密SSL报文

    千次阅读 2020-11-02 16:41:48
    在SSL/TLS通信调试的过程中,用wireshark捕获的SSL/TLS通信的应用层报文是密文(见图1,协议类型只能解析到TCP),无法直接进行分析,此时我们需要掌握如何通过wireshark解密SSL/TLS报文、利用wireshark网络协议解析...
    1. 概述
      在SSL/TLS通信调试的过程中,用wireshark捕获的SSL/TLS通信的应用层报文是密文(见图1,协议类型只能解析到TCP),无法直接进行分析,此时我们需要掌握如何通过wireshark解密SSL/TLS报文、利用wireshark网络协议解析器,分析通信过程中的问题。
      在这里插入图片描述

      				图1.通讯过程中SSL加密报文
      
    2. 前置要求
       基本知识

    • 网络跟踪: Wireshark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。通信过程中通过捕获网络封包后的分析来跟踪需要的网络信息。
    • TCP/ IP和SSL/ TLS协议:TLS与SSL在传输层对网络连接进行加密。
    • 证书和公钥和私钥的使用:SSL通信过程中必备元素。
    • Wireshark的网络协议解析器:捕包过程中针对固定的协议的自动解析功能
       支持SSL解密的Wireshark版本:截图所用wireshark版本为Version 1.12.0
       密钥格式为RSA格式
    1. 设置步骤
      有私钥,wireshark即可自动在抓包过程中解开SSL通信报文,设置步骤:
    2. 打开wireshark,捕包。
    3. 选择Edit>Preferences
      在这里插入图片描述

    图2.偏好设置
    在这里插入图片描述

    1. 选择Preferences里的Protocols

    图3.选择协议
    在这里插入图片描述

    1. 下滚选择SSL(协议)

    图3.选择协议SSL
    5. 在RSA keys list中,提供,,,<key_file_name>
    是服务器的IP地址
    是服务器监听的端口
    是ssl(小写,大写不被识别)
    <key_file_name>是私钥放置的位置
    在这里插入图片描述

    图4.编辑RSA key列表

    在这里插入图片描述

    图4.添加RSA key列表信息

    6.设置完成后选择OK即可解密SSL应用报文
    

    在这里插入图片描述

    图5.ssl解密捕包信息
    从图5中我们可以清晰的看到服务器与终端的SSL通信过程,握手->交换证书->协商密钥->应用数据传输。
    4. 问题定位
    在这里插入图片描述

    					图6.服务器端证书错误的通信捕包
    

    在这里插入图片描述

    					图7.通信错误的SSL层信息解析
    

    在这里插入图片描述

    						图8.客户端证书错误的通信捕包
    
     调试过程中经常遇到的就是证书错误。图6和图7显示了,通信过程中客户端向服务器回复了bad certificate的包然后中断通信。此时应检查服务器端的包的格式是否符合要求,是否为过期证书或自签名证书等不合法的证书。图8显示客户端证书错误,此时应查证客户端的系统时间,证书合法性等问题。	
    
    展开全文
  • 聊聊wireshark这款报文分析工具

    千次阅读 2018-07-07 20:42:02
    总结wireshark特点,阐述wireshark插件功能应用场景和优势
  • TCP/IP 的运输有两个主要协议: 用户数据报协议UDP (User Datagram Protocol) 传输控制协议TCP (Transmission Control Protocol) 两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元 TPDU (Transport
  • Wireshark插件批量修改报文

    千次阅读 2020-01-11 10:20:42
    通过三个场景介绍通过wireshark插件实现对于PCAP报文的修改,增加,删除等操作
  • 报文捕获分析工具Wireshark简介

    千次阅读 2019-12-16 20:40:26
    介绍报文捕获分析工具Wireshark以及一些概念
  • Wireshark抓包——应用层

    千次阅读 2020-12-22 22:07:37
    文章目录所用软件应用层操作一操作一相关问题操作二操作二相关问题总结 所用软件 Wireshark 应用层 操作一 了解 DNS 解析 先使用 ipconfig /flushdns 命令清除缓存,再使用 nslookup qige.io 命令进行解析,同时用 ...
  • 如何使用wireshark抓网络报文(抓包) 网络下载好wireshark打开软件按下开始进行抓包 抓好后如图,这是筛好只要本机IP的。 筛选方法如下,在想筛的内容单击,然后右击,点击作为过滤器应用,点到“选中” ...
  • Wireshark远程抓包,自定义应用层协议解析
  • 步骤2:过滤带目标层报文 步骤3:分别切割 步骤4:合并报文 一:概要 经常与报文打交道的都知道在不同的应用场景中,pcap报文往往会根据场景应用相应的分层。有时候我们拿到报文后,我们并不关心某些分层,如我...
  • Wireshark实验4-应用层

    2020-12-22 15:19:15
    Wireshark实验4-应用层实作1:了解 DNS 解析实作2:了解 HTTP 的请求和应答 实作1:了解 DNS 解析 先使用 ipconfig /flushdns 命令清除缓存,再使用 nslookup qige.io 命令进行解析,同时用 Wireshark 任意抓包...
  • 前言:wireshark是一款强大抓包工具,使用它可以抓取不同的协议数据包,包括TCP、HTTP、UDP等,在使用wireshark之前要学习一下计算机网络的知识: (1)TCP/IP协议 应用层应用层是TCP/IP协议的第一层,是直接为...
  • wireshark被称为报文分析界的一哥,本文着眼于使用层次的,抛砖引玉,介绍一下wireshark在批量增删改查方面的应用
  • 一、抓包通过Wireshark这个抓包工具演示下正常能抓到tcp三次握手,能看到的内容是不是和上篇文章tcp三次握手中用图画出来的内容是一样的呢?现在就抓个包详细得讲解下。先选择我上网的网卡,然后点击这个蓝色的小...
  • wireshark解析应用层存储包

    千次阅读 2015-07-04 11:42:31
    利用wireshark解析应用层存储包,对数据包做分析统计
  • 目录实验名称实验介绍实验目的背景知识和准备HTTP协议HTTP概述HTTP连接HTTP请求报文HTTP响应报文TCP协议TCP概述i. 端到端ii. 可靠、有序的字节流iii. 流水线iv. 发送和...应用层和传输层网络协议分析 实验介绍 实验使
  • HTTP 协议再规范文档里详细定义了报文的格式,规定了组成部分,解析规则,还有处理策略,所以可以在 TCP/IP 之上实现丰富灵活的功能,例如连接控制、缓存管理、数据编码、内容协商 报文结构 HTTP 协议是一个”纯...
  • Wireshark了解计算机网络的数据链路层、网络层、传输层以及应用层准备数据链路层二级目录三级目录 准备 了解 Wireshark 的基本使用: 1.选择对哪块网卡进行数据包捕获 2.开始/停止捕获 3.了解 Wireshark 主要窗口...
  • 最近在使用wireshark 抓包,发现IP 包里面有个协议字段,是进行协议类型区分的,IP协议格式如下:其中协议字段,是对上层协议的描述: 比如:ICMP 为1,TCP 为6,UDP为17 具体协议对应数字可参考: ...
  • Wireshark抓包及DNS报文分析
  • WireShark捕获TCP和HTTP报文并分析

    千次阅读 2021-01-26 23:33:29
    制作简单的web页面2、使用Wireshark捕获与web服务器的交互过程的步骤2.1在阿里云服务器中打开XAMPP,点击start按钮,启动Apache服务2.2打开本机wireshark,选择WLAN网卡2.3打开浏览器输入39.102.89.87,打开web...
  • 我们都知道TCP/IP五层网络模型分别是物理层,数据链路层,网络层,传输层,应用层。这五层分别对应了这一系列报文的情况。 那么我们就可以将这外部五行作用概括为: Frame:物理层的数据帧概况。 Ethernet II:数据...
  • Wireshark

    2021-12-28 20:06:37
    数据链路 实作一:熟悉Ethernet帧结构 使用Wireshark任意进行抓包,熟悉Ethernet帧的结构,如:目的 MAC、源 MAC、类型、字段等。 ping www.bilibili.com: 捕捉到0x0800以太类型的IPv4数据报,源mac地址:40:74:e...
  • 文章目录报文分析笔记---常见wireshark报文标记Fragmented IP protocolPacket size limited during captureTCP Previous segment not capturedTCP ACKed unseen segmentTCP Out-of-OrderTCP Dup ACKTCP Fast ...
  • WireShark捕获报文理解TCP协议

    万次阅读 2017-08-27 18:11:34
    TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输通信协议。在OSI模型的第四传输。 TCP协议三次握手 三次握手协议指的是在发送数据的准备阶段,服务器端和...
  • Wireshark分析实际报文理解SSL(TLS)协议

    千次阅读 2019-12-19 21:19:49
    通过实际的报文数据分析SSL,TLS协议,加深对于协议流程的理解
  • 使用wireshark分析tcp/ip报文报文

    千次阅读 2017-01-22 17:34:00
    以太网报文的结构如下: 其中,以太网的帧头: 14 Bytes:MAC目的地址48bit(6B),MAC源地址48bit(6B),Type域2B,一共14B。 IP头部: TCP头部:   ...
  • wireshark 报文分析—根据时间(Arrival Time)过滤报文 ...以mac 版wireshark为例,选取报文Frame中的Arrival Time(到达时间),使用该字段作为过滤器条件进行过滤,由于在wireshark 软件中显...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,656
精华内容 3,062
热门标签
关键字:

wireshark应用层报文