MCPcopy Index your code
hub / github.com/MOL0ToK/sp0ky

github.com/MOL0ToK/sp0ky @v0.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.0 ↗ · + Follow
25 symbols 38 edges 6 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

This tool analyzes first stage of TCP handshake (SYN) and recognize operating system of client

Build

To build sp0ky, you need to install Rust

git clone https://github.com/MOL0ToK/sp0ky.git
cd sp0ky
cargo build --release

./target/release/sp0ky

Run

sudo sp0ky -i <interface>

Run in docker

To access host network interfaces, you should run docker container in host network mode

docker run --net=host -e SP0KY_INTERFACE=<interface> mol0tok/sp0ky:latest

API usage

To get connection information, you can use the API on port 7564.

Request:

curl http://localhost:7564/111.111.111.111:53155

Response with result:

{"os":"Windows","signature":"4:116+12:0:1360:64240:8:mss,nop,ws,nop,nop,sok:10:000000010"}

Or without:

{}

Fingerprint (signature)

In addition to operating system information, this tool generates a fingerprint that you can use for additional processing.

Fingerprint format: IP_VERSION:TTL+HOPS:IP_OPTIONS_LENGTH:MSS:TCP_WINDOW_SIZE:TCP_WINDOW_SCALE:TCP_OPTIONS:IP_FLAGS:TCP_FLAGS

Example: 4:116+12:0:1360:64240:8:mss,nop,ws,nop,nop,sok:10:000000010

Similar tools

TODO

  • [x] Operating system recognition
  • [ ] Network adapter recognition by MTU

Core symbols most depended-on inside this repo

find_interface_by_name
called by 1
src/main.rs
parse_tcp_packet
called by 1
src/parser.rs
parse_ipv4_packet
called by 1
src/parser.rs
parse_ipv6_packet
called by 1
src/parser.rs
run_api
called by 1
src/api.rs
add_new_client
called by 1
src/store.rs
get_client
called by 1
src/store.rs
handle_network
called by 1
src/handler.rs

Shape

Function 13
Class 6
Method 4
Enum 2

Languages

Rust100%

Modules by API surface

src/store.rs6 symbols
src/parser.rs6 symbols
src/classifier.rs6 symbols
src/api.rs3 symbols
src/main.rs2 symbols
src/handler.rs2 symbols

For agents

$ claude mcp add sp0ky \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page