The handles returned by libproc (namely struct socket_info's soi_pcb) use all 64 bits, but the ones from the pcblist sysctl are truncated to 32. That makes find_owning_pid fail. The pcblist64 sysctl was added in macOS 10.6 and returns handles that match those from libproc.
--
There does not seem to be a MIB constant for the pcblist64 sysctls, so I'm caching the result of sysctlnametomib.
-- v5: nsiproxy.sys: Use the pcblist64 sysctl to enumerate UDP connections on macOS. nsiproxy.sys: Use the pcblist64 sysctl to enumerate TCP connections on macOS.