tshark
是网络分析工具wireshark
下的一个工具,主要用于命令行环境进行抓包、分析,尤其对协议深层解析时,tcpdump
难以胜任的场景中。本文将介绍与tshark
相关的流量解决方案。
tshark + elastic stack
利用tshark,不仅可以对现有的pcap文件进行分析,由于可以输出其他格式,也就可以结合ES的强大搜索能力,达到对数据报文进行记录、分析处理的能力,可以实现回溯分析,结合kibana可视化工具,甚至达到实时可视化监控。
elastic stack全家桶
最早ELK全家桶,logstash性能一直被诟病,后来另起炉灶,针对采集使用golang
构建出一套beats,用于不同的采集场景。其中针对网络流量,开发出packetbeat
。
packetbeat
的优势是定制了elasticsearch
的mapping
、kibana
一系列可视化图表,可以满足一般对tcp、dns、udp等常规报文的分析。基本达到开箱即用程度。
但packetbeat
也有不足,对报文的分析采用会话分析,没有一个个报文单独分析,倾向于应用层,对网络层面分析不足(尤其是故障排查时),此外,支持的协议有限,仅常见协议与tshark
的2000多种存在明显差距,当遇到不支持时,需要等待支持或手动写插件,难度极高。
离线导入elasticsearch
tshark
支持将pcap报文分析后生成json文件导入elasticsearch
,同时支持elasticsearch
的批量导入接口_bulk
的格式,命令如下: