tree be78da943008f817a8af3ba40c34f633ce855344
parent 7e36a04e5b9eb206faad20f0a37fa111285ffdce
author banksean <banksean@gmail.com> 1750869827 +0000
committer Autoformatter <bot@sketch.dev> 1750876746 +0000

sketch: add /proc filesystem fallback for port monitoring when ss command unavailable

Implements /proc/net/tcp* parsing as fallback when ss command fails to eliminate
dependency on ss being installed in container environments.

Problems Solved:

ss Command Dependency:
- PortMonitor.updatePortState() relied on 'ss -lntu' command for port detection
- Failed on systems where ss (iproute2 package) is not installed
- No fallback mechanism when ss command execution failed
- Port monitoring became non-functional in minimal container environments

Limited Container Support:
- Many minimal container images don't include ss command
- Port monitoring silently failed without providing any functionality
- No way to detect listening ports without external command dependencies

Solution Architecture:

/proc Filesystem Parsing:
- Added getListeningPortsFromProc() method to read /proc/net/tcp* files
- Parses /proc/net/tcp, /proc/net/tcp6, /proc/net/udp, /proc/net/udp6
- Hex address decoding for both IPv4 and IPv6 addresses
- Socket state filtering to identify listening sockets (state 0x0A for TCP, 0x07 for UDP)

Fallback Implementation:
- updatePortState() tries ss command first, falls back to /proc on failure
- parseAddress() handles little-endian hex encoding from /proc files
- Generated output format matches ss command output for compatibility
- Maintains existing parseSSPorts() functionality for ss output

Implementation Details:

Address Parsing:
- IPv4: 8-character hex string representing little-endian 32-bit address
- IPv6: 32-character hex string with little-endian 32-bit chunks
- Port numbers stored as big-endian hex values
- Special address handling: 0.0.0.0 and :: converted to '*'

Socket State Detection:
- TCP listening sockets: state 0x0A (TCP_LISTEN)
- UDP bound sockets: state 0x07 (TCP_CLOSE for UDP)
- Filters out non-listening connections and states

Error Handling:
- Graceful fallback when ss command fails
- Logs debug messages for command failures
- Continues with /proc parsing if available
- Handles missing /proc files gracefully

Testing:

Comprehensive Test Coverage:
- TestParseAddress() verifies hex address decoding for IPv4/IPv6
- TestParseProcData() validates /proc file parsing with mock data
- TestGetListeningPortsFromProcFallback() tests complete fallback functionality
- TestUpdatePortStateWithFallback() validates end-to-end behavior

Address Parsing Validation:
- IPv4 localhost (0100007F:0050 -> 127.0.0.1:80)
- IPv4 wildcard (00000000:0016 -> *:22)
- IPv6 wildcard and specific addresses
- Error handling for invalid formats and hex values

Files Modified:
- sketch/loop/port_monitor.go: Added /proc parsing methods and fallback logic
- sketch/loop/port_monitor_test.go: Added comprehensive tests for new functionality

The implementation ensures port monitoring works reliably in any Linux environment
regardless of whether ss command is available, using native /proc filesystem access.

Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: s72dd58a0b3f4304bk
