【发布时间】:2021-03-04 05:23:06
【问题描述】:
我正在编写一个可以检测网络数据包中使用的协议的程序。对于接收到的每个数据包,它将尝试检测网络和传输层中的协议。在这两层中检测协议非常容易,因为在数据包的某处我们有一些字节告诉我们协议。但是对于应用程序层,据我所知,这要困难得多。没有在 HTTP 数据包中没有提到协议(据我所知)。而检测应用层协议的另一个难点是,一个完整的 HTTP 请求或响应可能会占用多个数据包,并且串联多个数据包要困难得多。
我想知道理论上如何检测这些协议。
【问题讨论】:
-
许多应用程序甚至具有专有的应用程序层协议。例如,在微软收购 Skype 并改变一切之前,Skype 曾经拥有它。很多人问如何解码,但一直保密。
标签: networking tcp network-programming application-layer