You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Can you please implement JA4 TLS fingerprinting as it would significantly enhance Sniffnet’s ability to analyze encrypted traffic by exposing behavioral patterns in TLS handshakes even when payloads are encrypted.
Hey @zero77, thanks for making me aware of these fingerprinting techniques.
I already have a bunch of feature requests for the short-term, but I'll keep this into account for the future, especially since I'm interested in implementing some sort of malicious traffic detection as reported in the project roadmap as one of the long-term goals.
@GyulyVGC Thanks
But JA4 fingerprinting is not just for malicious activity it can be used to identify general traffic and process as well.
It identifies the specific underlying software making a network connection.
Its a fingerprint from the unencrypted Client Hello packet of a TLS handshake.
There's also legitimate software listed in the curl command above.
Wow, in this case I believe this could also be a game changer for #170.
I mean, instead of using libraries to get PIDs given a socket, which isn't very reliable from my experience...
Speaking about ClientHello, I'm really interested in extracting the SNI as I said in #944, but I didn't know it could also be used to gather process info 🤔
I'll have to investigate deeper.
I think it might help with a few open issues, but I wouldn't only rely on a JA4 fingerprint because sometimes after big updates, the J A4 fingerprint can change. But looking at the list of known JA4 fingerprints in the curl command, there are quite a lot of legitimate software listed, so it's a good starting point to identify processes.
Yeah. I think I'll end up using fingerprinting at some point.
I've had a quick look at hugging-net and it seems they require to use their library also to instantiate a packet capture, which I'd like to avoid (ideally I want to stick to the pcap crate). But maybe there's something similar that returns a fingerprint given the bytes of the packet as input (even if maybe less efficient?)
Activity
GyulyVGC commentedon Nov 10, 2025
Hey @zero77, thanks for making me aware of these fingerprinting techniques.
I already have a bunch of feature requests for the short-term, but I'll keep this into account for the future, especially since I'm interested in implementing some sort of malicious traffic detection as reported in the project roadmap as one of the long-term goals.
zero77 commentedon Nov 10, 2025
@GyulyVGC Thanks
But JA4 fingerprinting is not just for malicious activity it can be used to identify general traffic and process as well.
It identifies the specific underlying software making a network connection.
Its a fingerprint from the unencrypted Client Hello packet of a TLS handshake.
There's also legitimate software listed in the curl command above.
GyulyVGC commentedon Nov 10, 2025
Wow, in this case I believe this could also be a game changer for #170.
I mean, instead of using libraries to get PIDs given a socket, which isn't very reliable from my experience...
GyulyVGC commentedon Nov 10, 2025
Speaking about ClientHello, I'm really interested in extracting the SNI as I said in #944, but I didn't know it could also be used to gather process info 🤔
I'll have to investigate deeper.
zero77 commentedon Nov 10, 2025
I think it might help with a few open issues, but I wouldn't only rely on a JA4 fingerprint because sometimes after big updates, the J A4 fingerprint can change. But looking at the list of known JA4 fingerprints in the curl command, there are quite a lot of legitimate software listed, so it's a good starting point to identify processes.
GyulyVGC commentedon Nov 10, 2025
Yeah. I think I'll end up using fingerprinting at some point.
I've had a quick look at hugging-net and it seems they require to use their library also to instantiate a packet capture, which I'd like to avoid (ideally I want to stick to the pcap crate). But maybe there's something similar that returns a fingerprint given the bytes of the packet as input (even if maybe less efficient?)
zero77 commentedon Nov 10, 2025
I've not looked into it, but you might be able to pass the raw packet data to the huginn-net library to generate a fingerprint
GyulyVGC commentedon Nov 10, 2025
From what I'm reading fingerprinting is used more to detect the remote OS and service than the local service / app generating traffic.
But still, I think that these techniques could be a starting point for #944