All Projects → WestpointLtd → Tls_prober

WestpointLtd / Tls_prober

Licence: mit
A tool to fingerprint SSL/TLS servers

Labels

Projects that are alternatives of or similar to Tls prober

Mpv Prescalers
prescalers for mpv, as user shaders
Stars: ✭ 191 (-19.75%)
Mutual labels:  glsl
Unity
Unity Resource Pack [Vanilla Minecraft Only]
Stars: ✭ 213 (-10.5%)
Mutual labels:  glsl
Nesc Snesc Modifications
All of your NES-SNES-Playstation Classic Modification Needs!
Stars: ✭ 229 (-3.78%)
Mutual labels:  glsl
Pixelplanets
Stars: ✭ 194 (-18.49%)
Mutual labels:  glsl
Magicshader
🔮 Tiny helper for three.js to debug and write shaders
Stars: ✭ 205 (-13.87%)
Mutual labels:  glsl
Unitythirdpersontutorial
Sample project showing third person camera behavior and Mecanim animations
Stars: ✭ 220 (-7.56%)
Mutual labels:  glsl
Godot Utils And Other
random code that I made/use for godot
Stars: ✭ 191 (-19.75%)
Mutual labels:  glsl
Partikel accelleration on gpu
Particle accelleration with OpenGL 4.3, using the compute shader to calculate particle movement on graphics hardware.
Stars: ✭ 236 (-0.84%)
Mutual labels:  glsl
Gl React
gl-react – React library to write and compose WebGL shaders
Stars: ✭ 2,536 (+965.55%)
Mutual labels:  glsl
Glsl Fxaa
FXAA implementation for glslify in WebGL
Stars: ✭ 225 (-5.46%)
Mutual labels:  glsl
Inviwo
Inviwo - Interactive Visualization Workshop
Stars: ✭ 199 (-16.39%)
Mutual labels:  glsl
Glslviewer
Console-based GLSL Sandbox for 2D/3D shaders shaders
Stars: ✭ 2,834 (+1090.76%)
Mutual labels:  glsl
Gamestarter
🎮 Retrogaming kodi add-on repository for LibreELEC
Stars: ✭ 222 (-6.72%)
Mutual labels:  glsl
Possumwood
Possumwood is a graph-based procedural authoring tool, in concept not dissimilar to popular CG packages like Houdini, Blender or Maya. It is intended to serve as a sandbox for computer graphics algorithms and libraries, providing a user-friendly and coding-free UI for libraries that would otherwise be inaccessible for an average user.
Stars: ✭ 197 (-17.23%)
Mutual labels:  glsl
Js
turbo.js - perform massive parallel computations in your browser with GPGPU.
Stars: ✭ 2,591 (+988.66%)
Mutual labels:  glsl
Nomansscanner
A Depth-based Image Effect recreating the Topographic Scanner of No Man's Sky.
Stars: ✭ 191 (-19.75%)
Mutual labels:  glsl
Bsnes Hd
bsnes fork that adds HD video features
Stars: ✭ 216 (-9.24%)
Mutual labels:  glsl
Simplegodotcrtshader
A simple Godot shader that simulates CRT Displays
Stars: ✭ 236 (-0.84%)
Mutual labels:  glsl
Godot Realistic Water
Godot - Realistic Water Shader
Stars: ✭ 235 (-1.26%)
Mutual labels:  glsl
Frontend Boilerplate
An ES20XX starter with common frontend tasks using Webpack 4 as module bundler and npm scripts as task runner.
Stars: ✭ 224 (-5.88%)
Mutual labels:  glsl

TLS Prober

TLS Prober is a tool for identifying the implementation in use by SSL/TLS servers. It analyses the behaviour of a server by sending a range of probes then comparing the responses with a database of known signatures. Key features include:

  • Requires no knowledge of the server configuration.

  • Does not rely on the supported cipher suites (since administrators often change those).

  • Successfully identifies openssl, schannel, Java (JSSE), wolfSSL (previously CyaSSL), GnuTLS, MatrixSSL, mbedTLS (previously PolarSSL).

  • Supports both pure SSL/TLS protocols like HTTPS and those that use STARTTLS such as SMTP and POP3.

  • Reslient against differences in the build options used by a given server.

  • Extensible - you can easily record the signatures of additional implementations.

Installation

Clone the repository and the pytls submodule then run it!

git clone https://github.com/WestpointLtd/tls_prober.git
cd tls_prober/ && git submodule update --init

TLS Prober requires python and has been tested using python 2.7, it is possible it may work with earlier versions too.

Note that the current implementation will not work on Windows since it makes use of the select() system call which is not available on that platform.

Basic Usage

Using TLS Prober is as easy as:

./prober.py www.google.com

The output is a sorted list of matches with the best match first, for example the command above resulted in:

openssl-1.0.1h default source build     15
openssl-1.0.1h default source build (no-ec)     15
openssl-1.0.1g default source build     14
openssl-1.0.1g default source build (no-ec)     14
...

Common Options

The most commonly used option is -p which allows you to specify an alternative port (the default is 443). You can also use -s to select a STARTTLS mode, however generally the default mode of 'auto' will do the right thing.

TLS Prober supports operation over a socks proxy (for example the one provided by SSH). To use this feature you must set the socks_proxy environment variable, for example:

export socks_proxy=localhost:1080

Adding a Signature

Adding a new signature is easy, simply run TLS Prober like this:

./prober.py -a 'ACME TLS version 1.0.0' www.example.com

This will probe the server and add it to the fingerprint database. Please submit new fingerprints back so that they can be included in future releases.

Implementation

For details of the implementation see the included paper in the doc directory.

Author

TLS Prober was written by Richard Moore [email protected].

Credits

Thanks to my colleagues at Westpoint for comments and suggestions, particularly Simon Ward. Thanks also to Daniel Molkentin and Peter Hartmann for providing feedback.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].