## 在metasploit如何使用日志
通常,如果Metasploit中的一些東西觸發錯誤,那么會有一個回溯或者至少一個簡短的信息來解釋問題所在。大多數時候,這沒有什么不妥。但有時候,如果你想報告這個問題,你可能會失去這些信息,這會使得你的bug報告信息量減少,而且這個問題可能需要更長時間才能解決。這就是為什么在很多情況下log文件是非常有用的。在本文檔中,我們將解釋如何正確利用這一點。
### 基本例子
作為用戶,您應該知道所有記錄的錯誤都保存在名為framework.log的文件中。
保存路徑在Msf::Config.log_directory中定義,這意味著在msfconsole中,可以切換到irb并找出它的位置
~~~
msf > irb
[*] Starting IRB shell...
>> Msf::Config.log_directory
=> "/Users/test/.msf4/logs"
~~~
在默認情況下 log的等級為0.最少的信息級別.但是當然,你可以設置數據存儲選項來更改此設置,就像
~~~
msf > setg LogLevel 3
LogLevel => 3
msf >
~~~
### log等級
在`log/rex/constants.rb`有4個不同的log等級定義
| Log Level | 描述 |
| --- | --- |
| LEV_0 (Default) | 如果沒有指定時的默認日志級別,當啟用日志記錄時應始終顯示日志消息時使用它.除了必要的信息記錄和錯誤/警告記錄之外,在這個級別上應該發生很少的日志消息。不建議在零級日志記錄進行調試。|
| LEV_1 (Extra) | 當需要額外的信息來理解錯誤或者警告信息的原因,或者得到調試信息,這些信息可能會提供關于發生某些事情的線索時,應該使用這個日志級別。這個日志級別只有在信息可以用來理解基本級別的行為時才能使用。這個日志級別不應該以詳盡的冗長的方式使用。 |
| LEV_2 (Verbose) | 當需要詳細信息來分析框架的行為時,應使用此日志級別。這應該是不屬于LEV_0或LEV_1的所有詳細信息的默認日志級別。如果您不確定,建議您默認使用此日志級別。 |
| LEV_3 (Insanity) | 這個日志級別應該包含關于框架行為的非常詳細的信息,比如關于某些階段的變量狀態的詳細信息,包括但不限于循環迭代,函數調用等等。這個日志級別很少會顯示,但是當它提供的信息應該可以很容易地分析任何問題。 |
出于調試的目的,最好打開最高級別的日志記錄
### logging api
主要有5種你將會很可能經常使用的log方法.他們都有完全相同的參數.讓我們使用其中一個日志記錄方法來解釋這些參數是干什么的
~~~
def elog(msg, src = 'core', level = 0, from = caller)
~~~
* msg: 你想要記錄的信息
* src: 這個錯誤的來源(默認core,來自metasploit core)
* level: 這個日志的記錄
* from:當前執行堆棧 caller是Kernel的一個方法
| Method | Purpose |
| --- | --- |
| dlog() | LOG_DEBUG |
| elog() | LOG_ERROR |
| wlog() | LOG_WARN |
| ilog() | LOG_INFO |
|rlog()|LOG_RAW |
### 代碼例子
~~~
elog("The sky has fallen")
~~~
- Home
- 開始使用
- 安裝metasploit開發環境
- 使用metasploit
- 使用git
- 報告一個bug
- 貢獻代碼
- 貢獻給metasploit
- 創建一個loginscans Metasploit模塊
- 接受模塊和增強功能的指導
- 常見的Metasploit模塊代碼錯誤
- 樣式提示
- metasploit提交者
- metasploit開發
- 為什么是ruby
- 樣式提示
- 如何開始寫一個exploit
- 如何開始寫一個輔助模塊
- 如何開始寫一個post模塊
- 如何開始寫一個Meterpreter腳本
- 載入外部模塊
- exploit rank
- Metasploit模塊引用標識符
- 怎么在你的exploit中確認window補丁程序級別
- 如何使用filedropper清理文件
- 如何棄用metasploit模塊
- 如何在模塊開發中報告或儲存數據
- 在metasploit如何使用日志
- 如何在metasploit對JavaScript進行混淆
- 如何解析一個http響應
- 如何使用HTTPClient發送HTTP請求
- 如何使用命令階段
- 如何使用數據儲存選項
- 如何在window后期開發中使用railgun
- 如何在exploit中使用powershell
- 如何使用PhpEXE來利用任意文件上傳漏洞
- 如何使用FILEFORMAT mixin創建一個文件格式exploit
- 如何使用BrowserExploitServer編寫一個瀏覽器exploit
- 如何使用HttpServer編寫瀏覽器exploit
- 如何編寫一個check()方法
- 如何使用Seh mixin來利用異常處理程序
- 如何在Windows上使用WbemExec進行寫入權限攻擊
- 如何使用httpserver和httpclient編寫一個模塊
- payloads如何工作
- 如何免殺
- 如何正確使用metasploit模塊