Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption 开发一个数据包嗅探器来判断流量是否加密_Encryption_Packet Sniffers - Fatal编程技术网

Encryption 开发一个数据包嗅探器来判断流量是否加密

Encryption 开发一个数据包嗅探器来判断流量是否加密,encryption,packet-sniffers,Encryption,Packet Sniffers,如果我的问题看起来有点不专业,我提前道歉。。。我毕竟不是一个很好的开发者 作为我大学项目的一部分,我需要开发一个程序,可以在网络上收听,并判断流量是否加密?重要的是只知道到达网络端的流量是否加密,而知道加密的类型和算法并不重要 我真的不知道从哪里开始。如果有人能给我一些关于寻找什么的线索,我将不胜感激 先谢谢你 尽管GregS的答案当然是正确的,但区分加密文本的最佳方法是查看应用程序使用的协议。例如,如果浏览器对任何内容进行加密,则可能是通过使用SSL来完成的。远程终端使用SSH 虽然密码文本大

如果我的问题看起来有点不专业,我提前道歉。。。我毕竟不是一个很好的开发者

作为我大学项目的一部分,我需要开发一个程序,可以在网络上收听,并判断流量是否加密?重要的是只知道到达网络端的流量是否加密,而知道加密的类型和算法并不重要

我真的不知道从哪里开始。如果有人能给我一些关于寻找什么的线索,我将不胜感激


先谢谢你

尽管GregS的答案当然是正确的,但区分加密文本的最佳方法是查看应用程序使用的协议。例如,如果浏览器对任何内容进行加密,则可能是通过使用SSL来完成的。远程终端使用SSH


虽然密码文本大部分看起来是随机字节,但您可能会对加密协议进行查询。这是否足够取决于您的用例。作为第一步,许多协议默认使用特定的服务器端口;这可以作为一种启发式方法使用,因此您可以首先检查该端口的最常用协议。

由于加密流量设计为与随机数据无法区分,因此您可以尝试使用几种技术中的任何一种来测试数据的随机性。一种常见的技术是使用卡方检验。但所有这些技术都不是万无一失的。它们在短序列上不能很好地工作,它们可能仅仅将压缩数据识别为随机数据。@GregS你的答案在理论上当然是无可挑剔的,但通常有很多旁道信息可用。协议字节可能是所有通道中最明显的边通道,我已经对此给出了答案。很高兴你这么轻松地跑了10公里:)