De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


TCP UDP - Identificação de Portas Ativas em BSD

Colaboração: Felipe Kellermann

Data de Publicação: 16 de Junho de 2004

Nos sistemas baseados no 4.4BSD há uma ferramenta padrão que entrou na versão 4.3BSD-Tahoe, fstat(1). Não tem nada a ver com a fstat(2).

A idéia é a mesma que a do lsof. Na verdade, o lsof tenta ser uma versão portável do fstat: Listar descritores abertos. A diferença aqui é que o fstat é realmente um padrão nos sistemas BSD, e até por isso é bem mais simples.

Com essa lista detalhada de descritores nós podemos ver esses sockets. Por exemplo,

  $ fstat|grep -E '(tcp|udp)'
  stdfk    sshd        2048    6* internet stream tcp 0xd05fac84 10.0.1.2:22 <-- 10.0.0.1:1083
  root     sshd        6102    6* internet stream tcp 0xd05fac84 10.0.1.2:22 <-- 10.0.0.1:1083
  root     sshd        3043    4* internet6 stream tcp 0xd05fa9bc *:22
  root     sshd        3043    5* internet stream tcp 0xd05fab20 *:22
  root     inetd      16313    4* internet stream tcp 0xd05fa164 *:113
  root     inetd      16313    5* internet6 stream tcp 0xd05fa2c8 *:113
  root     inetd      16313    6* internet dgram udp *:69
  root     inetd      16313    7* internet dgram udp 127.0.0.1:512
  root     inetd      16313    8* internet6 dgram udp [::1]:512
  root     inetd      16313    9* internet stream tcp 0xd05fa42c *:13
  root     inetd      16313   10* internet6 stream tcp 0xd05fa590 *:13
  root     inetd      16313   11* internet stream tcp 0xd05fa6f4 *:37
  root     inetd      16313   12* internet6 stream tcp 0xd05fa858 *:37
  root     ftpd       16809    4* internet stream tcp 0xd05fa000 *:21
  _syslogd syslogd    16861    5* internet dgram udp *:514
  $

Aqui nós também podemos ver quem é o dono do processo, qual é o nome do processo, qual é o PID do processo. O próximo campo especificaria qual é o descritor que está associado à linha. No nosso caso nós temos um valor seguido de um asterisco, que indica que esse descritor é relativo a algum tipo de socket (Não é um inode. É um socket, FIFO, ou há algum erro).

A formatação dos próximos campos depende do domínio do protocolo. Aquele primeiro campo indica justamente qual é esse tipo de domínio. No segundo campo nós temos o tipo do socket. Terceiro, e aqui é interessante, são as flags que estão associadas a esse socket, em hexa. E depois segue com as informações que são específicas do tipo de protocolo.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Felipe Kellermann