
Tenho observado netstat
a saída em um MacBook. Percebi que alguns aplicativos permitem especificar qual porta ele usa. Por exemplo, utorrent
permite que você faça isso. Escolhi uma porta 55743 e executei netstat | grep 55743
e o resultado foi o seguinte.
udp6 0 0 *.55743 *.*
udp4 0 0 *.55743 *.*
Quando eu saio utorrent
a 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 -i
seu amigo fornece um instantâneo das conexões/operações de soquete atuais. Infelizmente, no OS X, netstat
não oferece suporte a esse recurso.
Outras opções incluem:
Activity Monitor.app
permite 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