学习笔记

1、Wireshark用户界面

Wireshark界面

  • 菜单栏:包括各种设置项和统计等功能,是每个软件都有的一部分

  • 主工具栏:有一些工具的快捷访问图标(不过一般用快捷键比较方便),这些图标包括启动捕获或停止捕获、抓包文件操作、数据包跳转、视图文字缩放等功能

    快捷键 功能
    Ctrl+E 启动/停止捕获
    Ctrl+R 重新捕获
    Ctrl+Home 跳转到分组列表的第一个分组
    Ctrl+End 跳转到分组列表的最后一个分组
    Ctrl+↑ 跳转到分组列表中本分组相邻的上一个分组
    Ctrl+↓ 跳转到分组列表中本分组相邻的下一个分组
    跳转到当前选中面板的上一条
    跳转到当前选中面板的下一条
    Ctrl+, 跳转到本次会话中本分组相邻的上一个分组
    Ctrl+. 跳转到本次会话中本分组相邻的下一个分组
  • 展示过滤器:是Wireshark用户界面里重要的组成部分,它可以去除和任务无关的数据,只展示我们感兴趣的内容。

  • 分组列表面板:此列表展示了所有分组数据以及关键提示信息。

    列名 含义
    No. 包序号
    Time 数据包之间的时间差
    Source 源IP地址
    Destination 目的IP地址
    Protocol 协议
    Length 分组长度
    Info 该分组的快速摘要信息
    • 对于列来说,各个列是先后顺序是可以更改的,各个列可选的
    • 对于行来说,可以在[View->Color Rules]中通过使用过滤器给重点关注的数据包设置前景色和背景色
  • 分组详情面板:展示分组列表面板中当前选中分组的详情信息。

    • 这些行的先后顺序和分组各级头部在链路上的发送顺序一致
    • 第一行会显示帧号、捕获时间、捕获到的字节数、网络上传输的字节数
    • 分组的编号一般是按照时间顺序来的,但也不一定,这是因为编号是由抓包库(pcap)决定的。
    • 分组详情面板除了在窗口中内嵌,还可以在分组列表面板双击弹出浮动窗口,浮动分组详情面板可以有多个,常用于对比多个分组数据包的细节。
  • 分组字节流面板:

    • 分组字节流面板包含三部分:偏移、分组字节流的十六进制、分组字节流对应的ASCII码
    • 如果字节转换为ASCII码为可打印字符,则展示该字节对应的ASCII码,否则用’ . ‘(英文句号)代替。

独立思考

1. TLS一开始会有Key Exchange阶段,那这个key是不是可以用来进行解密数据包?

不可以。

Key Exchange阶段交换的是公钥,每次传输我们使用对方的公钥进行加密,由于非对称加密时使用公钥加密只能用对应的私钥解密,所以知道公钥是几乎没有用的。

2. ip.addr ne 125.37.206.250为什么没有剔除125.37.206.250的分组?

  • ip.addr ne 125.37.206.250使用该条件作为展示过滤器的条件时,分组列表面板中展示的分组没有任何变化,仍展示了大量125.37.206.250的分组。

  • 使用ip.src_host ne 125.37.206.250 and ip.dst_host ne 125.37.206.250这条语句就成功过滤了125.37.206.250的数据包。
  • 使用ip.src_host eq 125.37.206.250也成功过滤出了发往125.37.206.250和从125.37.206.250响应的数据包。

当某个变量对应多个值,表达式会把变量的每个值挨个测试一遍。

  • eth.addr对应了eth.src和eth.dst两个值
  • ip.addr对应了ip.src和ip.dst两个值

当对这些变量编写表达式时,一旦编写不合理,可能会导致出人意料的结果,这种情况尤其在使用否定形式时容易出错。

  • 当eq时,各个值判断eq是或的关系
  • 当ne时,各个值判断ne是且的关系

所以eth.addr!=00:01:02:03:04:05或者ip.addr!=10.20.30.40永久为真,这是因为几乎没有源ip和目的ip相同或源mac和目的mac相同的包。

证明:

当Wireshark使用Loopback Adapter网络接口抓包时,会抓到许多本机127.0.0.1不同端口之间的通信包,此时的ip.src和ip.dst都是127.0.0.1,如果使用ip.addr ne 127.0.0.1展示筛选器,会成功去掉Source和Destination同时是127.0.0.1的包,而会留下Source或Destination为127.0.0.1的包,当然也会留下Source和Destination都不是127.0.0.1的包

产生过的疑问

  1. TLS一开始会有Key Exchange阶段,那这个key如何使用?是不是可以用来进行解密数据包?
  2. ip.addr ne 125.37.206.250为什么执行结果没有剔除125.37.206.250的分组?