Proxy Command
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.
Usage
Options
--listen-addr
Proxy listen address (where clients connect).
Default: :3241
Environment Variable: VIIPER_PROXY_ADDR
--upstream
Required. Upstream USBIP server address (where real devices are).
Environment Variable: VIIPER_PROXY_UPSTREAM
--connection-timeout
Connection timeout for proxy operations.
Default: 30s
Environment Variable: VIIPER_PROXY_TIMEOUT
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:
See Also
- Server Command - Run VIIPER as a USBIP server
- Configuration - Environment variables and configuration files