Como posso saber qual aplicativo está usando qual porta?

Como posso saber qual aplicativo está usando qual porta?

Tenho observado netstata saída em um MacBook. Percebi que alguns aplicativos permitem especificar qual porta ele usa. Por exemplo, utorrentpermite que você faça isso. Escolhi uma porta 55743 e executei netstat | grep 55743e o resultado foi o seguinte.

udp6       0      0  *.55743                *.*
udp4       0      0  *.55743                *.*

Quando eu saio utorrenta porta é liberada. Mas, se eu não soubesse o número da porta, como posso saber qual aplicativo está usando qual porta? E é possível que alguns aplicativos usem portas secretamente para se comunicar com dispositivos de servidores externos?

Responder1

Como David Houde mencionou, lsof -iseu amigo fornece um instantâneo das conexões/operações de soquete atuais. Infelizmente, no OS X, netstatnão oferece suporte a esse recurso.

Outras opções incluem:

Activity Monitor.apppermite que você veja os arquivos e portas abertas por um aplicativo. Isso pode ser feito clicando duas vezes em um processo e abrindo a guia “Abrir arquivos e portas”.

Dtrace - confirasoconectarscript que fornece informações contínuas sobre as operações da rede até você sair (control + c). Exemplo de saída:

sudo /tmp/soconnect.d 
PID    PROCESS          FAM ADDRESS          PORT   LAT(us) RESULT
8211   X-Lite           2   192.168.1.109    5060        25 Success
4112   Google Chrome    2   173.194.34.134   443         53 In progress
8211   X-Lite           2   192.168.1.109    5060        30 Success

Um aplicativo que eu pessoalmente gosto é o pequeno informante, mas é um software comercial. Embora este seja um software de firewall para desktop, ele possui vários recursos que podem ser interessantes para você:

  • monitor de rede, que informa quais aplicativos estão se conectando e onde (de certa forma, semelhante à saída soconnect.d)
  • capture o tráfego de rede por aplicativo (ou seja, semelhante ao wireshark, você pode monitorar o tráfego de rede, mas limitá-lo a apenas um aplicativo específico)

Para responder à sua segunda pergunta - sim, em sistemas operacionais tradicionais (por exemplo, OS X, Windows), os aplicativos têm a capacidade de se conectar a sistemas de terceiros de várias maneiras e enviar qualquer coisa. Vários firewalls de desktop tentam resolver esse problema, permitindo que você especifique onde cada aplicativo pode se conectar, criando assim uma espécie de lista de permissões. Como qualquer outra coisa em segurança, esta abordagem tem as suas armadilhas.

obs. Não tenho associação com nenhum fornecedor de software de firewall para desktop :)

Responder2

Você pode fazer isso com mais alguns argumentos netstat ou usando lsof:

netstat -lp
lsof -i udp:55743

informação relacionada