I can read the /proc/$PID/net/tcp file for example and get information about TCP ports opened by the process.
Esse arquivo não é uma lista de portas tcp abertas pelo processo . É uma lista de todas as portas tcp abertas no namespace de rede atual, e para processos em execução no mesmo namespace de rede é idêntico ao conteúdo de /proc/net/tcp .
Para encontrar portas abertas pelo seu processo, você precisaria obter uma lista de descritores de soquete de /proc/<pid>/fd e, em seguida, associar esses descritores ao campo inode de /proc/net/tcp .