Wireshark数据抓包教程之认识捕获分析数据包

Wireshark数据抓包教程之认识捕获分析数据包

认识Wireshark捕获数据包

当我们对Wireshark主窗口各部分作用了解了,学会捕获数据了,接下来就该去认识这些捕获的数据包了。Wireshark将从网络中捕获到的二进制数据按照不同的协议包结构规范,显示在Packet Details面板中。为了帮助用户能够清楚的分析数据,本节将介绍识别数据包的方法。

在Wireshark中关于数据包的叫法有三个术语,分别是帧、包、段。下面通过分析一个数据包,来介绍这三个术语。在Wireshark中捕获的一个数据包,如图1.45所示。每个帧中的内容展开后,与图1.48显示的信息类似。

图1.48  数据包详细信息

从该界面可以看出显示了五行信息,默认这些信息是没有被展开的。各行信息如下所示:

  • q  Frame:物理层的数据帧概况。
  • q  Ethernet II:数据链路层以太网帧头部信息。
  • q  Internet Protocol Version 4:互联网层IP包头部信息。
  • q  Transmission Control Protocol:传输层的数据段头部信息,此处是TCP协议。
  • q  Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议。

下面分别介绍下在图1.48中,帧、包和段内展开的内容。如下所示:

(1物理层的数据帧概况

  • Frame 5: 268 bytes on wire (2144 bits), 268 bytes captured (2144 bits) on interface 0               #5号帧,线路268字节,实际捕获268字节
  • Interface id: 0                                                                                                  #接口id
  • Encapsulation type: Ethernet (1)                                                                          #封装类型
  • Arrival Time: Jun 11, 2015 05:12:18.469086000 中国标准时间          #捕获日期和时间
  • [Time shift for this packet: 0.000000000 seconds]
  • Epoch Time: 1402449138.469086000 seconds
  • [Time delta from previous captured frame: 0.025257000 seconds]   #此包与前一包的时间间隔
  • [Time since reference or first frame: 0.537138000 seconds]              #此包与第一帧的时间间隔
  • Frame Number: 5                                                                                          #帧序号
  • Frame Length: 268 bytes (2144 bits)                                                         #帧长度
  • Capture Length: 268 bytes (2144 bits)                                                      #捕获长度
  • [Frame is marked: False]                                                                              #此帧是否做了标记:否
  • [Frame is ignored: False]                                                                              #此帧是否被忽略:否
  • [Protocols in frame: eth:ip:tcp:http]                                                             #帧内封装的协议层次结构
  • [Number of per-protocol-data: 2]                                                                          #
  • [Hypertext Transfer Protocol, key 0]
  • [Transmission Control Protocol, key 0]
  • [Coloring Rule Name: HTTP]                                                                       #着色标记的协议名称
  • [Coloring Rule String: http || tcp.port == 80]                                                        #着色规则显示的字符串

(2数据链路层以太网帧头部信息

  • Ethernet II, Src: Giga-Byt_c8:4c:89 (1c:6f:65:c8:4c:89), Dst: Tp-LinkT_f9:3c:c0 (6c:e8:73:f9:3c:c0)
  • Destination: Tp-LinkT_f9:3c:c0 (6c:e8:73:f9:3c:c0)                                         #目标MAC地址
  • Source: Giga-Byt_c8:4c:89 (1c:6f:65:c8:4c:89)                                        #源MAC地址
  • Type: IP (0x0800)

(3互联网层IP包头部信息

  • Internet Protocol Version 4, Src: 192.168.0.104 (192.168.0.104), Dst: 61.182.140.146 (61.182.140.146)
  • Version: 4                                                                                                                          #互联网协议IPv4
  • Header length: 20 bytes                                                                               #IP包头部长度
  • Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))                                                                                                                                   #差分服务字段
  • Total Length: 254                                                                                           #IP包的总长度
  • Identification: 0x5bb5 (23477)                                                                    #标志字段
  • Flags: 0x02 (Don‘t Fragment)                                                                      #标记字段
  • Fragment offset: 0                                                                                         #分的偏移量
  • Time to live: 64                                                                                               #生存期TTL
  • Protocol: TCP (6)                                                                                            #此包内封装的上层协议为TCP
  • Header checksum: 0x52ec [validation disabled]                                              #头部数据的校验和
  • Source: 192.168.0.104 (192.168.0.104)                                                   #源IP地址
  • Destination: 61.182.140.146 (61.182.140.146)                                       #目标IP地址

(4传输层TCP数据段头部信息

  • Transmission Control Protocol, Src Port: 51833 (51833), Dst Port: http (80), Seq: 1, Ack: 1, Len: 214
  • Source port: 51833 (51833)                                                                                 #源端口号
  • Destination port: http (80)                                                                             #目标端口号
  • Sequence number: 1    (relative sequence number)                                   #序列号(相对序列号)
  • [Next sequence number: 215    (relative sequence number)]           #下一个序列号
  • Acknowledgment number: 1    (relative ack number)                         #确认序列号
  • Header length: 20 bytes                                                                               #头部长度
  • Flags: 0x018 (PSH, ACK)                                                                             #TCP标记字段
  • Window size value: 64800                                                                                    #流量控制的窗口大小
  • Checksum: 0x677e [validation disabled]                                                  #TCP数据段的校验和

Wireshark分析数据包

在Wireshark中的数据包都可以称为是网络数据。每个网络都有许多不同的应用程序和不同的网络涉及。但是一些常见的包中,通常都会包括一些登录程序和网络浏览会话。本节以访问Web浏览器为例将介绍分析网络数据的方法。

通常在访问Web服务器过程中,会涉及到DNS、TCP、HTTP三种协议。由于此过程中来回发送的数据包较为复杂,所以下面将介绍分析Web浏览数据。

【实例1-3】分析访问Web浏览数据。具体操作步骤如下所示:

(1捕获访问www.qq.com网站的数据包,并保存该文件名为http-wireshar.pcapng。本例中捕获的文件如图1.49所示。

图1.49  http-wireshar.pcapng捕获文件

(2接下来通过该捕获文件中的数据,分析访问Web的整个过程。在该捕获过程中,将包含DNS请求、响应、TCP三次握手等数据。如图1.50所示,在该界面显示了在访问网站之间DNS解析过程。

图1.50  DNS解析

(3在该界面31帧,是DNS将www.qq.com解析为一个IP地址的数据包(被称为一个“A”记录)。32帧表示返回一个与主机名相关的IP地址的DNS响应包。如果客户端支持IPv4和IPv6,在该界面将会看到查找一个IPv6地址(被称为“AAAA”记录)。此时,DNS服务器将响应一个IPv6地址或混杂的信息。

说明:31帧是客户端请求百度,通过DNS服务器解析IP地址的过程。标识为“A”记录。

  • 32帧是DNS服务器回应客户端请求的过程。标识为response.

(4如图1.51所示,在该界面看客户端和服务器之间TCP三次握手(33、34、35帧)和客户端请求的GET主页面(36帧)。然后服务器收到请求(37帧)并发送响应包(38帧)。

说明:33帧是客户端向服务器发送TCP请求建立连接。标识为SYN。

  • 34帧是服务器得到请求后向客户端回应确认包的过程。标识为SYN,ACK。
  • 35帧是客户端回应服务器发送确认包的过程,将于服务器建立连接。标识为ACK。
  • 36帧是客户端向服务器发送HTTP请求内容的过程。标识为GET。
  • 37帧是服务器相应客户端请求的过程,收到请求。标识为ACK。
  • 38帧是服务器向客户端回应内容的过程。

图1.51  TCP三次握手

(5当客户端从相同的服务器上再次请求访问另一个链接时,将会再次看到一个GET数据包(1909帧),如图1.52所示。

图1.52  请求另一个元素

此外,如果链接另一个Web站点时,客户端将再次对下一个站点进行DNS查询(156、157帧),TCP三次握手(158、159、160帧)。如图1.53所示。

图1.53  请求下一个站点

本文选自:Wireshark数据抓包基础教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人!

时间: 2024-10-12 13:11:45

Wireshark数据抓包教程之认识捕获分析数据包的相关文章

使用winpcap多线程抓包,以及简单的分析数据包

刚开始使用winpcap数据包的时候,我在抓包的时候使用了 pcap_loop(adhandle, 0, packet_handler, NULL); 这个回调函数进行抓包.同时在回调函数中分析IP地址后加入了新的线程进行分析数据包. pthread_create(&thread[threadnum], NULL,thread, &thread_ins); 我的新线程函数大致是这样的: void* thread(void *) { /*省略...*/ while((res = pcap_n

wireshark怎么抓取开VPN后的HTTP协议包

之前没看VPN的时候,开始抓包后选取HTTP的Filter后,上网页就可以看到HTTP的包了.可是开启VPN后,再开网页就抓不到HTTP的包了呢?有没有哪个大神能指导一下小弟,应该如何操作wireshark呢? 我看了一些相关文章,说是走VPN隧道了,还有说加密了.可是这2个,我都不会操作...希望好心大神指导一下!!感激不尽

区块链教程以太源码分析accounts包简介

accounts包实现了eth客户端的钱包和账户管理.账号的数据结构:typeAccount struct { Address common.Address json:"address" // Ethereum account addressderived from the key URLURL json:"url" // Optional resource locator within a backend }钱包interface,是指包含了一个或多个账户的软件钱

Wireshark抓包分析---分析数据包

Wireshark数据抓包教程之认识捕获分析数据包 认识Wireshark捕获数据包 当我们对Wireshark主窗口各部分作用了解了,学会捕获数据了,接下来就该去认识这些捕获的数据包了.Wireshark将从网络中捕获到的二进制数据按照不同的协议包结构规范,显示在Packet Details面板中.为了帮助用户能够清楚的分析数据,本节将介绍识别数据包的方法. 在Wireshark中关于数据包的叫法有三个术语,分别是帧.包.段.下面通过分析一个数据包,来介绍这三个术语.在Wireshark中捕获

【网络与系统安全】使用wireshark捕获SSL/TLS包并分析

TLS运作方式如下图: 捕获的TLS数据包如下: 接下来分析数据包 24号数据报,忽略网络层和传输层直接看安全套接字层 展开后: 可见第一步由客户端发送加密协议.TLS版本.随机数等信息. 26号包: 服务器传送TLS版本号.随机数.加密方式等信息 30号报文: 服务器向客户机发送证书,用以证明服务端身份 32号报文: 35号报文: 32和35号报文在运行Diffie-Hellman算法后分别交换了pubkey并生成相同的会话密钥 37号报文:服务端向客户端发送一个票据用以TLS连接 至此连接完

python-requests 简单实现数据抓取

安装包: requests,lxmlrequest包用于进行数据抓取,lxml用来进行数据解析对于对网页内容的处理,由于html本身并非如数据库一样为结构化的查询所见即所得,所以需要对网页的内容进行分析然后进行内容提取,lxml就是用来完成此项工作在requests中最用的方法为get()方法,通常情况下可以将url做为参数传入进去,对于一些功能比较完善的网站如果存在反爬取数据的功能是则需要设置headers参数内容,内容为一字典类型可以在浏览器中查看User-Agent字段的内容,设置后req

关于“淘宝爆款”的数据抓取与数据分析

本文为younghz原创,文章链接为:http://blog.csdn.net/u012150179/article/details/37306629 这个问题最初是源于我在知乎上一个回答(http://www.zhihu.com/question/24368542/answer/27579662),涉及了两个方面:数据抓取和数据分析. 1.数据爬取 爬取对象:淘宝"连衣裙 夏"的搜索结果. 爬取对象的选择分析我在文章中也有提及. 工具:Scrapy. 代码:我把当时实现的代码放在了G

Wireshark数据抓包教程之安装Wireshark

Wireshark数据抓包教程之安装Wireshark 安装Wireshark 通过上一节的学习可以根据自己的操作系统来下载安装Wireshark了.本书中已开发版1.99.7(中文版)为主,下面介绍分别在Windows和Linux上安装Wireshark. 在Windows系统中安装Wireshark [实例1-1]在Windows中安装Wireshark.具体操作步骤如下所示: (1)从Wireshark官网下载开发版的Windows安装包,其名称为Wireshark-win64-1.99.

Wireshark数据抓包教程之Wireshark捕获数据

Wireshark数据抓包教程之Wireshark捕获数据 Wireshark抓包方法 在使用Wireshark捕获以太网数据,可以捕获分析到自己的数据包,也可以去捕获同一局域网内,在知道对方IP地址的情况下,捕获到对方的数据包. Wireshark捕获自己的数据包 如果客户端经过路由器直接上网,如图1.28所示.在该图中,PC机A安装Wireshark,可以在该主机上直接捕获自己的数据. 图1.28  在主机上捕获数据 Wireshark捕获别人的数据包 如果都在一个局域网内,而且知道别人的I