導航:首頁 > 操作系統 > linux抓包分析

linux抓包分析

發布時間:2022-12-08 15:02:40

1. linux怎麼抓包,怎麼查看分析

linux上面有命令界面的tcpmp,wireshark,圖形界面的wireshark都可以抓包。想要了解更多關於Linux的資訊和文章請關注《linux就該這么學》。

2. 如何在linux下編寫抓包程序

無論是在
linux
系統下,還是在
windows
系統下,使用
tcpflow
或者
wireshark
抓取數據包,基本思路都是一樣的。即:根據你需要抓取的數據包,設定特定的過濾規則,以及在哪一個網路適配器上進行抓包。最後將抓取的數據包保存到一個文件中,供以後的分析使用。

3. Linux命令抓包如何分包

使用tcpmp可以。
tcpmp是一個功能強大的命令行數據包分析器,它是通過監聽伺服器的網卡來獲取數據包,所有通過網路訪問的數據包都能獲取到。
它也提供了過濾器的功能,可以獲取指定的網路、埠或協議的數據包程序員日常排查問題,最常用的是使用過濾器功能獲取指定埠的數據包,用來分析伺服器是否收到請求、請求數據是否完整。

4. Linux下用tcpmp -p arp命令抓包獲取的信息幫忙分析下

這些數據包是ARP請求,請求獲得192.168.1.1的MAC地址

5. linux伺服器被攻擊如何進行抓包來進行分析

用途

tcpmp簡義:mp the traffic on a network,根據使用者的定義對網路上的數據包進行截獲的包分析工具。

 tcpmp可以將網路中傳送的數據包的「頭」完全截獲下來提供分析。它支持針對網路層、協議、主機、網路或埠的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的信息。

語法

tcpmp [-adeflnNOpqStvx][-c<數據包數目>][-dd][-ddd][-F<表達文件>][-i<網路界面>]

[-r<數據包文件>][-s<數據包大小>][-tt][-T<數據包類型>][-vv][-w<數據包文件>][輸出數據欄位]

參數說明:http://write.blog.csdn.net/postedit/72898655

-a 嘗試將網路和廣播地址轉換成名稱。

-c<數據包數目> 收到指定的數據包數目後,就停止進行傾倒操作。

-d 把編譯過的數據包編碼轉換成可閱讀的格式,並傾倒到標准輸出。

-dd 把編譯過的數據包編碼轉換成C語言的格式,並傾倒到標准輸出。

-ddd 把編譯過的數據包編碼轉換成十進制數字的格式,並傾倒到標准輸出。

-e 在每列傾倒資料上顯示連接層級的文件頭。

-f 用數字顯示網際網路地址。

-F<表達文件> 指定內含表達方式的文件。

-i<網路界面> 使用指定的網路截面送出數據包。

-l 使用標准輸出列的緩沖區。

-n 不把主機的網路地址轉換成名字。

-N 不列出域名。

-O 不將數據包編碼最佳化。

-p 不讓網路界面進入混雜模式。

-q 快速輸出,僅列出少數的傳輸協議信息。

-r<數據包文件> 從指定的文件讀取數據包數據。

-s<數據包大小> 設置每個數據包的大小。

-S 用絕對而非相對數值列出TCP關聯數。

-t 在每列傾倒資料上不顯示時間戳記。

-tt 在每列傾倒資料上顯示未經格式化的時間戳記。

-T<數據包類型> 強制將表達方式所指定的數據包轉譯成設置的數據包類型。

-v 詳細顯示指令執行過程。

-vv 更詳細顯示指令執行過程。

-x 用十六進制字碼列出數據包資料。

-w<數據包文件> 把數據包數據寫入指定的文件。

案例

tcpmp -s 0 -i eth1  -w 94ip.cap

註:監聽 ETH1網站 保存文件為94ip.cap

網雲互聯(www.94ip.net/www.94ip.com)是一家從事伺服器安全防護、入侵檢測、伺服器代維等為一體的公司,免費伺服器安全檢測,並有24小時在線運維工程師為您服務。

6. 四大網路抓包神器,總有一款適合你~

無論是開發還是測試,在工作中經常會遇到需要抓包的時候。本篇文章 主要介紹如何在各個平台下,高效的抓包。

