lin
2025-07-30 fcd736bf35fd93b563e9bbf594f2aa7b62028cc9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/env python
 
## This file is part of Scapy
## This program is published under a GPLv2 license
 
"""
Basic TLS client. A ciphersuite may be commanded via a first argument.
Default protocol version is TLS 1.2.
 
For instance, "sudo ./client_simple.py c014" will try to connect to any TLS
server at 127.0.0.1:4433, with suite TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA.
"""
 
import os
import sys
 
basedir = os.path.abspath(os.path.join(os.path.dirname(__file__),"../../"))
sys.path=[basedir]+sys.path
 
from scapy.layers.tls.automaton_cli import TLSClientAutomaton
from scapy.layers.tls.handshake import TLSClientHello
 
 
if len(sys.argv) == 2:
    ch = TLSClientHello(ciphers=int(sys.argv[1], 16))
else:
    ch = None
 
t = TLSClientAutomaton(client_hello=ch,
                       version="tls13-d18",
                       mycert=basedir+"/test/tls/pki/cli_cert.pem",
                       mykey=basedir+"/test/tls/pki/cli_key.pem")
t.run()