Por que não consigo executar o nmap com a opção -O mesmo quando uso o sudo

Por que não consigo executar o nmap com a opção -O mesmo quando uso o sudo

Estou tentando determinar quais portas estão em uso com minha máquina. Encontrei on-line um artigo que listava um método da seguinte maneira:

$ sudo nmap -sT -O localhost

Eu acreditava que isso me daria uma lista de todas as portas que escutam pacotes TCP. No entanto, quando insiro este comando, obtenho o seguinte resultado:

Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-02 21:07 EDT
socket troubles in HostOsScan: Permission denied (13)

Se estou executando como sudo, como posso não ter permissão para executar algo na minha máquina?

Eu tentei executar apenas:

$ sudo nmap -sT  localhost

e pegou:

Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-02 21:28 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000094s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
631/tcp open  ipp

Apenas tentei nmapsem argumentos e novamente a permissão foi negada!?

$ sudo nmap localhost
Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-03 11:05 EDT
Couldn't open a raw socket. Error: Permission denied (13)

Olhando para nmap's --helpa opção, vejo que -Opermite a detecção do sistema operacional. Por que não deveria ter permissão para usar esta opção - especialmente com sudo? (Nota: atualmente estou executando o Ubuntu 18.04 e 20.04)

(Nota: a resposta aceita resolve meu problema raiz - olhando para as portas, mas a resposta na seção de comentários explica por que eu estava tendo problemas com o nmap. Aparentemente, como instalei o snap, precisei executar também:

 $ sudo snap connect nmap:network-control

antes nmapfuncionaria corretamente

Responder1

Se você estiver tentando determinar quais portas estão em uso em sua máquina, não será necessário verificar. Você pode simplesmente listar as portas diretamente

netstat -nap
ss -nap

Se você não for root, omita o -psinalizador. As LISTENlinhas são as mais importantes para você e você pode filtrá-las com awk. Por exemplo

netstat -nap | awk 'NR==1 || /LISTEN/'

Responder2

Primeiro, "Estou tentando determinar quais portas estão em uso com minha máquina." em seguida, elimine o -O, pois você não precisa saber qual é o seu sistema operacional local.

Talvez precise de mais informações.

  1. Qual sistema operacional você está executando? Talvez inclua qual kernel
  2. Você está executando um firewall? ou Fail2ban ou qualquer serviço de segurança relacionado?
  3. Você pode instalar uma versão mais antiga? Minha instalação no Nmap v7.80 do repositório Ubuntu não apresentou o mesmo problema.
  4. Você está em uma máquina virtual, VPS ou sistema hospedado?
  5. Esta é uma instalação limpa com poucos ou nenhum programa instalado? Se sim, você tem um sistema silencioso, sem muito ruído, sem muito para detectar.
  6. Tentou outras opções de detecção de sistema operacional do Nmap? --osscan-limit --osscan-guess --max-os-triesLINK

A falta de portas TCP detectadas dificulta a detecção do sistema operacional. As respostas à solicitação TCP são como funciona a detecção do sistema operacional. Melhor explicado aquihttps://nmap.org/book/osdetect-methods.html

informação relacionada