最近,我一直在阅读一些有关互联网流量分类的论文,特别是使用机器学习算法。
我打算研究它,并且我想为本学期的机器学习类(class)提出一个关于互联网流量分类的项目想法。
我的第一步是收集由 3-4 个客户端组成的本地网络上的数据。我正在使用wireshark工具来嗅探数据包。
我的下一步是从wireshark数据包中提取TCP流。在这一步中,我尝试在 Linux 上使用 tcpflow。 tcpflow 为每个流创建不同的文件。在这里,文件的内容大部分是二进制的,我不知道如何从这些文件中提取鉴别器。
有人可以给我一个想法或分享他/她关于如何解释 tcpflow 文件的经验吗?我将非常高兴听到您的推荐。
提前致谢。
最佳答案
以下是一些可以从 TCP 流量中提取功能的想法:
- 端口/协议(protocol)(大多数协议(protocol)通常在服务器上使用相同的端口)
- 数据包频率和大小(短命令数据包或长数据流)
- TCP 连接阶段
- 流错误/重传
- 流量控制消息和速率限制
为了更好地提取特征,您可能需要查看一些协议(protocol)(HTTP、DNS 等)本身的详细信息,而不仅仅是 TCP 流。我认为wireshark已经做到了这一点,那么为什么不重用他们的库功能呢?
您可能还想查看 intrusion detection systems 的设计(IDS),因为它们几乎对流量做同样的事情,并试图将其分类为良性或恶意。
关于machine-learning - 互联网流量分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15180697/