A command-line debugging tool to check the latency of SSL handshake

Overview

ssl-handshake

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

Installation

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

Linux:

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

macOS (Intel):

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

macOS (Apple Silicon):

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

Demo

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's no dependencies on third-party modules.

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

Contributors

You might also like...
A simple and flexible health check library for Go.

Health A simple and flexible health check library for Go. Documentation · Report Bug · Request Feature Table of Contents Getting started Synchronous v

Kubedd – Check migration issues of Kubernetes Objects while K8s upgrade

Kubedd – Check migration issues of Kubernetes Objects while K8s upgrade

scenario system to check the behavior of kube-scheduler

kube-scheduler-simulator-cli: Kubernetes Scheduler simulator on CLI and scenario system. Hello world. This repository is scenario system for kube-sche

GitHub Action: Compose multiple (conditional) checks into a single check based on file paths in a pull request
GitHub Action: Compose multiple (conditional) checks into a single check based on file paths in a pull request

GitHub Action: Composite Example Usage --- name: All Checks on: pull_request: branches: - main jobs: meta: runs-on: - ubuntu-20.

Connect, Subscribe and Publish over MQTT broker to check its status.

MQTT Blackbox Exporter Introduction In each probe it sends a message over MQTT broker and then wait for getting it over subscription. By measuring thi

Just a playground with some interesting concepts like pipelines aka middleware, handleFuncs, request validations etc. Check it out.

Pipeline a.k.a middleware in Go Just a playground with some interesting concepts like pipelines aka middleware, handleFuncs, request validations etc.

K8s-ingress-health-bot - A K8s Ingress Health Bot is a lightweight application to check the health of the ingress endpoints for a given kubernetes namespace.

k8s-ingress-health-bot A K8s Ingress Health Bot is a lightweight application to check the health of qualified ingress endpoints for a given kubernetes

Controller-check - Run checks against K8s controllers to verify if they meets certain conventions

controller-check Run checks against K8s controllers to verify if they meets cert

Sensu-go-postgres-metrics - The sensu-go-postgres-metrics is a sensu check that collects PostgreSQL metrics

sensu-go-postgres-metrics Table of Contents Overview Known issues Usage examples

Comments
  • New feature: Show TLS Version used during the handshake

    New feature: Show TLS Version used during the handshake

    This PR adds support to show TLS version used during the handshake.

    Supported TLS versions:

    • tls1.0, tls1.1, tls1.2, tls1.3
    [[email protected] ssl-handshake]$ ./ssl-handshake -c 3 tuladhar.github.io:443
    Starting ssl-handshake v1.5.2 ( https://tuladhar.github.com/ssl-handshake ) at Wed, 29 Dec 2021 15:11:26 +0545
    SSL handshake with tuladhar.github.io:443: tcp=286ms handshake=52ms version=tls1.3 total=338ms
    SSL handshake with tuladhar.github.io:443: tcp=55ms handshake=58ms version=tls1.3 total=113ms
    SSL handshake with tuladhar.github.io:443: tcp=58ms handshake=60ms version=tls1.3 total=118ms
    
    --- tuladhar.github.io:443 handshake statistics ---
    3 handshakes sent, finish: 3, fail: 0, time: 2000ms
    rtt min/avg/max: 52/56/60 ms
    
    opened by tuladhar 0
  • ssl-handshake: Docker support

    ssl-handshake: Docker support

    This PR adds Dockerfile for ssl-handshake to be used as a Docker container. The docker image is available at DockerHub: https://hub.docker.com/r/ptuladhar/ssl-handshake

    Usage:

    docker run --rm ptuladhar/ssl-handshake tuladhar.github.com:443
    
    enhancement 
    opened by tuladhar 0
  • Decouple TCP connection from handshake process, providing more accurate SSL handshake latency.

    Decouple TCP connection from handshake process, providing more accurate SSL handshake latency.

    Changelog

    • Decouple TCP connection from handshake process, providing more accurate SSL handshake latency.
    • Improve statistics output
    • Update README and with new demo
    opened by tuladhar 0
Releases(v1.6.1)
Owner
Puru
Puru
A toolbox for debugging docker container and kubernetes with web UI.

A toolbox for debugging Docker container and Kubernetes with visual web UI. You can start the debugging journey on any docker container host! You can

CloudNativer 53 Sep 17, 2022
Netpoltool - CLI evaluation of Kubernetes NetworkPolicys with detailed output to aid debugging.

netpoltool CLI evaluation of Kubernetes NetworkPolicys with detailed output helpful for debugging. Given source and destination pods, identify the Net

Christopher Heriot 0 Jan 8, 2022
A tool that scans archives to check for vulnerable log4j versions

log4j-sniffer log4j-sniffer crawls for all instances of log4j that are earlier t

Palantir Technologies 187 Sep 25, 2022
A tool to check whether docker images exist in the remote registry.

Check Docker Image A tool to check whether docker images exist in the remote registry. Build project: go build -o check-image . Example usage: REGISTR

Hao-Ming, Hsu 3 Jul 26, 2022
Command-line tool to remotely execute commands on Windows machines through WinRM

winrm-cli This is a Go command-line executable to execute remote commands on Windows machines through the use of WinRM/WinRS. Note: this tool doesn't

Brice Figureau 143 Sep 27, 2022
A command line tool for validating Kubernetes configs with rego

ccheck ccheck is a command line application for writing tests against configuration files and data using the rego query language. It's intended purpos

Brendan Ryan 63 Jun 1, 2022
Kubesecret is a command-line tool that prints secrets and configmaps data of a kubernetes cluster.

Kubesecret Kubesecret is a command-line tool that prints secrets and configmaps data of a kubernetes cluster. kubesecret -h for help pages. Install go

Charalampos Mitrodimas 18 May 3, 2022
Igo Agent is the agent of Igo, a command-line tool, through which you can quickly start Igo

igo agent 英文 | 中文 Igo Agent is the agent of Igo, a command-line tool, through which you can quickly start Igo, and other capabilities may be added lat

null 1 Dec 22, 2021
The Coherence command line interface (CLI) is a lightweight tool, in the tradition of tools such as kubectl

Coherence Command Line Interface (CLI) Contents Overview Why use the Coherence C

Oracle 11 Aug 23, 2022
A set of tests to check compliance with the Prometheus Remote Write specification

Prometheus Remote Write Compliance Test This repo contains a set of tests to check compliance with the Prometheus Remote Write specification. The test

Tom Wilkie 99 Sep 11, 2022