nmap me mostra que um serviço é “aberto | filtrado” enquanto localmente é “aberto”, como abrir?

7

Eu tenho um servidor Quake 3. E é lançado com sucesso.

O problema é que ninguém pode se conectar a esse servidor.

Estou em execução: nmap -sU -p 27960 hostname e está me mostrando que é open|filtered

se eu estiver executando esse comando diretamente do servidor, ele será open .

Além disso, estou me certificando de que ele esteja vinculado à direita iface

Eu verifiquei as regras do iptables e não encontrei nenhum filtro relacionado a ele. Além disso, tentei abrir a porta explicitamente via iptables -A INPUT -p udp --dport 27960 -j ACCEPT

mas isso não ajudou.

O que poderia ser?

Liguei para o centro de suporte do ISP e eles disseram que não estão filtrando nada.

    
por bakytn 04.11.2012 / 15:25

1 resposta

7

Obter resultados nmap diferentes a partir de máquinas locais e máquinas remotas significa que existe algum tipo de firewall (seja em execução localmente ou em alguma máquina remota) que esteja bloqueando. De acordo com a documentação do nmap,

open|filtered

Nmap places ports in this state when it is unable to determine whether  
a port is open or filtered. This occurs for scan types in which open
ports give no response. The lack of response could also mean that a 
packet filter dropped the probe or any response it elicited. So Nmap 
does not know for sure whether the port is open or being filtered. The
UDP, IP protocol, FIN, NULL, and Xmas scans classify ports this way.

Recomendamos que você experimente as seguintes ferramentas para descobrir se exatamente o problema existe:

  1. Para capturar os pacotes UDP destinados a port 27960 usando tcpdump e. Verifique se os pacotes estão chegando ou não à sua máquina.

Execute o seguinte comando para capturar os pacotes do udp destinados à porta 27960 em um arquivo tcpdump.out

$ sudo tcpdump -A 'udp and port 27960' -w tcpdump.out'

Tente conectar-se de outra máquina à porta usando netcat

$ nc <server-ip-address> -u 27960

Agora pare o despejo e verifique se algum pacote foi capturado no tcpdump.out ou se não está usando o wireshark.

$ wireshark tcpdump.out

Se nenhum pacote foi capturado, isso significa que algum dispositivo intermediário (firewall) está impedindo a comunicação. Caso contrário, se capturado verifique a resposta que o servidor está dando em retorno da solicitação. Se é qualquer tipo de resposta ICMP com algum código de erro, significa que há algum firewall local que está bloqueando.

    
por 04.11.2012 / 16:58