第一,P2P流媒体流量捕获。捕获某一运行P2P流媒体应用主机的流量数据,从大量的数据实验可以发现,P2P流媒体的数据传输通常采用的是UDP协议,而且流媒体的控制协议特征比较明显,这些包的字节大小范围大概在65字节到300字节以内。我们对数据进行了初步过滤,限定协议为UDP并且数据包长度范围为65字节到300字节范围内,将一段时间内的这些数据包信息进行捕获保存,以备下一步处理。
第二,监听端口识别。P2P流媒体软件通常都会对某个或某几个特定的端口进行监听,如果能识别出此应用的监听端口的话,将会对特征码提取提供很大的帮助。根据P2P流媒体数据交互比较活跃的特性,对每个端口收发的数据包数目进行统计,数据最多的往往都是流媒体应用。通过对端口的过滤提高数据的纯度,进而提高特征码的准确性。将第一步得到的数据进行端口统计,得到流媒体应用的监听端口号。
第三,数据分片。将第二步得到的端口号作为过滤条件,对数据进行再一次过滤,这样就得到了比较纯净的数据。然后将每一个数据包的负载部分按照固定长度进行分片,比如我们以n字节长度对数据包进行分片,每获取n个字节作为一个分片,然后在这个分片末尾增加一个字节去表示他的位置信息,这里取的是最后一个字节的位置,那么第一个n 个字节分片的位置信息就是 ,依次类推,第二个分片的位置信息就是2n,第三个分片的位置信息就是3n,数据包末尾部分如果小于分片长度将被丢弃。
分片以后我们将包含位置信息的分片进行One-Way Hash,进而得到各个字符分片的覆盖率,设定一个阈值以表现某个特征码片段是否出现的很频繁,将覆盖率大于的字符分片挑选出来供下一步处理。这里的覆盖率定义的某一字符分片在数据包中出现的频率。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。