Wireshark lua 插件实现切流操作

在本次专栏《wireshark从入门到精通》前面讲述tshark部分中,使用tshark实现了切流操作,这里。那篇文章中最大的问题在于使用tshark实现切流时间复杂度非常的高,实际实现起来速度太慢。原因在于tshark只能够按照一个报文文件来处理,通过本专栏的前述文章可知,wireshark lua插件方法能够实现对于单片报文的控制。因此本文将基于此介绍一种只需要遍历一遍报文文件,就可以完成切流操作的方法。

对于流等概念不是特别明确的小伙伴可以参考本专栏的这篇文章。总的来说我们通常认为的TCP流或者UDP流就是源IP+目的IP+源端口+目的端口+传输层的协议则建立起网络中的一条虚拟链接,流则保证了一片片的数据报文在整个互联网中有规则的流动。而我们要做的就是将每一条唯一虚拟链接上的报文单独保存成为一个文件。对于每一条流的命名,使用了wireshark流号,IP地址,端口号,ip.version等参数来为流命名了。
相应的lua脚本:

local getTcpStream =Field.new("tcp.stream")
local getSrcIp =Field.new("ip.src")

猜你喜欢

转载自blog.csdn.net/javajiawei/article/details/103963810