Questão comportamento diferente: “sudo nmap” vs apenas “nmap”?


Eu estou tentando fazer uma varredura de porta simples com o nmap:

$ nmap 192.168.56.101

Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-10 19:30 IST
Nmap scan report for 192.168.56.101
Host is up (0.0048s latency).
Not shown: 998 closed ports
PORT      STATE SERVICE
5555/tcp  open  freeciv
24800/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

Mas quando eu tento o mesmo com sudo, falha alegando que o host está inativo:

$ sudo nmap 192.168.56.101

Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-10 19:30 IST
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 0.48 seconds



NOTA:
Eu estou no OS X Yosemite.
GNU bash, versão 3.2.57 (1) -release (x86_64-apple-darwin14)

Obrigado.


4


origem


Por favor inclua a saída para estes comandos com o -d opção, bem como a saída de nmap --version e se você instalou através do .dmg pacote, via Macports, ou de alguma outra forma. Obrigado! - bonsaiviking


Respostas:


Eu notei o mesmo comportamento no meu Mac. Isso é realmente estranho.

Parece que o NMAp com privilégios sudo obtém algumas informações do cache ARP. E assim, se você verificar um dispositivo desconectado da rede, mas ainda estiver no cache do ARP (o cache é atualizado após 2 ou 3 minutos no computador), ele aparecerá como on-line para o NMAP.

Da página man do NMAP:

Se nenhuma opção de descoberta de host for fornecida, Nmap envia um eco ICMP          solicitação, um pacote TCP SYN para a porta 443, um pacote TCP ACK para a porta 80 e          uma solicitação de registro de data e hora ICMP. (Para IPv6, a solicitação de registro de data e hora ICMP é          omitido porque não faz parte do ICMPv6.) Esses padrões são          equivalente às opções -PE -PS443 -PA80 -PP. As exceções a este          são o ARP (para IPv4) e o Neighbor Discovery. (para IPv6) varre quais          são usados ​​para qualquer alvo em uma rede ethernet local. Para sem privilégios          Usuários do shell Unix, os testes padrão são um pacote SYN para as portas 80 e          443 usando a chamada do sistema de conexão.. Esta descoberta de host é frequentemente          suficiente ao escanear redes locais, mas um conjunto mais abrangente          de testes de descoberta é recomendado para auditoria de segurança.


3





Por padrão, uma varredura sem privilégios usa -sT (TCP Connect), enquanto privilegiada (root) usa -sS (TCP SYN Stealth).

Conexão TCP (-sT) A verificação de conexão usa a chamada do sistema com o mesmo nome para verificar as máquinas, em vez de depender de pacotes brutos, como acontece com a maioria dos outros métodos. Ele é normalmente usado por usuários Unix privilegiados e contra alvos de 1Pv6, porque a varredura de SYN não funciona nesses casos.

TCP SYN Stealth (-sS) Este é, de longe, o tipo de scan mais popular, pois é a maneira mais rápida de varrer as portas do protocolo mais popular (TCP). Ele é mais furtivo que o scan de conexão e funciona contra todas as pilhas TCP funcionais (ao contrário de algumas digitalizações especiais, como a digitalização FIN).

1) Para descobrir o que está acontecendo com sua máquina, sugiro usar o modo verbose extra (-vv) ou - trace-trace para ver o que acontece.

$ sudo nmap --packet-trace -vv 192.168.56.101

2) Outra abordagem seria forçar uma varredura sem privilégios como usuário privilegiado usando os seguintes comandos e ver o resultado.

$ sudo nmap -sT -vv 192.168.56.101
$ sudo nmap --unprivileged -vv 192.168.56.101

3) Finalmente, o motivo pelo qual o nmap pára a varredura é porque o Tipo 8 de IMCP (eco de a.k.a ping) não retorna um ICMP Tipo 0 (resposta de eco). Este comando ignora o ping e mantém a varredura:

$ sudo nmap -PN 192.168.56.101

Você pode por favor experimentar esses comandos e postar a saída?


6





Basicamente, por padrão:

  • UMA privilegiado usuário executa uma -sS (varredura TCP SYN).
    Esse tipo de varredura requer privilégios raw socket / raw packet.
  • A sem privilégios usuário executa uma -sT (verificação de conexão TCP).
    Este tipo de scan não requer privilégios raw socket / raw packet.

Adaptado dos documentos oficiais do Nmap:


TÉCNICAS DE ESCANEAMENTO DE PORTAS
Most of the scan types are disponível apenas para usuários privilegiados. This is because they are able to enviar e receber pacotes brutos, which requires acesso root on Sistemas Unix. Using an conta de administrador on janelas is recommended, though Nmap sometimes works for unprivileged users on that platform when WinPcap has already been loaded into the OS. Requiring raiz     privilégios was a serious limitation when Nmap was released in 1997, as many users only had access to shared shell accounts. Now, the world is different. Computers are cheaper, far more people have always-on direct Internet access, and desktop Sistemas Unix (incluindo Linux e Mac OS X) are prevalent. A janelas version of Nmap is now available, allowing it to run on even more desktops. For all these reasons, users have less need to run Nmap from limited shared shell accounts. Isso é uma sorte, pois as opções privilegiadas tornam o Nmap muito mais     poderoso e flexível.


1