使用 Wireshark 选择需要抓包的网络方式,并设置过滤器条件,当有数据通信后即可抓到对应的数据包,这里将分析其每一帧数据包的结构。

以HTTP协议为例,一帧数据包一般包括以下几个部分:

  • Frame:物理层的数据帧情况。
  • Ethernet II :数据链路层以太网帧头部信息。
  • Internet Protocol Version 4:以太网协议层。
  • Transmission Control Protocol:传输控制协议。
  • HyperText Transfer Protocol:超文本传输协议。

对于各种协议而言,前三层基本一样,第四层开始就可以出现TCP, UDP 协议,第五层就有HTTP 应用层协议等。

第一层:Frame:(物理层)

  1. // 第8056帧,有507个字节在线,共4056位,实际在接口0上捕获到507个字节
  2. Frame : bytes on wire ( bits), bytes captured ( bits) on interface
  3. // 接口ID:0
  4. Interface id: (\Device\NPF_{7920DB7B-B8DB-417F-8C85-72E6DCCD61C5})
  5. // 封装类型
  6. Encapsulation type: Ethernet ()
  7. // 到达时间
  8. Arrival Time: Aug , ::00.750794000 中国标准时间
  9. // 包偏移量
  10. [Time shift for this packet: 0.000000000 seconds]
  11. // 新纪元时间
  12. Epoch Time: 1565250300.750794000 seconds
  13. // 两帧之间的时间间隔
  14. [Time delta from previous captured frame: 0.000326000 seconds]
  15. // 捕获到显示的时间间隔
  16. [Time delta from previous displayed frame: 0.126423000 seconds]
  17. // 此帧与第一帧的时间间隔
  18. [Time since reference or first frame: 197.144051000 seconds]
  19. // 帧号
  20. Frame Number:
  21. // 帧长度
  22. Frame Length: bytes ( bits)
  23. // 捕获的帧长度
  24. Capture Length: bytes ( bits)
  25. // 帧是否标记
  26. [Frame is marked: False]
  27. // 帧是否忽略
  28. [Frame is ignored: False]
  29. // 帧内封装的协议层次结构
  30. [Protocols in frame: eth:ethertype:ip:tcp:http]
  31. // 着色标记的协议
  32. [Coloring Rule Name: HTTP]
  33. // 着色规则显示的字符串
  34. [Coloring Rule String: http || tcp.port == || http2]

第二层:Ethernet II (数据链路层以太网帧头部信息)

  1. // 源MAC地址:TexasIns_ce:a9:4b (68:c9:0b:ce:a9:4b)
  2. // 目标MAC地址:AplexTec_0d:4e (40:d8:55:16:ad:4e)
  3. Ethernet II, Src: AsustekC_4d:bc:f2 (:8b:cd:4d:bc:f2), Dst: Hangzhou_91:be:b8 (d4::fe::be:b8)
  4. // 目标MAC地址
  5. Destination: Hangzhou_91:be:b8 (d4::fe::be:b8)
  6. // 源MAC地址
  7. Source: AsustekC_4d:bc:f2 (:8b:cd:4d:bc:f2)
  8. // IP类型
  9. Type: IPv4 (0x0800)

第三层:Internet Protocol Version 4(以太网协议层)

  1. // IPv4 协议,源IP:192.168.1.50, 目的IP:111.202.102.36
  2. Internet Protocol Version , Src: 192.168.1.50, Dst: 111.202.102.36
  3. // 版本4
  4. .... = Version:
  5. // 头长度20字节
  6. .... = Header Length: bytes ()
  7. // 差分服务字段
  8. Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
  9. // 总长度
  10. Total Length:
  11. // 鉴别
  12. Identification: 0x90c2 ()
  13. // 标志
  14. Flags: 0x4000, Don't fragment
  15. // 生存期
  16. Time to live:
  17. // 协议名称
  18. Protocol: TCP ()
  19. // 头部校验和
  20. Header checksum: 0x0000 [validation disabled]
  21. // 头部校验和检测状态
  22. [Header checksum status: Unverified]
  23. // 源IP
  24. Source: 192.168.1.50
  25. // 目标IP
  26. Destination: 111.202.102.36

