指纹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>;的默认模型。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java连接usb到uart设备到安卓设备>3.1   可以强制Php中的web应用程序与Java中的桌面应用程序一起工作吗?   java为什么自定义系统类加载器不工作?   数组在Java中解析具有多个分隔符的字符串   PMD Java 8德米特定律   JavaSpringMVC表单验证不适用于嵌套的复杂类型   让Eclipse Java组织导入以使用Google checkstyle   java Appium:无法创建新会话   java如何在数组中声明新字段   java如何解决“无法初始化类org.apache.cassandra.config.DatabaseDescriptor”?   java AsyncTask创建socket   java向@CreatedBy添加更多信息   如何在ubuntu中运行包含大量jars依赖项的java文件   java如何使用<s:select>标记并在中休眠来填充下拉列表?   java获取错误:找不到符号变量“level”和“next_level_button”   javaweb应用中基于UI的ajax显示代码流   Java长到MySql   java JvisualVM:奇怪的应用程序行为   ubuntu将Java程序的输出结果保存到一个文件中