如何使用wireShark的追蹤流功能抓取并還原文件
簡介
WireShark的追蹤流功能可以幫我們抓取從網絡上下載的各種文件,接下來就演示下如何抓取并且進行還原。
使用Nginx搭建文件存儲服務器
只要是通過http網站下載的包,都可以通過追蹤流工具進行抓取。這里為了演示,臨時搭建一個Nginx文件存儲服務器。
首先我們準備一臺Nginx服務器,把默認配置改成這個。這個時候,我們訪問對應端口,就不展示網頁了,就會展示download目錄下的文件。download目錄需要我們自己在 /usr/local/nginx下創建,然后把文件放到這個目錄下就可以了。download名字可以隨便起,只要和配置文件中保持一致就可以。
server {
listen 10088;
server_name localhost;
location / {
root download;
autoindex on;
autoindex_exact_size off;
}
}
1
2
3
4
5
6
7
8
9
10
我上傳了一個notepad++安裝包和一個證書文件,看下效果。我們訪問對應端口,就會展示Nginx服務器上存儲的文件。
抓取數據包
打開wireShark進行抓取,然后點擊安裝包,就會自動下載。下載完成后,我們就可以進行分析了。我們直接用http進行過濾。
點擊客戶端發起的第一個GET請求,右鍵,選擇追蹤流->TCP流
然后就會顯示下載文件的所有交互數據流
選擇底部的Show data as 為 原始數據,然后將數據存儲到文件中。
還原數據
打開剛才的文件。可以看到,上面是http請求頭的一些信息,刪除掉,我們保留數據域部分就可以。exe文件默認是MZ開頭的,我們只需要將MZ前面的數據全部刪除掉后保存文件,然后將文件后綴名命名為exe即可。
這個時候就已經還原成功了,可以直接雙擊這個文件運行。
使用二進制編輯器還原數據
為了防止誤刪數據信息,或者我們不知道文件數據的開頭是什么,所以最好用二進制編輯器打開我們剛才保存的數據流文件。我使用的是UltraEdit。
一般http請求頭與數據域部分會用兩個回車進行分割,十六進制是 0D 0A 0D 0A 進行表示。找到0D 0A 0D 0A , 直接把包括0D 0A 0D 0A在內的上面的所有請求頭信息刪除或剪貼掉,然后重新保存文件,也能還原文件。
————————————————
版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
原文鏈接:https://blog.csdn.net/new9232/article/details/130900212

浙公網安備 33010602011771號