## 在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模块