O Nmap e o netstat têm muitos recursos que são muito diferentes uns dos outros, mas há alguns que são mais difíceis de distinguir. Na categoria "diferenças óbvias", o netstat pode:
- mostra conexões atualmente ativas
- exibir informações de rota
- mostra as estatísticas da interface de rede
Considerando que o Nmap pode:
- mostre as portas abertas em um sistema remoto
- impressão digital da pilha TCP / IP de um destino
- determine informações de versão de serviço e aplicativo
e muito mais. Mas é claro, você pode executar o Nmap em relação a localhost
e ele mostrará informações semelhantes ao que o netstat mostrará. Então qual é a diferença?
O Netstat obtém suas informações diretamente do sistema operacional. Ele pede ao kernel uma lista de todas as portas de escuta e as exibe. Ele pode mostrar quais endereços estão atendendo além de quais portas e, com privilégios suficientes, quais IDs de processo.
O Nmap obtém suas informações por experiência, tentando se conectar a cada porta por vez e exibindo o resultado da tentativa de conexão. Este processo é muito mais lento, portanto, por padrão, ele tenta apenas os 1000 números de portas mais comuns. Ele pode investigar cada porta para determinar o tipo de serviço que está sendo executado, mas não pode mostrar o ID do processo (a menos que você tenha o SNMP em execução e use o script snmp-netstat ).
Então, quando você deve usar o netstat?
- Quando você quiser saber o que está escutando na sua máquina local.
- Quando você precisar de informações de processo ou interface / endereço para cada porta.
- Quando você confia no sistema operacional para fornecer a resposta correta. Se você foi hackeado, um rootkit pode fazer o SO mentir para o netstat sobre o que realmente está acontecendo.
Quando você deve usar o Nmap?
- Quando você quiser saber sobre portas abertas em um sistema remoto.
- Quando você deseja mais informações sobre o serviço que escuta em cada porta.
- Quando você precisar de uma segunda opinião sobre portas de escuta. Veja o comentário sobre os rootkits acima.