今天来使用Wireshark 分析Excel在保存文件的时候,都做了哪些动作,我们在保存文件时,只需要按下Ctrl + s 即可,那软件在处理时都有哪些步骤呢?
话不多说!开始实验。
我们拿Wireshark来捕获并分析报文,再次借助老朋友SMB协议这位辅助选手帮我们实现网络环境
一.实验步骤
1.Windows挂载SMB网络文件系统并创建一个testFile.xlsx的Excel文件
2.Wireshark开始捕获报文,还是对smb || smb2进行筛选,开始向Excel文件中写入数据并保存
3.分析Wireshark报文
536包:
服务器发出创建一个名为0386.tmp文件的请求
537包:
服务器回应客户端,已经创建好了
550包:
客户端向服务器发出请求:将testFile.xlsx中的长度为9957的数据 写入到0386.tmp文件
560包:
服务器回应客户端:写入完成
617包:
客户端向服务端发出请求:是否存在一个名为testFile~146BC1.tmp的文件?
618包:
服务端回应客户端:不存在这个文件
629包:
客户端向服务端发出请求:将testFile.xlsx文件重命名为testFile~146BC1.tmp
630包:
服务端回应客户端:重命名完成
635包:
确认机制,客户端发出请求:打开testFile.xlsx文件
637包:
服务端回应,没有找到该文件
645包:
客户端向服务端发出请求:将0386.tmp重命名为testFile.xlsx
646包:
服务器回应客户端:重命名完成
658包:
确认机制,客户端发出请求:打开0386.tmp文件
659包:
服务端回应,没有找到该文件
最后开始了卸磨杀驴
663包:
客户端向服务端发出请求:将testFile~146BC1.tmp文件删除
总结:
创建了一个testFile的Excel文件,保存时,先检查有没有0386临时文件,没有的话创建一个,然后将testFile中的数据写入到0386,在询问有没有testFile~146BC1文件,没有的话,将testFile重命名为testFile~146BC1,触发确认机制,确认testFile是否还存在。然后将0386重命名testFile,出发确认机制,确认0386是否还存在。最后将testFile~146BC1删除。
这就是Exctl保存文件的全部流程