0

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

4

1 回答 1

1

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

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

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

于 2016-05-10T22:01:18.767 回答