Linux中使用gdb dump記憶體

2021-09-25 09:37:42 字數 1059 閱讀 9546

在應急響應中,我們往往會有dump出某一塊記憶體下來進行分析的必要。今天要講的是利用gdb命令dump出sshd程序的記憶體。

按照 linux 系統的設計哲學,核心只提供dump記憶體的機制,使用者想要dump什麼樣的記憶體,dump多少記憶體是屬於策略問題,由使用者來決定。

在真實的使用場景中,主要有兩種使用方式:

以下演示的是dump出某乙個程序(sshd)的記憶體。

ps aux | grep sshd    #過濾出sshd程序,記錄其pid

cat /proc/1431/maps #檢視1431程序的記憶體位址

啟動gdb,將sshd程序attach到gdb上

dump指定記憶體位址到指定的目錄下

dump memory /tmp/sshd.dump 0x7f25c2a4e000 0x7f25c2a59000  #這裡只dump sshd程序的第一塊記憶體

dump memory /tmp/sshd.dump 0x7f25c2a4e000 0x7f25c2e61000 #dump了指定的記憶體塊

# "dump memory"是命令

# "/tmp/sshd.dump"是我們想儲存dump出的內容的路徑。

# 兩個hex是記憶體位址區間,這跟/proc/1431/maps的格式有些不一樣。這是以0x開頭的16進製表示的。

之後,去/tmp目錄下,可以看到dump出的sshd.dmp記憶體

strings -10 sshd.dump   #檢視sshd.dump記憶體中至少大於10字元的字元

在Linux中使用執行緒

我並不假定你會使用linux的執行緒,所以在這裡就簡單的介紹一下。如果你之前有過多執行緒方面的程式設計經驗,完全可以忽略本文的內容,因為它非常的初級。首先說明一下,在linux編寫多執行緒程式需要包含標頭檔案pthread.h。也就是說你在任何採用多執行緒設計的程式中都會看到類似這樣的 1 incl...

Linux系統中使用NCBI BLAST

實操 linux系統中使用ncbi blast mp.weixin.qq.com 全基因組基因家族成員鑑定與分析中,第一步就需要通過資料庫檢索進而鑑定成員,基於此方可進行諸如構建進化樹 保守domain和motif分析 基因結構分析等一系列生物資訊學 分析以及轉錄組或螢光定量表達分析 微生物測序資料...

linux中使用awk命令

awk的取名是貝爾實驗室的alfred.aho和peter.weinberger和brain.kernigham三個人的名字取首字母組成的。awk命令能從乙個或多個文字檔案或字串中逐個記錄或逐行掃瞄 將每個記錄與匹配模式相比較 當發現匹配格式時抽取資料或格式化報文,或執行相應的文字操作。awk命令格...