Mostrar quais aplicativos & processos estão usando uma conexão com a Internet via linha de comando no Mac OS X
Índice:
- Como mostrar nomes de aplicativos e processos usando a Internet no Mac OS X
- Como mostrar informações detalhadas para ID de processo conectando-se à Internet no Mac OS X
Assim como você pode monitorar o uso do sistema de arquivos do Mac OS X por meio da linha de comando, você também pode descobrir quais aplicativos e processos individuais estão usando a conexão de Internet do seu Mac. Este é um truque realmente útil se você souber que sua largura de banda está sendo usada por algo ou se estiver apenas tentando rastrear quais aplicativos ou processos em segundo plano estão se conectando ao mundo externo.
Para determinar quais aplicativos, daemons, processos ou qualquer outra coisa do Mac está usando a Internet, vamos recorrer à linha de comando do Mac OS X e usar uma variação mais avançada do excelente lsof comando. E sim, isso funcionará para qualquer versão do MacOS ou Mac OS X e tipo de conexão à Internet por meio de qualquer serviço, seja wi-fi e rede sem fio ou ethernet, e também funcionaria em uma máquina linux, pois lsof é uma rede padrão ferramenta binária.
Abordaremos duas maneiras de fazer isso, a primeira fornece uma saída fácil de ler e imprimirá nomes de aplicativos e processos que estão se conectando ao mundo externo, e a segunda string fornecerá informações extremamente detalhadas sobre qual PID está se conectando a qual host e usando qual protocolo. Você pode usar um ou ambos, dependendo de suas necessidades específicas.
Como mostrar nomes de aplicativos e processos usando a Internet no Mac OS X
Abra o aplicativo Terminal, caso ainda não o tenha feito, e digite exatamente o seguinte comando:
lsof -nPi | cut -f 1 -d ">
Você pode copiar/colar essa string se não estiver familiarizado com a linha de comando, apenas certifique-se de que toda a string seja executada em uma única linha de sintaxe.
A execução desse comando longo fornecerá uma saída parecida com esta:
SystemUIS Dropbox iChatAgen Finder iTunes Google ssh
Estes são apenas os nomes de aplicativos e processos do que está usando ativamente a Internet. Agora, obviamente, não há muito mais dados aqui, mas se você está apenas tentando rastrear um aplicativo desonesto que monopoliza a largura de banda, às vezes é adequado para essa finalidade.
É claro que existem muitas situações em que informações estendidas de qual processo e/ou aplicativos estão usando uma conexão de rede, como e para qual endereço remoto, e é isso que abordaremos a seguir.
Como mostrar informações detalhadas para ID de processo conectando-se à Internet no Mac OS X
Se você deseja informações mais detalhadas do que as mostradas na string de comando acima, podemos revisar o comando acima para obter mais dados brutos de lsof removendo os canais para outros utilitários de linha de comando, deixando-nos com detalhes não refinados diretamente de lsof. Você também notará que cortei o sinalizador -n porque desta vez quero ver os nomes dos hosts:
lsof -Pi
Isso fornecerá dados muito mais detalhados, incluindo o nome do aplicativo, PID, protocolo, endereço IP, nome do host e o status atual da conexão. Todos os dados muito úteis.
Se isso for uma sobrecarga de informações, tente canalizar o comando através de 'more' para facilitar a leitura em partes ou use grep para classificar dados para um aplicativo ou processo específico, assim:
$ lsof -Pi |grep iChatAgen iChatAgen 228 David 10u IPv4 0x0bfe44ec 0t0 UDP 127.0.0.1:5191->bos-d25v-r2d2.blue.aol.com:5191 iChatAgen 228 David 13u IPv4 0x1e148b1e 0t0 TCP 192.168.1.29:50051->206.198.4.49:5190 (ESTABELECIDO)
lsof é um utilitário poderoso com uma infinidade de usos. Cobri o uso de lsof para rastrear problemas de largura de banda há algum tempo, mas estava usando apenas o sinalizador -i, que é significativamente mais simplificado. Você pode usar qualquer uma das variações abordadas, e cada uma tem seus próprios casos de uso que podem ser úteis.
As ferramentas de linha de comando são destinadas a usuários avançados, mas aqueles mais novos no Mac OS X ou que simplesmente não gostam do Terminal podem usar aplicativos como o Private Eye para ajudar a ver o que está usando uma conexão de Internet do Mac em um maneira semelhante, embora muito mais amigável e totalmente em um aplicativo Mac tradicional.