目前的抓包軟體總體可以分為兩類:

一種是設置代理抓取http包,比如Charles、mitmproxy這些軟體。

另一種是直接抓取經過網卡的所有協議包,其中最出名就是大名鼎鼎的wireshark以及linux自帶的抓包軟體tcpmp。

下面重點介紹一下這四個抓包工具的特點以及使用。

wireshark想必大多數程序員都不會陌生。wireshark在各個平台都可以安裝使用,它 可以抓取經過指定網卡的所有協議。 wireshark雖然很強大,但是對初學者其實不是很友好。

這也正是由於它太強大,它可以抓取所有包,所以初學者在使用時面對茫茫數據流不知所措。初學者需要認真的去學習怎麼過濾得到自己感興趣的包,但是如果不熟悉wireshark的過濾語法,要過濾數據包將舉步維艱。

過濾語法簡單介紹

wireshark的過濾語法總結起來其實也很簡單,就是 以協議開頭,後面可以跟著協議的屬性,然後加上一些判斷符號, 比如contains、==、>、<等等。比如只想展示http的協議內容,則直接在過濾器輸入框中輸入http即可。

如下圖:

比如我 只想看http協議的請求頭中uri包含』/api』的協議,就可以這么寫:

如果想通過目標ip或者來源ip來過濾包,就不可以以http協議為前綴了,因為這些是ip協議的相關屬性。 通過目標ip來過濾可以這么寫:

上面表示目標機器的ip是61.135.217.100並且協議是http的包。

wireshark支持很多種協議,我們可以通過右上角的expression來打開搜索支持的協議,還可以找出協議支持的屬性,然後填入期待的值,軟體會自動為我們構建過濾語句。

優點:

功能強大,可以抓取所有協議的包

抓到的包容易分析

缺點:

由於線上伺服器沒有GUI,只有命令行,因此無法在線上伺服器使用

無法分析https數據包,由於wireshark是在鏈路層獲取的數據包信息,所以獲取到的https包是加密後的數據,因此無法分析包內容。當然,我們可以對https數據包進行解密, 但是操作具有一定的復雜度,可能要消耗很多時間。

tcpmp是linux上自帶的一個抓包軟體(mac也有),功能強大,也可以抓取經過指定網卡的所有協議包。

由於是命令行工具,tcpmp抓取到的包不易於分析,一個常見的做法是將tcpmp抓到的包輸出到某個文件,然後將文件拷貝下來用wireshark分析。

一些簡單的過濾參數:

抓包內容輸出到文件:

之後我們可以把test.cap直接用wireshark打開,就可以很直觀的分析包了。

用tcpmp輸出cap文件包:

tcpmp-r test.cap

Charles是一款http抓包工具,它是通過代理來實現的抓包。也就是我們在訪問網頁時需要配置代理,將代理指向Charles監聽的埠,之後我們的http請求都會發向Charles的埠,之後Charles會幫我們轉發並記錄協議內容。

Charles的使用非常簡單,配置好代理後,Charles就開始抓包了。

我們可以直接通過Charles的GUi查看包的內容:

上圖中的unknown表示https加密後的數據,所以看到不協議的具體內容。我們可以通過安裝Charles的證書,讓Charles也可以查看https協議的具體內容。

優點 :

使用簡單,只需配置一下代理地址就可以

要抓取https協議的配置也很簡單,只要安裝下charles的證書就可以了

mitmproxy是python寫的一款http抓包工具,雖然只支持http抓包,但是它的特性非常強大,它不僅可以抓包,還可以對請求進行攔截、重現等操作。和Charles一樣,它的原理也是基於代理,使用的時候需要設置代理指向它。

mitmproxy是命令行工具,但是也自帶了mitmweb工具,可以讓用戶在網頁上操作。另外,mitmproxy還支持用戶自行編寫插件,可以編寫腳本對請求進行處理,然後把修改後的請求發出去。

1、安裝 

首先需要在機器安裝python3以及pip3.之後通過pip3安裝

pip3 install mitmproxy

如果安裝mitmproxy過程中報錯MoleNotFoundError: No mole named '_ssl',就需要安裝一下OpenSSL,然後再重新編譯安裝一下python3。

