Proxy Command
Start the VIIPER USBIP proxy for traffic inspection and logging.
Usage
Description
The proxy command starts VIIPER in proxy mode, sitting between a USBIP client and a USBIP server.
VIIPER intercepts and logs all USB traffic passing through, without handling the devices directly.
This is useful for reverse engineering USB protocols and understanding how devices communicate.
Options
--listen-addr
Proxy listen address (where clients connect).
Default: :3241
Environment Variable: VIIPER_PROXY_ADDR
Example:
--upstream
Required. Upstream USBIP server address (where real devices are).
Environment Variable: VIIPER_PROXY_UPSTREAM
Example:
--connection-timeout
Connection timeout for proxy operations.
Default: 30s
Environment Variable: VIIPER_PROXY_TIMEOUT
Example:
Examples
Basic Proxy
Start proxy between local clients and remote USBIP server:
Clients connect to localhost:3241, traffic is proxied to 192.168.1.100:3240.
Custom Listen Address
Start proxy on a different port:
Clients connect to localhost:9000, traffic is proxied to 192.168.1.100:3240.
With Raw Packet Logging
Capture all USB traffic for reverse engineering:
All USB packets will be logged to usb-capture.log.
With Debug Logging
Enable debug logging to see proxy operations:
Use Cases
Reverse Engineering
Intercept USB traffic between a client and server to understand device protocols:
Traffic Analysis
Monitor USB communication for debugging:
Network Inspection
Route USB traffic through VIIPER to inspect and log all operations:
Proxy Architecture
VIIPER sits in the middle, forwarding all traffic while logging packets for inspection.
See Also
- Server Command - Run VIIPER as a USBIP server
- Configuration - Environment variables and configuration files