第四层:Transmission Control Protocol(传输控制协议)

  1. // 传输控制协议,源端口:4434,目标端口:80,序号1,确认号:1,长度:453
  2. Transmission Control Protocol, Src Port: , Dst Port: , Seq: , Ack: , Len:
  3. // 源端口:4434
  4. Source Port:
  5. // 目标端口:80
  6. Destination Port:
  7. // 流索引
  8. [Stream index: ]
  9. // TCP段长度
  10. [TCP Segment Len: ]
  11. // 序号
  12. Sequence number: (relative sequence number)
  13. // 下一个序号
  14. [Next sequence number: (relative sequence number)]
  15. // 确认号
  16. Acknowledgment number: (relative ack number)
  17. // 头部长度
  18. .... = Header Length: bytes ()
  19. // 标记
  20. Flags: 0x018 (PSH, ACK)
  21. // 窗口大小
  22. Window size value:
  23. // 计算窗口大小
  24. [Calculated window size: ]
  25. // 窗口大小乘积因子
  26. [Window size scaling factor: ]
  27. // 校验和
  28. Checksum: 0x99a8 [unverified]
  29. // 校验和监测状态
  30. [Checksum Status: Unverified]
  31. // 紧急指针
  32. Urgent pointer:
  33. [SEQ/ACK analysis]
  34. [Timestamps]
  35. // TCP负载
  36. TCP payload ( bytes)