安裝好openSSL後再執行pip3 install mitmproxy

2、使用 

安裝後,直接在命令行輸入mitmproxy就會進入它的交互界面:

這時候mitmproxy已經開始監聽8080埠(默認),接著,我們可以去瀏覽器設置代理。瀏覽器設置代理的方式有很多,這里不多做介紹。

設置完代理後,訪問瀏覽器的請求都會被發到mitmproxy上,mitmproxy根據規則對請求進行攔截(不配置攔截規則的話則都不攔截),所有經過的請求都會被輸出:

在交互界面上可以通過快捷鍵操作請求。輸入問號』?』,可以查看快捷鍵的文檔。

3、下面介紹一些常用的快捷鍵和功能

① 請求過濾  

在請求列表交互界面,按下f鍵後,可以輸入一些過濾規則:

具體的過濾語法可以按下』?『鍵後,再按下方向鍵右』—>』或者l鍵。

② 請求攔截 

按下i鍵後,可以對指定的請求進行攔截。按mitmproxy收到指定條件的請求時,不會立馬把它轉發出去,而是等待我們執行resume操作後,才會把請求轉發出去——在這期間我們甚至可以對請求進行手動修改。

紅色字體表示該請求被攔截,之後我們可以按入a鍵來恢復該請求,可以輸入A鍵恢復所有被攔截的請求。

③ 查看/編輯請求 

把指示游標移動到某個請求上,按回車可以查看請求的內容。或者滑鼠直接點擊請求也可以。

之後通過左右方向鍵可以查看request、response、detail等信息。

如果要編輯請求,可以在這個界面輸入e,然後會讓我們選擇編輯哪塊內容:

之後就會進入vim編輯界面編輯相應的內容了(保存後會生效)。

④ 重發請求 

mitmproxy的游標指向某個請求時,按下r鍵可以重發這個請求(重發前可以對該請求進行編輯)。

按下』:』鍵後,可以輸入命令,這樣我們就可以通過過濾規則批量的重發請求

replay.client是mitmproxy內置的一個命令,我們也可以自行編寫命令。命令的編寫可以參考官網文檔,這里不做介紹。

⑤ 插件開發 

我們可以編寫插件,然後再啟動的時候指定插件,mitmproxy處理請求的時候會執行一個插件的鏈,這樣我們就可以對請求進行編輯然後再發送出去了。

借用官網的插件demo:

這個方法對每一個請求進行處理,然後列印序號。通過mitmproxy -s test.py來讓插件生效。通過插件可以綁定各種連接事件。感興趣的朋友可以自行去mitmproxy官網看文檔,這里不多做介紹。

⑥ 保存抓到的請求數據 

通過w快捷鍵我們可以把這次抓到的請求包保存到文件上。

通過mitmproxy -r file可以讀取以前抓取的請求信息進行分析。

優點:

命令行操作,可以在無GUI界面的伺服器上使用

對於這幾個抓包神器,我總結了下使用場景:

只抓http協議的話:

推薦使用mitmproxy。mitmproxy豐富的功能不僅可以滿足我們的抓包需求,還可以提升我們的工作效率。比如測試可以抓包後一鍵重發請求來重現bug,開發調試的時候可以修改請求內容等等。

如果是在線上的沒有GUI的伺服器:

推薦使用tcpmp,雖然mitmproxy也可以支持命令行抓包,但是生產環境的伺服器最好不要亂安裝第三方插件。另外,大多數伺服器都有裝tcpmp。我們可以通過把請求的內容輸出到文件,然後拷貝會自己的電腦用wireshark分析。

想要抓取http以外的協議的話:

直接上wireshark。功能強大。對於Charles,感覺用了mitmproxy之後,就基本用不上Charles了。Charles好像也可以編輯後再發送,但是感覺不是很好用,可能我用的不是很熟吧。

7. linux系統如何抓包

linux主機抓包使用tcpmp,可以加不同參數過濾源IP、埠,目的IP、埠,可以撰寫到指定文件中。抓包結果可以用ethereal,wireshark進行分析。

閱讀全文

與linux抓包分析相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:142
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:732
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:301
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:141
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:890
app轉賬是什麼 瀏覽:163