Uses of Record Class
org.microproxy.ClientHello
Packages that use ClientHello
-
Uses of ClientHello in org.microproxy
Methods in org.microproxy that return ClientHelloModifier and TypeMethodDescriptionFlowContext.getClientHello()The TLSClientHellothe client sent to start the intercepted (or tunnelled) session this flow belongs to: after aCONNECTwhose client was asked for one, and on a transparent TLS connection.Methods in org.microproxy with parameters of type ClientHelloModifier and TypeMethodDescriptiondefault booleanHttpFilters.proxyToServerAllowMitm(ClientHello clientHello) Whether this CONNECT (or transparent TLS connection) may be intercepted, now that the client's TLSClientHellois known: return false to tunnel the bytes untouched, so the client sees the real server's certificate.booleanHttpFiltersBuilder.Built.proxyToServerAllowMitm(ClientHello clientHello) booleanHttpFiltersChain.Chained.proxyToServerAllowMitm(ClientHello clientHello) default booleanMitmManager.shouldIntercept(ClientHello clientHello, FlowContext flow) Whether to intercept a TLS connection, once its client'sClientHellois known: return false to tunnel it untouched, so the client sees the real server's certificate.default voidActivityTracker.transparentQuicFlowDecided(FlowContext flowContext, ClientHello clientHello, boolean intercepted, String reason) Called when the transparent QUIC listener (HttpProxyServerBootstrap.withTransparentQuicPort(int)) has decided what to do with a new client flow, from its ClientHello: intercept it (its HTTP/3 requests then come as for any client), or relay its datagrams to the server untouched.Method parameters in org.microproxy with type arguments of type ClientHelloModifier and TypeMethodDescriptionHttpFiltersBuilder.allowMitmFor(Predicate<? super ClientHello> allow) Whether a TLS connection may be intercepted, decided from the client'sClientHello(its server name and ALPN protocols); seeHttpFilters.proxyToServerAllowMitm(ClientHello). -
Uses of ClientHello in org.microproxy.extras
Methods in org.microproxy.extras with parameters of type ClientHelloModifier and TypeMethodDescriptionstatic StringTlsFingerprints.ja3(ClientHello hello) The JA3 fingerprint: the lowercase hex MD5 ofTlsFingerprints.ja3String(org.microproxy.ClientHello).static StringTlsFingerprints.ja3String(ClientHello hello) The JA3 string:version,ciphers,extensions,groups,point_formats, each list's values in decimal, in the hello's order, separated by-.static StringTlsFingerprints.ja4(ClientHello hello) The JA4 fingerprint of a hello sent over TCP.static StringTlsFingerprints.ja4(ClientHello hello, boolean quic) The JA4 fingerprint:a_b_c, whereais the transport (tfor TCP,qfor QUIC), the highest TLS version offered (13,12, ...),dwith SNI oriwithout, the counts of cipher suites and extensions (two digits each), and the first and last characters of the first ALPN protocol (00without);bis the first 12 hex digits of the SHA-256 of the sorted cipher suites (4-digit hex, comma separated);cthe same of the sorted extensions without SNI and ALPN, followed by_and the signature algorithms in their order when there are any.