日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

WireShark 自带工具 editcap 和 text2pcap 配合完成改包操作

發(fā)布時(shí)間:2023/12/13 综合教程 33 生活家
生活随笔 收集整理的這篇文章主要介紹了 WireShark 自带工具 editcap 和 text2pcap 配合完成改包操作 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、拆包

  首先聲明這種方法比較復(fù)雜而且需要點(diǎn)技術(shù)水平,不建議菜鳥嘗試(可以使用WireEdit等其他工具編輯pcap包)其實(shí)在熟練這種方法后也可以很快的,但這種方法主要還是方便吧,不用下載其他什么軟件。(除了WireShark)

不過菜鳥也不會(huì)點(diǎn)進(jìn)這篇技術(shù)文章吧。

先說主要思想

editcap和text2pcap是WireShark自帶的兩款功能強(qiáng)大的命令行程序

editcap是wireshark的命令行工具可以實(shí)現(xiàn)切割包和具體報(bào)文

text2pcap可以根據(jù)你導(dǎo)出來的字符數(shù)據(jù)重新轉(zhuǎn)化為數(shù)據(jù)報(bào)文

因此我們可以先對原始包切割,切出想要的報(bào)文幀

導(dǎo)出為數(shù)據(jù)字串

修改數(shù)據(jù)字串

再用text2pcap轉(zhuǎn)回報(bào)文,這樣就完成了修改工作。

接下來是實(shí)際操作過程,我將把我遇到的比較復(fù)雜的例子來講解,其他情況以此類推:

例子是一個(gè)巨幀TCP報(bào)文,人工實(shí)現(xiàn)IP分片功能。

打開CMD控制臺(tái)窗口

轉(zhuǎn)到WireShark安裝目錄 cdC:Program FilesWireshark 找到editcap.exe和text2pcap.exe 如圖

接下來是官方文檔editcap.html和text2pcap.html,我只截有用到的部分。

首先切割文件,找到巨幀的那個(gè)報(bào)文序號,利用editcap來把pcap文件拆成三部分:巨幀報(bào)文之前的部分,巨幀報(bào)文一部分,巨幀之后部分。命令如下:

editcap -r C:UsersAdministratorDesktopLargePcap.pcapng C:UsersAdministratorDesktopHeader.pcapng 1-31

editcap -r C:UsersAdministratorDesktopLargePcap.pcapng C:UsersAdministratorDesktopJuZhen.pcapng 32

editcap C:UsersAdministratorDesktopLargePcap.pcapng C:UsersAdministratorDesktopTail.pcapng 1-32

這里的巨幀是第32條報(bào)文,長度為2974明顯大于以太網(wǎng)幀的1500,所以你必須要處理pcap包,才能使這個(gè)包符合實(shí)際的傳輸過程;命令中 -r 參數(shù)是保留指定報(bào)文,不加的話是剔除指定報(bào)文。

這里默認(rèn)是pcapng格式,如果要轉(zhuǎn)格式加 -F(詳細(xì)見上面的說明);

把這個(gè)包拆成兩部分: 一個(gè)1514(MTU 可能不同)另一個(gè)1460。這里使用 -C 參數(shù)來剪報(bào)文內(nèi)的數(shù)據(jù)。

editcap -C -1460:1460 C:UsersAdministratorDesktopJuZhen.pcapng C:UsersAdministratorDesktopesult_1.pcapng

editcap -C 54:1460 C:UsersAdministratorDesktopJuZhen.pcapng C:UsersAdministratorDesktopesult_2.pcapng

這個(gè)語句要注意的是 offset :length offset是偏移,length是裁剪長度;還有就是要知道命令是把指定的給去除掉 (PS:我在這繞了很久)。

二、改包

  打開result_1.pcapng和result_2.pcapng文件選中要改的報(bào)文,復(fù)制 -> as Hex Dump ,然后新建一個(gè)txt文件右鍵粘貼。

我把result_1.pcapng 和 result_2.pcapng 復(fù)制到 result_1.txt、result_2.txt中

接下來就是重中之重了 -------- 修改報(bào)文中的數(shù)據(jù)

同時(shí)打開result.pcapng 和 result.txt,在WireShark中找到要修改的字節(jié),對照著txt文件的相應(yīng)地方改成你要的數(shù)值就行了(要注意不要改動(dòng)他導(dǎo)出的文件格式)

我這里的這個(gè)例子是要改動(dòng)IP層的Total Length、Identification 和 Header CheckSum

以及TCP層的Sequence Number 和 Checksum

在txt中改掉對應(yīng)的16進(jìn)制,保存就完成了改包。

三、合包

  然后使用text2pcap來合包操作,兩條語句分別進(jìn)行 txt Hex 轉(zhuǎn) pcapng 網(wǎng)絡(luò)包

text2pcapC:UsersAdministratorDesktopesult_1.txt C:UsersAdministratorDesktop1.pcapng

text2pcapC:UsersAdministratorDesktopesult_2.txt C:UsersAdministratorDesktop2.pcapng

生成1.pcapng 和 2.pcapng

  接下來是調(diào)整時(shí)間 ,使用 editcap -t 命令,由于不能使用精確時(shí)間來設(shè)置報(bào)文,只能 +偏移 或 -偏移來調(diào)正時(shí)間:

editcap -t -xxxx 1.pcapng

editcap -t -xxxx 2.pcapng

先查看 Header.pcapng 最后一條報(bào)文準(zhǔn)確時(shí)間 和 Tail.pcapng 第一條報(bào)文時(shí)間,在根據(jù)要調(diào)整的報(bào)文時(shí)間進(jìn)行加減

這里我就不寫例子了(注意要在 Header.pcapng最后一條報(bào)文準(zhǔn)確時(shí)間 和 Tail.pcapng 第一條報(bào)文時(shí)間范圍內(nèi))

最后是合并包部分,順序是 Header.pcapng <- 1.pcapng <- 2.pcapng <- Tail.pcapng

四、結(jié)束

放張結(jié)果圖,第32和33條報(bào)文是裁剪后的結(jié)果。

其實(shí)這種辦法也不是特別麻煩吧?。〔皇呛苈闊?。。。。吧,。麻煩。好吧其實(shí)搞到這里我也沒什么耐心了,這種方法我也沒找到什么優(yōu)點(diǎn),在最后我也只是想記錄一下,我掙扎的過程、學(xué)習(xí)的過程,僅此而已。

總結(jié)

以上是生活随笔為你收集整理的WireShark 自带工具 editcap 和 text2pcap 配合完成改包操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。