这个文章是描述在MATLAB中集成网络分组实时捕获和PCAP抓包文件读取的能力。
capture = pcap2matlab(filter, decodeas_and_dissector,filename_or_interface, capture_stop_criteria)
输出变量是一个MATLAB结构,也就是每个被捕获的分组条目,由分组内容构成,这些内容也是由输入参数决定的。这个函数是基于TShart网络协议分析http://www.wireshark.org/docs/man-pages/tshark.html 。有两种模式:
(1)Capture mode,也就是捕获模式。这种模式就是侦听在所要求的网络接口上,基于一些预设定的标准(比如过滤器),输出相关分组的字段,基于解码器和解析器等输入参数。
(2)Read mode,也就是读取模式。这种模式就是读取一个已存在的pcap文件,然后基于预定义的规则(比如过滤器)输出相关的分组字段。
这个函数目前支持PC 32/64位,也支持Linux 32/64位平台,其他的平台未来可以加入进去。
输入参数包括:
* filter - TShark格式的捕获过滤参数;
*decodeas_and_dissector - 这个输入参数可以是下述参数中的一种
(1)一个MATLAB结构,该结构的字段名称就是捕获到的分组字段名称,因而该结构中每个字段的内容构成了所捕获到的分组特定字段的BYTE内容;
(2)一个1维字符串包含TShark解码表达(TShark -d flag)以及TShark解析器表达(TShark -e flag)。每个解析器的表达式将会导致一个在输出匹配字段。
*filename_or_interface - 该输入参数可以是如下:
1. 一个整数。标识网络接口(TShark -i flag),设置这个输入参数为一个整数会自动将函数置为Capture模式。
2.一个文件名字符串。标识需要读取的pcap文件。设置该参数为一个文件名字符串将会自动设置该函数为Read模式。
*capture_stop_criteria - 仅和捕获模式相关(不会工作在读取模式)。设置捕获的‘停止捕获’的标准(TShark -a/-c flag)。这个输入参数可以是如下的几项:
1. 一个数值,设置捕获的分组总数(TShark -c flag)
2. 一个字符串,标识一个捕获停止标准(TShark -a flag)
3. 一个数组,组合一些合规的捕获停止标准参数比如('duration:10',100),这会在10秒或100个分组(哪个条件先达到就停止)。
3739

被折叠的 条评论
为什么被折叠?



