指纹tls实现
tlsprint的Python项目详细描述
#tlsprint
使用状态机推断的指纹tls实现 [状态学习者](https://github.com/jderuiter/statelearner/)。状态学习者可以 使用黑盒学习(在本例中为tls)实现的状态机 接近。不同的实现可以有不同的状态机 使区分它们成为可能。把这些状态机组合成 一棵树,然后探测一个实时实现,tlsprint 可以对目标上运行的TLS实现进行指纹识别。
##安装
安装pypi的最新版本:
`shell pip install tlsprint `
##学习
note:此步骤是可选的,分布中包含一个模型.p, 其中包含一个使用27个唯一状态机创建的模型,表示283 不同的tls实现。有关实现的完整列表,请检查 存储库中的目录。
使用StateLearner推断状态机后,运行
`shell tlsprint learn <statelearner_output_dir> model.p `
将所有模型合并为一个 树。此树作为picklednetworkx图返回,对于 确定步骤。
##确定
使用默认模型时,标识目标上的tls实现 可以运行
`shell tlsprint identify <target> `
默认为端口443,可以通过添加 –目标端口<;端口>;。
该命令返回可能实现的列表。所有这些 实现共享同一模型,这意味着tlsprint不能进一步指定 具体实施。
将graph dir<;output>;传递到identify命令,将写入点文件 对于模型树的所有中间版本。这对 了解tlsprint正在做什么。
如果使用learn命令学习自定义模型,则可以覆盖 使用–model<;filename>;的默认模型。