在linux下操作pcap檔案的各種方法整理

2021-07-24 13:44:59 字數 2411 閱讀 9525

editcap 與 mergecap

wireshark,是最受歡迎的 gui 嗅探工具,實際上它帶了一套非常有用的命令列工具集。其中包括 editcap 與 mergecap。editcap 是乙個萬能的 pcap 編輯器,它可以過濾並且能以多種方式來分割 pcap 檔案。mergecap 可以將多個 pcap 檔案合併為乙個。 這篇文章就是基於這些 wireshark 命令列工具的。

如果你已經安裝過 wireshark 了,那麼這些工具已經在你的系統中了。如果還沒裝的話,那麼我們接下來就安裝 wireshark 命令列工具。 需要注意的是,在基於 debian 的發行版上我們可以不用安裝 wireshark gui 而僅安裝命令列工具,但是在 red hat 及 基於它的發行版中則需要安裝整個 wireshark 包。

debian, ubuntu 或 linux mint

**如下:

$sudo apt-get install wireshark-common

fedora,centos或rhel

**如下:

$sudo yum install wireshark

當安裝好工具後,就可以開始使用edit與mergecap了。

pcap 檔案過濾

通過 editcap, 我們能以很多不同的規則來過濾 pcap 檔案中的內容,並且將過濾結果儲存到新檔案中。

首先,以「起止時間」來過濾 pcap 檔案。 " - a < start-time > 和 " - b < end-time > 選項可以過濾出在這個時間段到達的資料報(如,從 2:30 ~ 2:35)。時間的格式為 「 yyyy-mm-dd hh:mm:ss"。

**如下:

$edit -a '2014-12-10 10:11:01' -b '2014-12-10 10:21:01' input.pcap output.pcap

也可以從某個檔案中提取指定的 n 個包。下面的命令列從 input.pcap 檔案中提取100個包(從 401 到 500)並將它們儲存到 output.pcap 中:

**如下:

$editcap input.pcap output.pcap 401-500

使用 "-d < dup-window >" (dup-window可以看成是對比的視窗大小,僅與此範圍內的包進行對比)選項可以提取出重複包。每個包都依次與它之前的 < dup-window > -1 個包對比長度與md5值,如果有匹配的則丟棄。

**如下

$ editcap -d 10 input.pcap output.pcap

遍歷了 37568 個包, 在 10 視窗內重複的包僅有乙個,並丟棄。

也可以將 < dup-window > 定義成時間間隔。使用"-w < dup-time-window >"選項,對比< dup-time-window > 時間內到達的包。

**如下:

$editcap -w 0.5 input.pcap out.pcap

檢索了 50000 個包, 以0.5s作為重複視窗,未找到重複包。

分割 pcap 檔案

當需要將乙個大的 pcap 檔案分割成多個小檔案時,editcap 也能起很大的作用。

將乙個 pcap 檔案分割成資料報數目相同的多個檔案

**如下:

$ editcap -c

輸出的每個檔案有相同的包數量,以 < output-prefix >-nnnn的形式命名。

以時間間隔分割 pcap 檔案

複製**

**如下:

$ editcap -i

合併 pcap 檔案

如果想要將多個檔案合併成乙個,用 mergecap 就很方便。

當合併多個檔案時,mergecap 預設將內部的資料報以時間先後來排序。

複製**

**如下:

$ mergecap -w output.pcap input.pcap input2.pcap [input3.pcap . . .]

如果要忽略時間戳,僅僅想以命令列中的順序來合併檔案,那麼使用 -a 選項即可。

例如,下列命令會將 input.pcap 檔案的內容寫入到 output.pcap, 並且將 input2.pcap 的內容追加在後面。

複製**

**如下:

$ mergecap -a -w output.pcap input.pcap input2.pcap

總結

在這篇指導中,我演示了多個 editcap、 mergecap 操作 pcap 檔案的例子。除此之外,還有其它的相關工具,如 reordercap用於將資料報重新排序,text2pcap 用於將 pcap 檔案轉換為文字格式, pcap-diff用於比較 pcap 文

mongo在linux下操作

1 進入到bin目錄 cd opt mongodb3.4 bin 2 執行mongo管理器 mongo ip port mongo 127.0.0.1 17017 3 選擇資料庫 use yysh 4 鑑權 db.auth user password 5 集合操作 show collentions ...

linux下操作大於2G檔案

1 包含所有標頭檔案以前,先定義這些巨集 ifndef use file offset64 define use file offset64 endif ifndef use largefile64 define use largefile64 endif ifndef largefile64 so...

PHP在WIN下操作socket

tcp udp socket除錯工具 php在win下操作socket最好用命令列執行程式,一般可以用於大檔案的上傳 要建立乙個簡單的服務,如果不考慮效能方面的問題,比如併發100 左右的服務,可以簡單的用 socket pcntl linux 來實現 1.php加入環境變數,開啟socket擴充套...