https_tester

package
v0.0.0-...-3d9a477 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2023 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const ESNI uint16 = 0xffce

Variables

View Source
var Subdomains = []string{"www", "mail", "forum", "m", "blog", "shop", "forums", "wiki", "community", "ww1"}

https://securitytrails.com/blog/most-popular-subdomains-mx-records#:~:text=As%20you%20can%20see%2C%20the,forums%2C%20wiki%2C%20community).

View Source
var TLDs = []string{"com", "xyz", "net", "club", "me", "org", "co", "shop", "info", "live"}

https://azbigmedia.com/business/here-are-2021s-most-popular-tlds-and-domain-registration-trends/

Functions

func CheckESNI

func CheckESNI() int

CheckESNI

func CheckHTTPSConnectivity

func CheckHTTPSConnectivity(domain string, ip string) int

CheckHTTPSConnectivity Check basic HTTPS Connectivity to the domain

func CheckSplitHello

func CheckSplitHello(domain string, ip string) (int, error)

TODO: SplitHello

func CheckTLS12Resumption

func CheckTLS12Resumption(domain string, ip string) (int, error)

CheckTLS12Resumption

func CreateTLSConfig

func CreateTLSConfig(requestWord RequestWord) *utls.Config

Returns of an HTTP request for URL.

func GenerateAllAlternatives

func GenerateAllAlternatives(alternatives []string) []string

func GenerateAllCertificateAlternatives

func GenerateAllCertificateAlternatives() []string

func GenerateAllCipherSuiteAlternatives

func GenerateAllCipherSuiteAlternatives() []string

func GenerateAllHostNameAlternatives

func GenerateAllHostNameAlternatives(hostname string) []string

func GenerateAllHostNamePaddings

func GenerateAllHostNamePaddings(hostname string) []string

func GenerateAllSubdomainsAlternatives

func GenerateAllSubdomainsAlternatives(hostname string) []string

func GenerateAllTLDAlternatives

func GenerateAllTLDAlternatives(hostname string) []string

func GenerateAllVersionAlternatives

func GenerateAllVersionAlternatives() []string

func GenerateAlternatives

func GenerateAlternatives(alternatives []string) string

func GenerateCertificate

func GenerateCertificate(commonname string) ([]byte, []byte, error)

func GenerateCertificateAlternatives

func GenerateCertificateAlternatives() string

func GenerateCipherSuiteAlternatives

func GenerateCipherSuiteAlternatives() string

func GenerateHostNameAlternatives

func GenerateHostNameAlternatives() string

func GenerateHostNameRandomPadding

func GenerateHostNameRandomPadding() string

func GenerateSubdomainsAlternatives

func GenerateSubdomainsAlternatives() string

func GenerateTLDAlternatives

func GenerateTLDAlternatives() string

func GenerateVersionAlternatives

func GenerateVersionAlternatives() string

func SendHTTPSRequest

func SendHTTPSRequest(domain string, ip string, port int, req string, utlsConfig *utls.Config) (int, string, error)

SendHTTPSRequest Returns result_code, response_body

Result Code Entry
=========================
-10: unhandled error
-1: proxy error
0: success
1: reset
2: refused
3: silent drop
4: TODO: throttle
5: invalid Certificate

func SendHTTPSRequestCustom

func SendHTTPSRequestCustom(domain string, ip string, port int,
	req string, extensions []utls.TLSExtension) (int, string, error)

SendHTTPSRequestCustom Returns result_code, response_body

Result Code Entry
=========================
-10: unhandled error
-1: proxy error
0: success
1: reset
2: refused
3: silent drop
4: TODO: throttle
5: invalid Certificate

func SendHTTPSRequestNormally

func SendHTTPSRequestNormally(domain string, ip string, port int, req string, utlsConfig *utls.Config) (int, error)

Types

type ESNIExtension

type ESNIExtension struct {
	*utls.GenericExtension
	// contains filtered or unexported fields
}

func (*ESNIExtension) Len

func (e *ESNIExtension) Len() int

func (*ESNIExtension) Read

func (e *ESNIExtension) Read(b []byte) (n int, err error)

type FilteredHTTPS

type FilteredHTTPS struct {
	Component  string `json:"component,omitempty"`
	ResultCode int    `json:"result_code,omitempty"`
}

func CheckCipherSuiteAlternate

func CheckCipherSuiteAlternate(hostname string, ip string) []FilteredHTTPS

func CheckClientCertAlternate

func CheckClientCertAlternate(hostname string, ip string) []FilteredHTTPS

func CheckMaxVersionAlternate

func CheckMaxVersionAlternate(hostname string, ip string) []FilteredHTTPS

func CheckMinVersionAlternate

func CheckMinVersionAlternate(hostname string, ip string) []FilteredHTTPS

func CheckServerNamePadding

func CheckServerNamePadding(hostname string, ip string) []FilteredHTTPS

func CheckServernameAlternate

func CheckServernameAlternate(hostname string, ip string) []FilteredHTTPS

func CheckServernameSubdomainAlternate

func CheckServernameSubdomainAlternate(hostname string, ip string) []FilteredHTTPS

func CheckServernameTLDAlternate

func CheckServernameTLDAlternate(hostname string, ip string) []FilteredHTTPS

func FuzzSender

func FuzzSender(hostname string, ip string, req string, component string, utlsConfig *utls.Config) *FilteredHTTPS

type FilteredSNI

type FilteredSNI struct {
	// contains filtered or unexported fields
}

func CheckSNI

func CheckSNI(domain string, ip string) (int, []FilteredSNI)

type HTTPSResult

type HTTPSResult struct {
	Connectivity          int             `json:"connectivity"`
	SNI                   FilteredSNI     `json:"SNI"`
	ESNI                  int             `json:"ESNI,omitempty"`
	Certificate           int             `json:"certificate,omitempty"`
	BlindTLS              int             `json:"blindTLS,omitempty"`
	Splithello            int             `json:"splithello,omitempty"`
	SNIPadding            []FilteredHTTPS `json:"sni_padding,omitempty"`
	MinVerAlternate       []FilteredHTTPS `json:"min_ver_alternate,omitempty"`
	MaxVerAlternate       []FilteredHTTPS `json:"max_ver_alternate,omitempty"`
	CipherSuiteAlternate  []FilteredHTTPS `json:"cipher_suite_alternate,omitempty"`
	ClientCertAlternate   []FilteredHTTPS `json:"client_cert_alternate,omitempty"`
	SNITLDAlternate       []FilteredHTTPS `json:"sni_tld_alternate,omitempty"`
	SNISubdomainAlternate []FilteredHTTPS `json:"sni_subdomain_alternate,omitempty"`
}

func TestHTTPS

func TestHTTPS(ip string, domain string) HTTPSResult

type RequestWord

type RequestWord struct {
	Servername   string
	CipherSuites []uint16
	MinVersion   uint16
	MaxVersion   uint16
	Certificate  []utls.Certificate
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL