【问题标题】:List of ports used for encryption用于加密的端口列表
【发布时间】:2019-01-05 06:10:33
【问题描述】:

我正在开发一个应用程序,它可以捕获数据包并判断数据包是否已加密。您知道如何确定数据包是否已加密吗?我认为没有标题告诉我们有关加密的信息,所以我想也许我应该检查端口,因为某些端口用于某些加密协议,例如 TLS https 或.... 我应该检查哪个 RFC?我检查了 rfc1700 的知名端口,但我认为有些端口没有列出,有些加密端口没有被描述为“用于加密协议或类似的东西”。所以我卡住了

【问题讨论】:

  • 欢迎来到 Stack Overflow!不幸的是,像这样的问题是too broad,请尽量缩小你的问题范围,然后问minimal specific programming questions
  • TLS 没有标准端口。如果我愿意,我可以在端口 80 上执行 TLS 连接。你会怎么讲?

标签: ssl encryption https port


【解决方案1】:

对于某些加密协议(例如 https)有众所周知的端口,但是除了发送到/从公开已知的加密端口和协议发送的数据之外,没有办法知道任何特定数据包是否包含加密数据。

例如,包含字节“... 137 80 78 71 13 10 26 10 ...”的数据包可能是加密数据,也可能是小狗照片的一部分。如果不知道整个数据流应该是什么样子,就无法知道;然后重新组装它并根据您可以识别的数据和模式检查它。

使用无限资源,您实际上可以对照所有已知数据类型检查数据流。这会让你说“这是一个图像文件,它是一只小狗”或“这不是一个图像文件”,但你仍然无法确定它是加密的、随机的还是其他一些你不加密的东西t知道。

只是为了进一步混淆水,任何协议都可以通过任何端口发送。端口号只是一个约定。例如,有些应用程序使用 DNS 端口传输数据。

更令人困惑的是,它实际上可能是legitimate picture of a puppy, with data encoded into the image

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 2017-07-20
    • 2016-08-21
    • 1970-01-01
    相关资源
    最近更新 更多