学习笔记
1、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的包
产生过的疑问
- TLS一开始会有Key Exchange阶段,那这个key如何使用?是不是可以用来进行解密数据包?
- ip.addr ne 125.37.206.250为什么执行结果没有剔除125.37.206.250的分组?