-
-
Notifications
You must be signed in to change notification settings - Fork 0
Usage
katana edited this page Aug 3, 2026
·
2 revisions
Wirecat uses subcommands for the main workflows:
wcat connect [options] HOST PORT
wcat listen [options] HOST PORT
wcat send [options] FILE HOST PORT
wcat recv [options] FILE HOST PORT
wcat relay [options] LEFT RIGHT
wcat broker [options] HOST PORT
wcat proxy [options] HOST PORT
-u, --udp use UDP
-4 force IPv4
-6 force IPv6
-k, --keep-open accept sequential clients
--multi accept concurrent listen sessions with prompt control
-v, --verbose verbose logging
--json structured JSON logs
--hex hex dump traffic
--chat broker chat labels and control-byte escaping
-U, --unix use Unix domain sockets; HOST is socket path
--sctp use SCTP stream sockets
--vsock use Linux AF_VSOCK; HOST is CID or any for listen
--timeout SEC connection and idle timeout
--tls enable TLS
--quic use QUIC single-stream transport
--tls-verify verify TLS peer certificate (client default)
--tls-insecure disable TLS peer verification
--ca-file FILE TLS CA bundle for verification
--sni NAME TLS SNI and hostname verification name
--alpn NAME TLS/QUIC ALPN value (default wcat/1)
--cert FILE TLS server certificate
--key FILE TLS server private key
--client-cert FILE TLS client certificate
--client-key FILE TLS client private key
--require-client-cert require verified TLS client certificate
--proxy URL socks5://host:port or http://host:port
--exec PATH bridge peer to process
--pty allocate PTY for --exec
--max-clients N broker/multi client limit, 1-256 (default 64)
--broker-buffer N broker per-client output buffer bytes
--allow LIST accept only IP/CIDR peers in comma list
--deny LIST reject IP/CIDR peers in comma list
wcat connect example.com 80
wcat listen 0.0.0.0 4444
wcat listen --keep-open 0.0.0.0 4444wcat listen --multi 0.0.0.0 4444
wcat listen --multi --max-clients 16 0.0.0.0 4444In --multi mode, stdin targets the active peer. Lines beginning with : are
handled by the local control prompt:
:help show multi command help
:sessions, :s list connected sessions
:use N, :u N make session N active
:next, :n switch to the next session
:prev, :p switch to the previous session
:info N, :i N show session state, peer, and traffic counters
:rename N NAME assign a display name to session N
:attach [N], :at N attach stdin directly to session N
:detach, :back, back leave attached mode
Ctrl-] leave attached mode
:send N TEXT send one line to session N
:all TEXT, :a TEXT broadcast one line to all sessions
:kill N, :k N close session N
:clear, :c clear the prompt screen
:quit, :q stop the multi listener
wcat connect -u 192.0.2.10 53
wcat listen -u 0.0.0.0 5353wcat connect -4 example.com 80
wcat connect -6 example.com 80
wcat listen :: 4444Receiver:
wcat recv ./archive.tar 0.0.0.0 9000Sender:
wcat send ./archive.tar 192.0.2.10 9000Use --exec to bridge a peer to a process. Use --pty for interactive shells
or programs that expect terminal behavior.
wcat listen --exec /usr/bin/tee 127.0.0.1 9001
wcat listen --pty --exec /bin/bash 0.0.0.0 4444wcat connect --json example.com 80
wcat connect --hex example.com 80
wcat connect --json --hex example.com 80JSON logs are intended for scripts and CI checks. Hex output is intended for manual traffic inspection.