All Projects → tuladhar → ssl-handshake

tuladhar / ssl-handshake

Licence: MIT license
A command-line tool for testing SSL/TLS handshake latency, written in Go.

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to ssl-handshake

tipi
Tipi - the All-in-one Web Server for Ruby Apps
Stars: ✭ 214 (+421.95%)
Mutual labels:  tls, ssl, https
Acme client
Java ACME Client application
Stars: ✭ 77 (+87.8%)
Mutual labels:  tls, ssl, https
Greenlock
Automatic SSL renewal for NodeJS
Stars: ✭ 30 (-26.83%)
Mutual labels:  tls, ssl, https
Netcoreserver
Ultra fast and low latency asynchronous socket server & client C# .NET Core library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
Stars: ✭ 799 (+1848.78%)
Mutual labels:  tls, ssl, https
Mutual Tls Ssl
🔐 Tutorial of setting up Security for your API with one way authentication with TLS/SSL and mutual mutual authentication for a java based web server and a client with both Spring Boot. Different clients are provided such as Apache HttpClient, OkHttp, Spring RestTemplate, Spring WebFlux WebClient Jetty and Netty, the old and the new JDK HttpClient, the old and the new Jersey Client, Google HttpClient, Unirest, Retrofit, Feign, Methanol, vertx, Scala client Finagle, Featherbed, Dispatch Reboot, AsyncHttpClient, Sttp, Akka, Requests Scala, Http4s Blaze, Kotlin client Fuel, http4k, Kohttp and ktor. Also other server examples are available such as jersey with grizzly. Also gRPC examples are included
Stars: ✭ 163 (+297.56%)
Mutual labels:  tls, ssl, https
Beetlex
high performance dotnet core socket tcp communication components, support TLS, HTTP, HTTPS, WebSocket, RPC, Redis protocols, custom protocols and 1M connections problem solution
Stars: ✭ 802 (+1856.1%)
Mutual labels:  tls, ssl, https
Merecat
Small and made-easy HTTP/HTTPS server based on Jef Poskanzer's thttpd
Stars: ✭ 69 (+68.29%)
Mutual labels:  tls, ssl, https
Cppserver
Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
Stars: ✭ 528 (+1187.8%)
Mutual labels:  tls, ssl, https
Tlslite Ng
TLS implementation in pure python, focused on interoperability testing
Stars: ✭ 119 (+190.24%)
Mutual labels:  tls, ssl, https
Sslsplit
Transparent SSL/TLS interception
Stars: ✭ 1,371 (+3243.9%)
Mutual labels:  tls, ssl, https
cryptonice
CryptoNice is both a command line tool and library which provides the ability to scan and report on the configuration of SSL/TLS for your internet or internal facing web services. Built using the sslyze API and ssl, http-client and dns libraries, cryptonice collects data on a given domain and performs a series of tests to check TLS configuration…
Stars: ✭ 91 (+121.95%)
Mutual labels:  tls, ssl, https
httpsbook
《深入浅出HTTPS:从原理到实战》代码示例、勘误、反馈、讨论
Stars: ✭ 77 (+87.8%)
Mutual labels:  tls, ssl, https
Devcert
Local HTTPS development made easy
Stars: ✭ 655 (+1497.56%)
Mutual labels:  tls, ssl, https
Shgf
Simple HTTP golang framework
Stars: ✭ 13 (-68.29%)
Mutual labels:  tls, ssl, https
Mitmproxy
An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
Stars: ✭ 25,495 (+62082.93%)
Mutual labels:  tls, debugging, ssl
Wolfssl
wolfSSL (formerly CyaSSL) is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. wolfSSL supports up to TLS 1.3!
Stars: ✭ 1,098 (+2578.05%)
Mutual labels:  tls, ssl, https
extract-tls-secrets
Decrypt HTTPS/TLS connections on the fly with Wireshark
Stars: ✭ 226 (+451.22%)
Mutual labels:  tls, ssl, https
Jetty.project
Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
Stars: ✭ 3,260 (+7851.22%)
Mutual labels:  tls, ssl, https
Tls Inspector
Easily view and inspect X.509 certificates on your iOS device.
Stars: ✭ 92 (+124.39%)
Mutual labels:  tls, ssl, https
Badssl.com
🔒 Memorable site for testing clients against bad SSL configs.
Stars: ✭ 2,234 (+5348.78%)
Mutual labels:  tls, ssl, https

ssl-handshake

A command-line tool for testing SSL/TLS handshake latency, written in Go.

Features

  • TCP handshake latency
  • SSL/TLS handshake latency
  • TLS version used during the handshake
  • Display handshake statistics
  • Configurable endpoint port, handshake interval, timeout and count

What is an SSL/TLS Handshake?

An SSL/TLS handshake is the process that kicks off a communication session between client and server that uses TLS encryption. During a TLS handshake, the two communicating sides exchange messages to acknowledge each other, verify each other, establish the encryption algorithms they will use, and agree on session keys. TLS handshakes are a foundational part of how HTTPS works and it is defined in RFC 8446 (for TLS 1.3) or in RFC 5246 (for TLS 1.2).

TLS handshakes occur after a TCP connection has been opened via a TCP handshake.

image

TLS handshake packets captured with Wireshark.

image

Docker Image

Docker image is publicly available at DockerHub:

Run ssl-handshake as Docker container:

docker run --rm ptuladhar/ssl-handshake -c 5 tuladhar.github.io:443

You can also alias ssl-handshake, for ease of use:

alias ssl-handshake="docker run --rm ptuladhar/ssl-handshake"
ssl-handshake tuladhar.github.com:443

Install binary

Binary is available for Linux, Windows and Mac OS (amd64 and arm64). Download the binary for your respective platform from the releases page.

Linux:

curl -sSLO https://github.com/tuladhar/ssl-handshake/releases/download/v1.6.1/ssl-handshake-v1.6.1-linux-amd64.tar.gz
tar zxf ssl-handshake-v1.6.1-linux-amd64.tar.gz
sudo install -m 0755 ssl-handshake /usr/local/bin/ssl-handshake

macOS (Intel):

curl -sSLO https://github.com/tuladhar/ssl-handshake/releases/download/v1.6.1/ssl-handshake-v1.6.1-darwin-amd64.tar.gz
tar zxf ssl-handshake-v1.6.1-darwin-amd64.tar.gz
sudo install -m 0755 ssl-handshake /usr/local/bin/ssl-handshake

macOS (Apple Silicon):

curl -sSLO https://github.com/tuladhar/ssl-handshake/releases/download/v1.6.1/ssl-handshake-v1.6.1-darwin-arm64.tar.gz
tar zxf ssl-handshake-v1.6.1-darwin-arm64.tar.gz
sudo install -m 0755 ssl-handshake /usr/local/bin/ssl-handshake

Windows:

curl -sSLO https://github.com/tuladhar/ssl-handshake/releases/download/v1.6.1/ssl-handshake-v1.6.1-windows-amd64.zip
unzip ssl-handshake-v1.6.1-windows-amd64.zip

Development

If you wish to contribute or compile from source code, you'll first need Go installed on your machine. Go version 1.17+ is required. Currently, there are no dependencies on third-party modules.

git clone https://github.com/tuladhar/ssl-handshake
cd ssl-handshake 
go build

Contributors

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].