#!/usr/bin/env bash port=443 tlsVersion=1 host="" die(){ echo "$@" >&2 exit 1 } print_help(){ echo "Attempts to connect using different tls versions" echo "" echo "tlsversionconnect [options] " echo "" echo "-p | --port port number (default 443)" echo "-v | --version tls version (default 1)" } while [ "$#" -gt 0 ]; do case "$1" in -p|--port) port="$2" shift; shift ;; -v|--version) case "$2" in 1|1.0|1-0|1_0) tlsVersion="1" ;; 1.1|1-1|1_1) tlsVersion="1_1" ;; 1.2|1-2|1_2) tlsVersion="1_2" ;; 1.3|1-3|1_3) tlsVersion="1_3" ;; esac shift; shift ;; -h|--help) print_help exit 0 ;; *) host="$1" shift ;; esac done if [ -z "$host" ]; then die "No host provided" fi echo \$ openssl s_client "-tls${tlsVersion}" -connect "${host}:${port}" echo "" | openssl s_client "-tls${tlsVersion}" -connect "${host}:${port}"