Por que o nmap envia dois pacotes para testar uma única porta?

2

Eu executo o nmap com privilégios de root usando o sudo, então eu suponho que ele tenha acesso total para criar sockets crus. O Wireshark mostra dois pacotes usados para testar uma única porta quando eu usei o comando

sudo nmap 192.168.110.153 -p21 

Esse comportamento é normal? por quê?

sudo nmap 192.168.110.153 -p21 --packet-trace

Starting Nmap 6.40 ( http://nmap.org ) at 2015-05-19 19:18 BST
SENT (0.0447s) ARP who-has 192.168.110.153 tell 192.168.110.155
RCVD (0.0450s) ARP reply 192.168.110.153 is-at 00:0C:29:F4:05:E0
NSOCK INFO [0.2450s] nsi_new2(): nsi_new (IOD #1)
NSOCK INFO [0.2450s] nsock_connect_udp(): UDP connection requested to 127.0.1.1:53 (IOD #1) EID 8
NSOCK INFO [0.2460s] nsock_read(): Read request from IOD #1 [127.0.1.1:53] (timeout: -1ms) EID 18
NSOCK INFO [0.2460s] nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 8 [127.0.1.1:53]
NSOCK INFO [0.2460s] nsock_trace_handler_callback(): Callback: WRITE SUCCESS for EID 27 [127.0.1.1:53]
NSOCK INFO [0.2740s] nsock_trace_handler_callback(): Callback: READ SUCCESS for EID 18 [127.0.1.1:53] (46 bytes): *%...........153.110.168.192.in-addr.arpa.....
NSOCK INFO [0.2740s] nsock_read(): Read request from IOD #1 [127.0.1.1:53] (timeout: -1ms) EID 34
NSOCK INFO [0.2740s] nsi_delete(): nsi_delete (IOD #1)
NSOCK INFO [0.2740s] msevent_cancel(): msevent_cancel on event #34 (type READ)
SENT (0.2751s) TCP 192.168.110.155:45170 > 192.168.110.153:21 S ttl=39 id=28633 iplen=44  seq=3053138125 win=1024 <mss 1460>
SENT (0.3754s) TCP 192.168.110.155:45171 > 192.168.110.153:21 S ttl=46 id=8796 iplen=44  seq=3053072588 win=1024 <mss 1460>
RCVD (0.2759s) TCP 192.168.110.153:21 > 192.168.110.155:45170 RA ttl=64 id=14442 iplen=40  seq=0 win=0 
RCVD (0.3756s) TCP 192.168.110.153:21 > 192.168.110.155:45171 RA ttl=64 id=14443 iplen=40  seq=0 win=0 
Nmap scan report for 192.168.110.153
Host is up (0.00047s latency).
PORT   STATE  SERVICE
21/tcp closed ftp
MAC Address: 00:0C:29:F4:05:E0 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 0.50 seconds
    
por Matka 19.05.2015 / 19:36

3 respostas

1

Parece um problema de libpcap com pacotes de filas antes de entregá-los ao Nmap. Observe a diferença na ordenação de pacotes entre o Wireshark e o Nmap; mesmo que os timestamps sejam os mesmos, a ordem das linhas impressas mostra que os pacotes foram entregues no Nmap após o segundo pacote SYN foi enviado. Recentemente tivemos / tivemos um problema com a libpcap 1.5.3 (e possivelmente a ramificação 1.6, não testamos) em kernels Linux mais recentes relacionados à interface packet ring / TPACKET que não entregam pacotes quando chegam. Qual é a saída de nmap --version ?

O problema subjacente é um bug no Linux, que já estava já corrigido mas não backportado . Nós resolvemos este problema no desenvolvimento atualizando o libpcap para a versão 1.7.3, que possui algumas soluções alternativas.

    
por 20.05.2015 / 00:08
1

Considerando a captura de tela, parece que [R.] pacotes são filtrados antes de acessar a máquina da qual você está digitalizando e o nmap usou seu recurso de retransmissão, pois o primeiro [S] packet não recebeu resposta.

Você pode desativar isso usando --max-retries 0 .

    
por 19.05.2015 / 20:15
0

Why does nmap send two packets in order to test a single port?

Normalmente: devido ao handshake de três vias necessário para estabelecer uma conexão TCP ... enviar SYN - > receber SYN-ACK - > enviar ACK

Neste caso: porque a resposta de 192.168.110.153 é RST, ACK ou em outras palavras: uma conexão com a porta 21 é rejeitada. Provavelmente o nmap é um pouco persistente e tenta duas vezes antes de aceitar o não como resposta.

    
por 19.05.2015 / 20:22

Tags