第五层:HyperText Transfer Protocol(超文本传输协议)

  1. // 超文本传输协议(HTML)
  2. Hypertext Transfer Protocol
  3. // POST请求
  4. POST /q HTTP/1.1\r\n
  5. // 缓存控制
  6. Cache-Control: no-cache\r\n
  7. // 连接类型
  8. Connection: Keep-Alive\r\n
  9. // 编辑注解
  10. Pragma: no-cache\r\n
  11. // 用户代理
  12. User-Agent: SESC\r\n
  13. // 内容长度
  14. Content-Length: \r\n
  15. [Content length: ]
  16. // 主机
  17. Host: get.sogou.com\r\n
  18. \r\n
  19. // 完整请求地址
  20. [Full request URI: http://get.sogou.com/q]
  21. [HTTP request /]
  22. // 前一请求所在帧
  23. [Prev request in frame: ]
  24. // 响应帧
  25. [Response in frame: ]
  26. // 下一请求帧
  27. [Next request in frame: ]
  28. // 文件数据
  29. File Data: bytes
  30. // 数据
  31. Data ( bytes)

HTTP协议的内容根据请求情况会有所不同,需要具体情况具体分析。

Wireshark教程之二:Wireshark捕获数据分析的更多相关文章

  1. RabbitMQ系列教程之二:工作队列(Work Queues)(转载)

    RabbitMQ系列教程之二:工作队列(Work Queues)     今天开始RabbitMQ教程的第二讲,废话不多说,直接进入话题.   (使用.NET 客户端 进行事例演示)          ...

  2. C++入门教程之二:变量

    C++入门教程之二:变量 变量,顾名思义,意思是变化的量.变量的定义是计算机语言中能储存计算结果或能表示值的抽象概念.一个基本的程序需要变量,因此变量是程序设计中的一大重点. 变量基本结构 var_t ...

  3. 微信小程序入门教程之二:页面样式

    这个系列的上一篇教程,教大家写了一个最简单的 Hello world 微信小程序. 但是,那只是一个裸页面,并不好看.今天接着往下讲,如何为这个页面添加样式,使它看上去更美观,教大家写出实际可以使用的 ...

  4. Apache Shiro系列教程之二:十分钟上手Shiro

    在本教程中,我们会写一个简单的.仅仅输出一些内容命令行程序,从而对Shiro有一个大体的感觉. 一.准备工作 本教程需要Java1.5+,并且我们用Maven生成项目,当然Maven不是必须的,你也可 ...

  5. Zabbix3.0基础教程之二:item、trigger、action、graph配置

    一.Zabbix监控报警过程 在一次完整的Zabbix配置中,需要涉及到的术语有以下几项: 1.host groups:主机组,按生产需求将功能类别相近或相同的主机进行分组,便于管理. 2.host: ...

  6. Fiddler 教程之:Fiddler捕获会话

    1 Fiddler的工作原理 Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888.当Fiddler退出的时候它会自动注销,这样就不会影响别的程序.不过 ...

  7. RabbitMQ系列教程之二:工作队列(Work Queues)

        今天开始RabbitMQ教程的第二讲,废话不多说,直接进入话题.   (使用.NET 客户端 进行事例演示)          在第一个教程中,我们编写了一个从命名队列中发送和接收消息的程序. ...

  8. 使用VS Code开发.Net Core 2.0 MVC Web应用程序教程之二

    好了,废话也不多说,咱们直接来看看这款MVC的造型——你可能会大吼:“这……这特么的都是些什么鬼?” 靠,告诉你吧,我也不知道这都是些什么鬼,反正以前我是没有见过这样的MVC.咦,老纸的config文 ...

  9. SQLAlchemy ORM教程之二:Query

    from:https://www.jianshu.com/p/8d085e2f2657 这是继SQLAlchemy ORM教程之一:Create后的第二篇教程.在上一篇中我们主要是解决了如何配置ORM ...

随机推荐

  1. Linux操作系统的打包/归档工具介绍

    Linux操作系统的打包/归档工具介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  2. JavaScript中eval函数的用法

    1. eval函数会计算传给的字符串, 并把作为脚本代码来执行. eval(str) 此函数接受一个字符串作为参数,并把str当做一段JavaScript脚本代码来执行,如果str执行结果返回一个值则 ...

  3. 【若泽大数据】玩转大数据之Spark零基础到实战

    https://www.bilibili.com/video/av29407581?p=1 若泽大数据官网 http://www.ruozedata.com/ tidb 系列三:有了sparkjdbc ...

  4. ubuntu无法连接网络

    一,先说一下VMware软件和linux镜像的版本: VMware Workstation 14 Pro ubuntu-14.04.6-desktop-amd64.iso 二,遇到的问题 在第一次安装 ...

  5. Jmeter做webservices接口测试

    在Soap/XML-RPC Data中输入: <?xml version="1.0" encoding="utf-8"?> <soap12:E ...

  6. Linux—— 记录所有登陆用户的历史操作记录

    前言 记录相应的人登陆服务器后,做了那些操作,这个不是我自己写的,因为时间久了,原作者连接也无法提供,尴尬. 步骤 history是查询当前连接所操作的命令,通过编写以下内容添加至/etc/profi ...

  7. 【贪心】【P4053】[JSOI2007] 建筑抢修

    [贪心][P4053][JSOI2007] 建筑抢修 Description 有 \(n\) 个工作,第 \(i\) 个工作做完需要 \(a_i\) 的时间,并且必须在 \(b_i\) 时刻前完成.求 ...

  8. NOIp初赛题目整理

    NOIp初赛题目整理 这个 blog 用来整理扶苏准备第一轮 csp 时所做的与 csp 没 有 关 系 的历年 noip-J/S 初赛题目,记录了一些我从不知道的细碎知识点,还有一些憨憨题目,不定期 ...

  9. 第01组 Alpha冲刺(4/6)

    队名:007 组长博客: https://www.cnblogs.com/Linrrui/p/11884375.html 作业博客: https://edu.cnblogs.com/campus/fz ...

  10. ASP.NET之MVC 微信公众号授权给第三方平台的技术实现流程(获取第三方平台access_token)

    “出于安全考虑,在第三方平台创建审核通过后,微信服务器每隔10分钟会向第三方的消息接收地址推送一次component_verify_ticket,用于获取第三方平台接口调用凭据”.这是文档中的原话,也 ...