Na saída lsof, quais são essas linhas de 'meia'?

Na saída lsof, quais são essas linhas de 'meia'?

No comando lsof no Ubuntu/Debian, estou vendo muitas linhas como abaixo:

PROGRAM 829 root  140u     sock        0,8       0t0 244182 protocol: TCP

Quais são essas linhas?

Eles podem ser resultados de tentativas fracassadas de conexão TCP?

Responder1

Esta linha é exibida quando lsofnão é possível encontrar informações adicionais sobre o soquete TCP: ele sabe que é um soquete TCP, mas não mais.

Há duas razões pelas quais posso pensar:

  • Improvável: o soquete ainda não está escutando nem conectando: ou seja, um servidor ou cliente usado, por exemplosocket(AF_INET, SOCK_STREAM, 0)para criar um soquete TCP, mas ainda não ligoulisten(2)ouconnect(2). Isso pode ser causado por falta de recursos ou software com bugs.

  • Muito provavelmente hoje: o processo visto por lsofé executado em outroespaço para nome de rede, normalmente em um contêiner (Docker, LXC, LXD ...) e, portanto, lsofnão tem acesso às informações relevantes e não as exibe.

    Você deve então executar lsofa partir do mesmo namespace de rede que o processo. Olsnsensentercomandos podem ajudar muito nisso. Para o seu caso, isso provavelmente funcionaria:

      nsenter -t 829 --net lsof -n -p 829
    

Em casos normais lsofseria exibido IPv4ou IPv6em vez de socke teria informações adicionais, como porta de escuta ou endereços envolvidos. Mesmo uma conexão ainda em andamento seria exibida com os endereços envolvidos e, por exemplo SYN_SENT, .

informação relacionada