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

如果你是一個(gè)測試入侵偵測系統(tǒng)或一些網(wǎng)絡(luò)訪問控制策略的網(wǎng)絡(luò)管理員,那么你經(jīng)常需要抓取數(shù)據(jù)包并在離線狀態(tài)下分析這些文件。當(dāng)需要保存捕獲的數(shù)據(jù)包時(shí),我們一般會(huì)存儲(chǔ)為 libpcap 的數(shù)據(jù)包格式 pcap,這是一種被許多開源的嗅探工具以及捕包程序廣泛使用的格式。如果 pcap 文件被用于入侵測試或離線分析的話,那么在將他們注入網(wǎng)絡(luò)之前通常要先對 pcap 文件進(jìn)行一些操作。
在這篇文章中,我將介紹一些操作 pcap 文件的工具,以及如何使用它們 。
Editcap 與 Mergecap
Wireshark,是最受歡迎的 GUI 嗅探工具,實(shí)際上它帶了一套非常有用的命令行工具集。其中包括 editcap 與 mergecap。editcap 是一個(gè)萬能的 pcap 編輯器,它可以過濾并且能以多種方式來分割 pcap 文件。mergecap 可以將多個(gè) pcap 文件合并為一個(gè)。 這篇文章就是基于這些 Wireshark 命令行工具的。
如果你已經(jīng)安裝過 Wireshark 了,那么這些工具已經(jīng)在你的系統(tǒng)中了。如果還沒裝的話,那么我們接下來就安裝 Wireshark 命令行工具。 需要注意的是,在基于 Debian 的發(fā)行版上我們可以不用安裝 Wireshark GUI 而僅安裝命令行工具,但是在 Red Hat 及 基于它的發(fā)行版中則需要安裝整個(gè) Wireshark 包。
Debian, Ubuntu 或 Linux Mint
Fedora, CentOS 或 RHEL
當(dāng)安裝好工具后, 就可以開始使用 editca 與 mergecap 了。
pcap 文件過濾
通過 editcap, 我們能以很多不同的規(guī)則來過濾 pcap 文件中的內(nèi)容,并且將過濾結(jié)果保存到新文件中。
首先,以“起止時(shí)間”來過濾 pcap 文件。 " - A < start-time > 和 " - B < end-time > 選項(xiàng)可以過濾出在這個(gè)時(shí)間段到達(dá)的數(shù)據(jù)包(如,從 2:30 ~ 2:35)。時(shí)間的格式為 “ YYYY-MM-DD HH:MM:SS"。
也可以從某個(gè)文件中提取指定的 N 個(gè)包。下面的命令行從 input.pcap 文件中提取100個(gè)包(從 401 到 500)并將它們保存到 output.pcap 中:
使用 "-D < dup-window >" (dup-window可以看成是對比的窗口大小,僅與此范圍內(nèi)的包進(jìn)行對比)選項(xiàng)可以提取出重復(fù)包。每個(gè)包都依次與它之前的 < dup-window > -1 個(gè)包對比長度與MD5值,如果有匹配的則丟棄。
遍歷了 37568 個(gè)包, 在 10 窗口內(nèi)重復(fù)的包僅有一個(gè),并丟棄。
也可以將 < dup-window > 定義成時(shí)間間隔。使用"-w < dup-time-window >"選項(xiàng),對比< dup-time-window > 時(shí)間內(nèi)到達(dá)的包。
檢索了 50000 個(gè)包, 以0.5s作為重復(fù)窗口,未找到重復(fù)包。
分割 pcap 文件
當(dāng)需要將一個(gè)大的 pcap 文件分割成多個(gè)小文件時(shí),editcap 也能起很大的作用。
將一個(gè) pcap 文件分割成數(shù)據(jù)包數(shù)目相同的多個(gè)文件
輸出的每個(gè)文件有相同的包數(shù)量,以 < output-prefix >-NNNN的形式命名。
以時(shí)間間隔分割 pcap 文件
合并 pcap 文件
如果想要將多個(gè)文件合并成一個(gè),用 mergecap 就很方便。
當(dāng)合并多個(gè)文件時(shí),mergecap 默認(rèn)將內(nèi)部的數(shù)據(jù)包以時(shí)間先后來排序。
如果要忽略時(shí)間戳,僅僅想以命令行中的順序來合并文件,那么使用 -a 選項(xiàng)即可。
例如,下列命令會(huì)將 input.pcap 文件的內(nèi)容寫入到 output.pcap, 并且將 input2.pcap 的內(nèi)容追加在后面。
總結(jié)
在這篇指導(dǎo)中,我演示了多個(gè) editcap、 mergecap 操作 pcap 文件的例子。除此之外,還有其它的相關(guān)工具,如 reordercap用于將數(shù)據(jù)包重新排序,text2pcap 用于將 pcap 文件轉(zhuǎn)換為文本格式, pcap-diff用于比較 pcap 文
相關(guān)文章
新特性搶先看! Ubuntu 25.04 Beta 發(fā)布:Linux 6.14 內(nèi)核
Canonical公司近日發(fā)布了Ubuntu 25.04 Beta版,這一版本被賦予了一個(gè)活潑的代號(hào)——“Plucky Puffin”(勇敢的海雀),據(jù)悉,正式的穩(wěn)定版預(yù)計(jì)將在2025年4月17日與廣大用戶2025-03-29如何讓 Ubuntu 居中顯示窗口? 3種方法實(shí)現(xiàn)Ubuntu窗口居中顯示
個(gè)人習(xí)慣不管打開終端窗口還是文件管理器窗口,都希望居中顯示,不太喜歡Linux下自動(dòng)隨意的擺放位置,下面我們就來看看詳細(xì)設(shè)置方法2025-03-11Ubuntu 24.04.2 LTS 正式發(fā)布: 帶來全新硬件支持啟用堆棧HWE
buntu 24.04 LTS 的第 2 個(gè)小版本Ubuntu 24.04.2 LTS 正式發(fā)布,出了修復(fù)漏洞以外,它還帶來了全新的硬件支持啟用堆棧(HWE),讓系統(tǒng)性能和硬件兼容性更上一層樓2025-02-25怎么關(guān)閉Ubuntu無人值守升級(jí)? Ubuntu禁止自動(dòng)更新的技巧
Ubuntu Linux系統(tǒng)禁止自動(dòng)更新的時(shí)候,提示“無人值守升級(jí)在關(guān)機(jī)期間,請不要關(guān)閉計(jì)算機(jī)進(jìn)程”,該怎么解決這個(gè)問題?詳細(xì)請看下文介紹2025-01-20高效管理你的Linux系統(tǒng): Debian操作系統(tǒng)常用命令指南
在Debian操作系統(tǒng)中,了解和掌握常用命令對于提高工作效率和系統(tǒng)管理至關(guān)重要,本文將詳細(xì)介紹Debian的常用命令,幫助讀者更好地使用和管理Debian系統(tǒng)2025-01-20debian更新系統(tǒng)的命令怎么用? 輕松配置Debian自動(dòng)更新的技巧
Debian不手動(dòng)更新怎么體驗(yàn)新系統(tǒng)?Debian提供了一個(gè)既簡單又高效的解決辦法——自動(dòng)更新,該怎么用呢?詳細(xì)請看下文介紹2025-01-20如何配置Ubuntu無人值守升級(jí)? 手動(dòng)操作實(shí)現(xiàn)Ubuntu自動(dòng)升級(jí)技巧
無人值守升級(jí)是一個(gè)用于自動(dòng)更新 Debian 和 Ubuntu 系統(tǒng)的開源項(xiàng)目,該項(xiàng)目的主要目的是確保系統(tǒng)能夠定期自動(dòng)安裝安全更新,從而保持系統(tǒng)的安全性和穩(wěn)定性2025-01-20Ubuntu系統(tǒng)怎么安裝Warp? 新一代AI 終端神器安裝使用方法
Warp是一款使用Rust開發(fā)的現(xiàn)代化AI 終端工具,該怎么再Ubuntu系統(tǒng)中安裝使用呢?下面我們就來看看詳細(xì)教程2025-01-20Debian如何查看系統(tǒng)版本? 7種輕松查看Debian版本信息的實(shí)用方法
Debian是一個(gè)廣泛使用的Linux發(fā)行版,用戶有時(shí)需要查看其版本信息以進(jìn)行系統(tǒng)管理、故障排除或兼容性檢查,在Debian系統(tǒng)中,有幾種不同的方法可以查看版本信息2025-01-17解決VMware中Ubuntu虛擬機(jī)鼠標(biāo)閃爍或指針位置不正確的方案
剛下載虛擬機(jī)后,電腦在虛擬機(jī)內(nèi)出現(xiàn)了鼠標(biāo)閃爍或者鼠標(biāo)指針位置不對的問題,該怎么解決呢?下面我們就來看看詳細(xì)教程2025-01-09