Updating dpkt to 1.9.5 will cause the password to be changed from a number to the corresponding string, and the fingerprint result will be changed. When GARSE appears, the script dpkt will report an error.
When dpkt is 1.9.4,look like this:
[root@localhost python]# python3 ja3.py /home/pcap/ja3_test.pcap
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/dpkt/ssl.py", line 302, in unpack
ssl_ciphersuites.BY_CODE[code] for code in struct.unpack('!' + num_ciphersuites * 'H', ciphersuites)]
File "/usr/local/lib/python3.6/site-packages/dpkt/ssl.py", line 302, in <listcomp>
ssl_ciphersuites.BY_CODE[code] for code in struct.unpack('!' + num_ciphersuites * 'H', ciphersuites)]
KeyError: 27242
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "ja3.py", line 284, in <module>
main()
File "ja3.py", line 264, in main
output = process_pcap(capture, any_port=args.any_port)
File "ja3.py", line 203, in process_pcap
handshake = dpkt.ssl.TLSHandshake(record.data)
File "/usr/local/lib/python3.6/site-packages/dpkt/dpkt.py", line 87, in __init__
self.unpack(args[0])
File "/usr/local/lib/python3.6/site-packages/dpkt/ssl.py", line 421, in unpack
self.data = embedded_type[1](self.data)
File "/usr/local/lib/python3.6/site-packages/dpkt/dpkt.py", line 87, in __init__
self.unpack(args[0])
File "/usr/local/lib/python3.6/site-packages/dpkt/ssl.py", line 304, in unpack
raise SSL3Exception('Unknown or invalid cipher suite type %x' % int(e.args[0]))
dpkt.ssl.SSL3Exception: Unknown or invalid cipher suite type 6a6a
[root@localhost python]# python3 ja3s.py /home/pcap/ja3s_test.pcap
[ip:port] JA3S: 771,CipherSuite(TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256),35-16 --> 8ce7e2735b56d547ea7168506ac74566
Updating dpkt to 1.9.5 will cause the password to be changed from a number to the corresponding string, and the fingerprint result will be changed. When GARSE appears, the script dpkt will report an error. When dpkt is 1.9.4,look like this:
When dpkt is 1.9.5,look like this: