WireShark 学习笔记

  1. 主界面
    ○ 数据包列表
    ○ 数据包细节
    ○ 数据包字节
  2. 数据包高亮
    ○ View – Coloring Rules
  3. 偏好设置 Preference
    ○ Ctrl + Shift + P
  4. 配置方案
    ○ Edit – Configuration Profiles Ctrl + Shift + A

  5. 导出不同格式
    ○ Export Specified Packets 包含更多粒度控制

  6. 合并
    ○ File – Merge..

  7. 查找数据包
    ○ Ctrl + F
    选项
    § Display filter
    输入表达式进行筛选
    § Hex Value
    输入十六进制数进行搜索
    § String
    输入字符串进行搜索,可设置其它格式

Ctrl + N 查找下一个匹配的
Ctrl + B 查找上一个匹配的
8. 标记数据包
○ Ctrl + M 或 右键数据包
○ Shift + Ctrl + N
○ Shift + Ctrl +B

  1. 时间显示格式
    View – Time Display Format
    ○ 格式选项
    ○ 精度选项
    多个设备中比较包数据,要确认设备间时间时同步的,特别是做取证分析和检查问题时,可使用 网络时间协议(NTP)来确保网络设备的时间时同步的。

当包数据来自不同的时区的设备时间,可采用统一的UTC时间来避免干扰

  1. 捕获选项
    Capture – Options Ctrl + K
    ○ Input
    § Capture Filter 设置捕获过滤器

○ Output
§ 文件集合 – 捕获输出为多个文件的集合
Create a new file automatically after

○ Option
§ 设置触发条件停止捕获 Stop capture automatically after

  1. BPF(Berkeley Packet Filter)语法
    ○ expression(表达式)组成
    § primitives (原语)
    § qualifiers(限定词)
    § 操作符 && || !

  2. Capture Filters 捕获过滤器
    a. 主机名和地址过滤器
    § host + ip 或 主机名 捕获所有和那台主机相关的流量
    ether host + MAC地址 ether = Ethernet以太网 对MAC地址进行过滤
    src host + ip 来自某ip的流量
    dst host + ip dst = dispatch 发往某ip的流量

b. 端口过滤器
§ port
§ !port
§ dst port

c. 协议过滤器
icmp 只看 ICMP 流量
!ip6 不看 IPv6 流量

i. 协议域过滤器
BPF语法可以 通过检查协议头中的每一个字节来创建基于那些数据的特殊过滤器
Ex. 想要创建基于 ICMP 过滤器的类型域 来进行过滤,而类型域位于数据包的最开头,也就是偏移量为 0 的位置,可以通过在协议协定符后输入由方括号引起的字节偏移量 icmp[0],
进一步地,如只想得到代表目标不可达(类型3)信息的ICMP数据包,则令其等于3 icmp[0]==3,
可以在方括号中的偏移量后面 以冒号分隔加上一个字节长度 来指定希望返回给过滤器表达式的数据长度 icmp[0:2]==0x0301
可以在当前原语中加入 一个单一的 & 符号,来 指定希望在 这个字节中检查的比特位置
tcp[13]&4==4 带有 RST 标志的 TCP 数据包
tcp[13]&8==8 被设置 PSH 标志的 TCP 数据包

  1. Display Filters 显示过滤器
    ○ 方法一:
    使用 Fiter Expression 对话框,在 Capture 对话框右侧

○ 方法二:
使用过滤表达式语法,

  1. 保存过滤器规则
    Capture – Capture Filters 加号

  2. 在工具栏增加 显示过滤器
    在 Filters工具栏右侧 ➕


高级特性

  1. 端点 endpoint
    ○ 查看端点(Endpoint)统计
    Statistics – Endpoints

○ 查看网络会话(Conversation)
Statistics – Conversation
□ 可右键一个会话,创建过滤器
□ Address A :源端点 Address B :目的端点
□ 窗口顶部选项条切换 查看其它协议类型的会话0

  1. 协议分层结构 Protocol Hierarchy
    Statistic – Protocol Hierarchy
    查看 TCP IP DHCP等所占的百分比

  2. 名称解析 Name Resolution
    View – Name Resolution –
    Preference – Name Resolution
    潜在危险:对 DNS名称解析的依赖会产生额外的数据包,如捕获文件中含有恶意IP地址,试图解析它们会生成对攻击者控制的基础架构的查询,这样攻击者就可能知道你的动作,甚至把自己变成靶子。 可 Ctrl + Shift + P 关闭 Use an external network name resolver
    Ex.利用 LLMNR 名称解析缺陷劫持内网指定主机会话

  3. 使用自定义host文件

协议解析
20. 更换解析器
右键数据包 – Decode as..
可查看解析器源代码 Wireshark Develop

流跟踪
packet transcript:把来自不同包的数据重组成统一易读的形式
TCP: Ex. http FTP ctrl + alt + shift + T
UDP: Ex. DNS ctrl + alt + shift + U
SSL: Ex. https 需要密钥解密流量 ctrl + alt + shift + S
HTTP: 使用TCP流跟踪但没有完全解码 HTTP 数据时 ctrl + alt + shift + H

  1. 跟踪TCP、UDP流
    ○ 快捷键,如上
    ○ 右键数据包 – Follw –
  2. 跟踪 SSL 流

SSL = Secure Socket Layer Protocol 安全接口层协议,需要密钥解密流量

Preference – Protocol – SSL – Browse – ➕
以下同上
23. 数据包长度
○ Statistic – Packet Lengths
○ 可用于鸟瞰数据包,大致判断是否有明显的数据传输(存在很多较大的数据包) 或 协议控制(绝大多数数据包都很小)

图形展示
24. I/O图
○ Statistic – I/O Graph
○ 分析时,并排查看多个数据包的 I/O图,有助于发现他们之间的关系

  1. 双向时间图
    ○ 双向时间(round-trip time RRT):接受并确认数据包的时间,即包括你数据包抵达目的地 以及 确认接受到的数据包 所需的时间之和
    ○ 常用来寻找通讯中的慢点或者瓶颈,以确认是否存在延迟
    ○ Statistic – TCP Stream Graphs – Round Trip Time,如未显示,点击Switch Direction
    ○ 高延迟点在图中用多个高 Y 值的点表示,一个点就是一个数据包

  2. 数据流图
    ○ Statistic – Flow Graph
    ○ 可视化了解两个设备间的通讯
    ○ 有助于了解不熟悉的协议之间如何正常交互

  3. 专家信息
    ○ 存在于每个协议的解析器中,用于提醒你该协议的数据包中的特定状态
    ○ 4 类状态:
    § Chat 关于通信的基本信息
    § Note 正常通信中的异常数据包
    § Warning 非正常通信中的异常数据包
    § Error 数据包中的错误,或者解析器解析时的错误
    ○ Analysis – Expert information

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据