justniffer实战应用

在上一篇blog《justniffer使用指南》中讲了justniffer的基本使用,本篇blog将分享一下justniffer在生产环境中的具体使用。下面就实际环境中的使用举一些例子加以说明。

0x01 输出日志格式

首先要讲到的就是justniffer的日志输出日志格式,因为这个功能太实用而且强大了。

使用参数:-l or –log-format=<format>

基本示例输出Example: justniffer -i eth0 -l “\”%request.line\”%tab%response.time”

其输出的日志格式如下形式:

“POST /v2/rss/network/oreste.notelli?src=ffbmext2.1.034 HTTP/1.1” 0.623382
“GET /man_page_howto.html HTTP/1.1”       0.024437

0x02 日志格式关键字

由于涉及到的关键字较多,这里就不一一列举说明,详细见官方文档

0x03 时间戳格式化表示

justniffer所采用的时间戳格式采用标准的strtime格式

详细相关格式化参数见官方文档

0x04 实例使用教程

实例1:
$ justniffer -i eth0

监听eth0网卡,并直接打印出标准的access_log格式日志,输出日志如下:

justniffer_access_log

实例2:

$ justniffer -i eth0 -a " %response.time"

添加响应时间,其他格式如实例1,输出格式如下:

justniffer_access_log2

实例3:

$ justniffer -i eth0 -r

全包数据捕获(添加-u或者-x参数编码不可打印的字符)。输出格式如下:

justniffer_access_log3

实例4:

$ justniffer -i eth0 -l "%request.timestamp %source.ip %dest.ip %request.header.host %request.url"

定义一个完全自定义的日志格式,输出格式如下:

justniffer_access_log4

实例5:

$ justniffer -f /file.cap

tcpdump 的命令格式: tcpdump -w /tmp/file.cap -s0 -i ath0

从一个.pcap数据包中分析和处理。注意:捕获文件必须与整个数据包捕捉无限snaplen用于执行。justniffer可以工作在整个包pcap文件。

实例6:

$ justniffer -i eth0 -l "%request.timestamp %request.header.host %request.url %response.time"

采用多个关键词可以构造更加自定义化的输出格式,上面的配置参数输出如下:

justniffer_access_log5

也可以指定时间戳格式:

$ justniffer -i eth0 -l "%request.timestamp (%B %d %Y %H:%M:%S) %request.header.host %request.url %response.time"

jn-2

或者当%request.header.host  的之不存在时打印出“NoHostFound”字符串:

$ justniffer -i eth0 -l "%request.timestamp %request.header.host (NoHostFound)%request.url %response.time"

jn-3

一些关键词都有自己的格式,可以使用(-n)参数设置未识别出来的字符串。一般是:%request.header.[headername],当然如果存在“not found”字符串时,将会覆盖掉-n参数:

$ justniffer -i eth0 -l "%request.timestamp %request.header.host(NoHostFound) %request.header.host %request.url %response.time" -n N/A

输出如下:

jn-4

实例7:

捕获http数据报文。使用-p参数可以让你通过兼容tcpdump过滤语法的格式进行自定义输出。例如:

$ justniffer -i eth0 -r -p "port 80 or port 8080"

实例8:

使用-e参数执行扩展脚本。这样的话,justniffer的输出将会重定向:

$ justniffer -l "%response" -e ./myscript.sh -i ath0

myscript.sh脚本内容如:

#!/bin/bash
# myscript.sh 
# example script (print all lines containing "href" string)

while read inputline
do 
anchors=`echo "$inputline" | grep href`
if [ "$anchors" != "" ]; then
echo $anchors;
fi;
done

实例9:

捕获SMTP数据报文,如:

$ justniffer -i eth0 -r -p "port 25"

jn-6

实例10:

通过常用关键词记录类如日志记录,提供基于HTTP协议的测量接线时间,服务性能概述响应时间,TCP连接超时,保持请求等:

$ sudo justniffer -i eth0 -u -p "port 80 or port 8080" -l "%request.header.host %request.url %connection.time %idle.time.0  %request.time %response.time.begin %response.time.end %idle.time.1 %connection %close.originator"

jn-8

实例11:

通过正则匹配进行关键字查找。例如对URL的正则:[^\s]*[\s]*([^\s]*), 基于http的正文内容的正则:Content-Type:(\s)*([^\r]*)

$ sudo justniffer -l "%request.header.grep([^\s]*[\s]*([^\s]*)) %response.header.grep(Content-Type:(\s)*([^\r]*)) %source.ip" -i eth0

jn-10

 

 



这篇博文由 s0nnet 于2016年05月26日发表在 Kali Linux, TCP/IP, 安全工具, 安全资讯, 网络安全 分类下, 通告目前不可用,你可以至底部留下评论。
如无特别说明,计算机技术分享发表的文章均为原创,欢迎大家转载,转载请注明: justniffer实战应用 | 计算机技术分享
关键字: ,

justniffer实战应用:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter