国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

在Linux下操作pcap文件的各種方法整理

2020-10-18 20:42:14
字體:
來源:轉載
供稿:網友

如果你是一個測試入侵偵測系統或一些網絡訪問控制策略的網絡管理員,那么你經常需要抓取數據包并在離線狀態下分析這些文件。當需要保存捕獲的數據包時,我們一般會存儲為 libpcap 的數據包格式 pcap,這是一種被許多開源的嗅探工具以及捕包程序廣泛使用的格式。如果 pcap 文件被用于入侵測試或離線分析的話,那么在將他們注入網絡之前通常要先對 pcap 文件進行一些操作。
2015611173153625.jpg (800×631)

在這篇文章中,我將介紹一些操作 pcap 文件的工具,以及如何使用它們 。
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

當安裝好工具后, 就可以開始使用 editca 與 mergecap 了。
pcap 文件過濾

通過 editcap, 我們能以很多不同的規則來過濾 pcap 文件中的內容,并且將過濾結果保存到新文件中。

首先,以“起止時間”來過濾 pcap 文件。 " - A < start-time > 和 " - B < end-time > 選項可以過濾出在這個時間段到達的數據包(如,從 2:30 ~ 2:35)。時間的格式為 “ YYYY-MM-DD HH:MM:SS"。

   

復制代碼
代碼如下:
$ editcap -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 output.pcap

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

分割 pcap 文件

當需要將一個大的 pcap 文件分割成多個小文件時,editcap 也能起很大的作用。

將一個 pcap 文件分割成數據包數目相同的多個文件

   

復制代碼
代碼如下:
$ editcap -c <packets-per-file> <input-pcap-file> <output-prefix>

輸出的每個文件有相同的包數量,以 < output-prefix >-NNNN的形式命名。

以時間間隔分割 pcap 文件

   

復制代碼
代碼如下:
$ editcap -i <seconds-per-file> <input-pcap-file> <output-prefix>

合并 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 文

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泸水县| 夏津县| 柘荣县| 高陵县| 永寿县| 蒲城县| 和田县| 盐山县| 左云县| 灵丘县| 勐海县| 黎平县| 萍乡市| 图们市| 上杭县| 定兴县| 阿拉尔市| 手游| 宜昌市| 巴彦县| 天峨县| 公主岭市| 丰都县| 金平| 通河县| 平潭县| 神木县| 调兵山市| 简阳市| 当雄县| 毕节市| 锡林浩特市| 浮梁县| 梨树县| 张家川| 陇南市| 四子王旗| 开封市| 万安县| 汉沽区| 庄浪县|