根据数据包识别应用程序

时间:2016-05-10 10:47:53

标签: machine-learning network-programming classification decision-tree c4.5

是否可以通过分析特定应用程序来识别特定应用程序?如果是,数据包的哪些属性可以帮助唯一地标识应用程序?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

这个问题范围很广,如果你想出一个解决方案,你应该申请专利。您可以根据数据包和协议获取应用程序的知识,但规则在100%的情况下都不起作用。这些是您需要了解的一些注意事项(不是完整列表,但它们可以给您一个想法):

  • 基于src或dst端口,您可以获得有关在两个节点之一中运行的应用程序的信息。例如,默认情况下,Web服务器使用端口80或8080(或使用HTTPS的443)。默认情况下,ssh使用端口22.但是,可以将应用程序配置为侦听其他端口。此外,许多不同的应用程序使用HTTP通过端口80,8080,443进行通信。在后一种情况下,有可能协议是HTTP,但您无法确定它是哪个应用程序。
  • 如果通信未加密,您可以获取嗅探数据包有效负载的信息。但是,如果通信是通过SSL进行的,那么除非你实施中间人攻击,否则无法做到这一点。
  • 如果您可以使用netstat或其他工具访问计算机,则可以根据正在使用的端口识别应用程序。
  • 其他猜测方法(它比确定性更令人猜测)应用程序是通过分析通信模式。

简而言之,基于网络分析,您可以猜测应用程序。但是,没有任何方法可以100%准确地告诉您。