KO
|
EN
gitlite — search
Search
#javascript
#python
#php
#ruby
#erlang
#vim
#library
#dotfiles
#bootstrap
#cli
#ocaml-library
#git
ja3-rs
★ 44
Open GitHub ↗
JA3 Hash library written in Rust
Download README (.md)
Explore Similar Repositories
quic-lb
:
nginx-quic-lb is an implementation of ietf-quic-lb, based on nginx-release-1.18.0, you can see the detailed code in this pull request
full-address-column
:
Thunderbird add-on to show full sender and recipient address column in message list
streamlit-light-leaflet
:
Streamlit quick & dirty Leaflet component that sends back coordinates on map click
labeler-action
:
GitHub Action allowing for applying labels to issues and pull requests based on patterns found in the title or description.
interactive-syntax-clojure
:
No description available.
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
ja3-rs
?
Download (.md)
# ja3-rs [](https://crates.io/crates/ja3) [](https://travis-ci.org/jabedude/ja3-rs) [](https://docs.rs/ja3/) [](https://github.com/jabedude/ja3-rs/LICENSE) A small JA3 TLS fingerprinting library written in Rust. This crate enables a consumer to fingerprint the ClientHello portion of a TLS handshake. It can hash TLS handshakes over IPv4 and IPv6. It heavily depends on the [tls-parser project](https://github.com/rusticata/tls-parser) from Rusticata. It supports generating fingerprints from packet capture files as well as live-captures on a network interface, both using libpcap. See the original [JA3 project](https://github.com/salesforce/ja3) for more information. Example of fingerprinting a packet capture file: ```rust use ja3::Ja3; let mut ja3 = Ja3::new("test.pcap") .process_pcap() .unwrap(); // Now we have a Vec of Ja3Hash objects for hash in ja3 { println!("{}", hash); } ``` Example of fingerprinting a live capture: ```rust use ja3::Ja3; let mut ja3 = Ja3::new("eth0") .process_live() .unwrap(); while let Some(hash) = ja3.next() { println!("Hash: {}", hash); } ``` ## Benchmarks | Command | Mean [ms] | Min [ms] | Max [ms] | Relative | |:---|---:|---:|---:|---:| | `ja3 huge-cap.pcap` | 153.2 ± 2.3 | 149.8 | 157.2 | 34.85 ± 2.82 | | `./target/release/examples/ja3 huge-cap.pcap` | 4.4 ± 0.3 | 3.6 | 5.5 | 1.00 |