-
-
Notifications
You must be signed in to change notification settings - Fork 4
TCP/IP Analysis support #35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Perhaps it should be added to |
|
I suggest keeping it under the /api/tcp API path. For /api/all, you can add a tcp field to include the new information. |
|
On macOS it seems packet capture doesn’t work; I haven’t checked yet. Also, the data format needs some adjustments—try to avoid using JSON string fields as references. |
|
It should be possible on MacOS to capture the packets since tcpdump seems to exists but i have no way to test it.. https://developer.apple.com/documentation/Network/recording-a-packet-trace |
|
I was able to do some test on a Mac but I wasn't able to make it work so i made this feature only possible on Linux for now. Theoretically, it should be possible on macOS (and Windows), but I don't have the equipment to test it. |
|
@0x676e67 should I merge it ? |
So, the "best" solution I found was to retrieve the entire packet, but unfortunately, with libc, nix, or other crates, this isn't really possible except by listening to an interface or changing the HTTP server. So you have to run it as root with the
--capture-packetsargument, which also allows you to retrieve all TCP packets before the start of the HTTP protocol with the SYN ACK of the TCP handshake.I didn't implement JA4T because I saw several methods for doing the fingerprint, so I'll leave that part to you.
There's the raw packet in the response with the information parsed like this, for example
Pingly response
I wasn't sure what to put as the patch for the request, so I put
/api/packets, but maybe/api/tcpor/api/tcp-ipwould be better.There was a problem with the sysinfo compilation for me, so I had to revert to 0.30 with the default features.