流量分析:区分流媒体和下载以及其他服务?

时间:2015-10-22 09:42:10

标签: c wireshark libpcap

我是Libpcap和Wireshark新手:对于我的学校项目,我必须区分不同类型的流量(SMTP,网络流量,VoIP,在线游戏,下载,流媒体......)。 虽然起初我依赖端口号(SMTP为25,HTTP / HTTPS为80/443,......),但是出现了一些问题:总是有更多的站点支持HTTPS(因此,没有更多的有效负载调查)和简单的端口号可以告诉我重要的区别(端口443可能带来不同类型的服务)。

所以我想根据一些已知的行为对流量进行分类,例如下载和流媒体具有不同的带宽(比特率):第一个具有恒定的高带宽,第二个具有高带宽的峰值,当你拥有时,它会回到零你需要的“片断”。

由于我对这个主题不熟悉,这是我从网上获得的唯一已知行为。 任何人都能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

  1. 使用wireshark将流量划分为会话。
  2. 对于那些基于协议/端口明确分类的人,进行分类(例如,端口25 = SMTP应该是给定的)。
  3. 对于那些需要进一步分析的人,找到合适的功能,例如:
    • 平均数据包大小,
    • 数据包大小std偏差/方差,
    • 上行/下行方向的每秒数据包,
    • 总体数据
    • 上/下游数据量比率,
    • 上行/下行数据包数量比率
    • 你能想到的更多
  4. 使用3.,构建向量中的要素的数值,并应用所有分类知识:也许这是支持向量机的情况?也许你只是看看你可能看到的集群并得出结论?也许您只是生成所有相关类型的“已知”流量并将其映射到该向量空间,将每个未知会话分类为欧几里德距离 - “最接近”的已知流量类型?也许你根据你从主成分分析中学到的东西预先调整你的向量?
  5. 正如您在4.中看到的那样,有很多用于分类的工具,您需要熟练掌握分类理论来处理您的问题。