INAV:一款专用的日志审查导航工具
source link: https://www.freebuf.com/sectool/225113.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
LNAV,即Log File Navigator,INAV是一款增强型日志文件查看工具,安全审计人员可以利用INAV来分析并检查日志文件,并从中收集到相关的语义信息,例如时间戳和日志级别。使用这些额外的语义信息,INAV可以做很多事情,比如比对来自不同文件的信息,生成信息的直方图,以及帮助审计人员在日志文件中实现快速定位即导航,并帮助研究人员快速有效地发现问题。
工具依赖
在构建和使用INAV之前,研究人员需安装下列工具依赖组件:
gcc/clang – 兼容C++14的编译器 libpcre – Perl兼容正则表达式(PCRE)库 sqlite – SQLite数据库引擎,需要3.9.0或更高版本 ncurses – 文本UI库 readline – readline文本编辑库 zlib – zlib压缩库 bz2 – bzip2压缩库 libcurl – 根据URL下载文件的cURL库,需要7.23.0或更高版本
工具安装
LNAV的安装和配置符合GNU风格,广大安全审计人员可以使用下列命令完成LNAV的安装:
$ ./configure $ make $ sudo make install
如果广大用户是直接使用下列命令将项目代码克隆至本地的话:
git clone https://github.com/tstack/lnav.git
那么我们就需要运行下列编译脚本来完成源码编译,在命令行中切换到源码目录,然后运行下列命令:
$ ./autogen.sh
Cygwin用户
当然了,大家也可以在Cygwin中完成源码编译。或者说,你也可以直接从AppVeyor中获取已生成好的源码。请记住,此时你仍然需要使用Cygwin来配置INAV的依赖组件,直接运行下列命令即可完成依赖配置:
setup-x86_64.exe -q -P libpcre1 -P libpcrecpp0 -P libsqlite3_0 -P libstdc++6
根据我们对目前版本的测试,INAV的x64版本会比x86版本更加稳定。
工具使用
安装完成后,广大用户可以直接在无参数的情况下来使用INAV,并查看日志文件:
$ lnav
你也可以使用下列命令来查看所有的syslog信息:
$ lnav /var/log/messages*
配合systemd-journald使用
如果系统中运行了systemd-journald,你也可以使用INAV配合systemd-journald一起使用:
$ journalctl | lnav
或者:
$ journalctl -f | lnav
由于journalctl的默认输出格式忽略了年份数据,因此如果你查看的日志跨越了多个年份的话,则需要更改输出格式以包含年份,否则lNAV可能会出现错误情况:
$ journalctl -o short-iso | lnav
journalctl也可以支持JSON输出格式,INAV还会使用到很多额外的数据域,例如PRIORITY和_SYSTEMD_UNIT:
工具截图
下列截图中显示的是一个系统日志文件(syslog),其中的关键内容已高亮显示,错误信息为红色标记,警告信息为黄色标记。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK