A maneira mais rápida de varrer a porta. NMAP

2

Estou procurando uma maneira rápida de procurar por portas abertas em proxies. Eu estou fazendo isso através do php e eu tenho usado o nmap e descobri este comando:

<?php
system("nmap -PN -p U:1194,T:21,22,25,53,80,110,111,143,443,465,993,995,3306,8443,553,554,1080,3128,6515,6588,8000,8008,8080,8081,8088,8090,8118,8880,8909,1723,7080 {$_SERVER['REMOTE_ADDR']} 2>&1"); 
?>

O problema é que normalmente demora de 1 a 2 segundos para que as verificações sejam concluídas, mesmo que eu tenha acabado de definir a porta 80, ainda é cerca de 1 a 2 segundos.

No entanto, fazer isso no PHP retornará quase instantâneo ou tempo limite dentro de 0,5 segundo:

    if( @fsockopen( $_SERVER['REMOTE_ADDR'], $port, $errstr, $errno, 0.5 ) )
    die("php_tests_callback({success: false, message: 'Client has port $port open'});");

Então, eu estou querendo saber se existe uma maneira mais otimizada de usar o NMAP ou um programa alternativo? Estou quase tentado a escrever algum tipo de processo de bifurcação PHP para executar inúmeros fsockopens.

Editar:

Aparentemente, eu preciso ler o NMAP man antes de postar uma pergunta. Eu criei esses argumentos que geralmente fazem a varredura em 0.50 segundos ou um pouco mais.:

system("nmap -T5 --host-timeout 4s --min-rate 1000 -PN -p U:1194,T:21,22,25,53,80,110,111,143,443,465,993,995,3306,8443,553,554,1080,3128,6515,6588,8000,8008,8080,8081,8088,8090,8118,8880,8909,1723,7080 {$_SERVER['REMOTE_ADDR']} 2>&1"); 

No entanto, ainda estou aberto a outras sugestões / aplicativos.

    
por ParoX 10.01.2012 / 04:12

3 respostas

3

Dê uma olhada no scanner Rainmap hospedado pelo Nmap na Web. Ele foi desenvolvido como um projeto do Google Summer of Code há dois anos, sob a orientação da equipe de desenvolvimento do Nmap

    
por 02.03.2012 / 19:03
1

Tente usar a opção -n para desativar a resolução de DNS.

    
por 22.10.2014 / 17:19
0

De fato, -T5 --host-timeout é o caminho certo a seguir.

A varredura da porta do udp pode ser a única que diminui a velocidade da varredura. Você pode apertar ainda mais a sua varredura removendo esta porta udp1194.

Eu posso estar errado, já que a opção -T5 já pode cancelar a varredura do udp porque ela leva muito tempo.

Como por 'Nmap Discovery Protocol' escrito pelo desenvolvedor do nmap, eu cito:

The other big challenge with UDP scanning is doing it quickly. Open and filtered ports rarely send any response, leaving Nmap to time out and then conduct retransmissions just in case the probe or response were lost. Closed ports are often an even bigger problem. They usually send back an ICMP port unreachable error. But unlike the RST packets sent by closed TCP ports in response to a SYN or connect scan, many hosts rate limit ICMP port unreachable messages by default. Linux and Solaris are particularly strict about this. For example, the Linux 2.4.20 kernel on Felix limits destination unreachable messages to one per second (in net/ ipv4 I icmp. c).

Scanning UDP ports is important because many vulnerable services use that protocol, but the timing characteristics and performance requirements of UDP scans are much different than TCP scans. Of particular concern is ICMP error rate-limiting, which is extremely common and affects UDP scans far more often than TCP. I don't recommend combining TCP and UDP scans when performance is critical.

    
por 01.07.2014 / 14:35

Tags