Existe uma maneira de ver o que realmente está filtrando a comunicação da porta TCP?


10
nmap -p 7000-7020 10.1.1.1

Produzirá todas as portas filtradas

Starting Nmap 6.40 ( http://nmap.org ) at 2015-03-04 12:18 EET
Nmap scan report for 10.1.1.1
Host is up (0.00091s latency).
PORT     STATE    SERVICE
7000/tcp filtered afs3-fileserver
7001/tcp filtered afs3-callback
7002/tcp filtered afs3-prserver
7003/tcp filtered afs3-vlserver
7004/tcp filtered afs3-kaserver
7005/tcp filtered afs3-volser
7006/tcp filtered afs3-errors
7007/tcp filtered afs3-bos
7008/tcp filtered afs3-update
7009/tcp filtered afs3-rmtsys
7010/tcp filtered ups-onlinet
7011/tcp filtered unknown
7012/tcp filtered unknown
7013/tcp filtered unknown
7014/tcp filtered unknown
7015/tcp filtered unknown
7016/tcp filtered unknown
7017/tcp filtered unknown
7018/tcp filtered unknown
7019/tcp filtered unknown
7020/tcp filtered unknown

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

Existe uma maneira de ver exatamente o que está filtrando essas portas?

Respostas:


11

É o que os documentos do nmap dizem sobre o filteredestado

O Nmap filtrado não pode determinar se a porta está aberta porque a filtragem de pacotes impede que suas análises cheguem à porta. A filtragem pode ser de um dispositivo de firewall dedicado, regras de roteador ou software de firewall baseado em host ...

A única maneira de descobrir o que está fazendo a filtragem é saber o que 'máquinas' existem entre você e o destino remoto.

Isso pode ser conseguido usando um utilitário de rastreamento de rota, que tenta determinar hosts entre você e o destino usando pacotes TCP especiais. No seu caso, o comando pode ser algo como:

traceroute 10.1.1.1

Depois de conhecer as máquinas entre você e o destino, você investiga a configuração de cada uma para descobrir se está filtrando e, em caso afirmativo, como.


Não há firewalls de software ativos nessas duas máquinas, nmap -p 7000-7020 localhostmostra as portas abertas e o firewall dedicado está aberto.
Eduard Florinescu 04/03

4
A evidência que você tem sugere que algo está filtrando. Não podemos saber o que é isso, pois não conhecemos sua configuração. Os firewalls baseados em host geralmente permitem todo o tráfego na interface de loopback (host local), de modo que é um teste possivelmente enganoso.
user9517

Existe alguma chance de você usar o linux com o iptables "-j DROP"? A documentação do nmap se refere como filtrada, na verdade, é um pacote descartado em qualquer protocolo.
risyasin

Este software está realmente vinculado a um IP externo? Se tudo estiver vinculado ao 127.0.0.1, pode causar isso. Verifique netstat
devicenull

12

O Nmap fornece várias maneiras de obter mais informações sobre o que está causando a filtragem:

  • A --reasonopção mostrará o tipo de resposta que causou o estado da porta "filtrada". Pode ser "sem resposta" ou "proibido pelo administrador" ou qualquer outra coisa.
  • O TTL dos pacotes de resposta é relatado na saída XML como o reason_ttlatributo do stateelemento para a porta. Se o TTL para uma porta filtrada for diferente (geralmente maior que) do TTL para portas abertas, a diferença entre os TTLs será a distância da rede entre o destino e o dispositivo de filtragem. Há exceções, como destinos que usam TTLs iniciais diferentes para pacotes ICMP vs TCP ou um dispositivo de filtragem que falsifica ou substitui informações TTL.
  • A --traceroutefunção mostrará informações sobre os saltos ao longo do seu percurso, qualquer um dos quais pode estar filtrando seu tráfego. Em alguns casos, o nome DNS reverso de um dos saltos será algo como "firewall1.example.com"
  • O firewalkscript NSE enviará pacotes com TTLs iniciais que atingirão o tempo limite em diferentes saltos ao longo da rota, na tentativa de descobrir onde os pacotes estão sendo bloqueados. Isso é algo como uma combinação das duas técnicas anteriores e geralmente funciona muito bem.

A versão de desenvolvimento ainda não lançada do Nmap também relata TTL para pacotes de resposta na saída de texto normal com as -v --reasonopções. Por enquanto, porém, você precisa usar a saída XML para obter essas informações.

EDITADO PARA ADICIONAR: O Nmap 6.49BETA1 foi o primeiro lançamento a mostrar TTL para pacotes de resposta na saída de texto com -v --reasonou -vv, e foi lançado em junho de 2015.


1
Opções muito úteis +1
Eduard Florinescu 4/15

Sim, --script=firewalké o que eu estava tentando encontrar. Obrigado.
ulidtko

5

Resposta curta - Não, não há como vê-lo.

Resposta mais longa:

De: https://nmap.org/book/man-port-scanning-basics.html

"O Nmap filtrado não pode determinar se a porta está aberta porque a filtragem de pacotes impede que seus probes cheguem à porta. A filtragem pode ser de um dispositivo de firewall dedicado, regras de roteador ou software de firewall baseado em host. Essas portas frustram os invasores porque fornecem muito pouco Às vezes, eles respondem com mensagens de erro do ICMP, como o código 3 do tipo 3 (destino inacessível: comunicação proibida administrativamente), mas os filtros que simplesmente descartam análises sem responder são muito mais comuns, o que força o Nmap a tentar novamente várias vezes, caso a análise seja realizada. caiu devido ao congestionamento da rede em vez de filtrar. Isso diminui drasticamente a verificação ".

Você pode tentar descobrir a topologia de rede com ferramentas como o traceroute. Normalmente, as portas são filtradas no próprio host (por exemplo, tabelas IP), no roteador de borda de rede de destino, no roteador de núcleo de rede de destino ou no switch L3 na parte superior do rack.

Se você estiver na mesma sub-rede do host de destino, quase com certeza o firewall estará na máquina de destino.


2

Tente comparar o resultado do tcptrace a uma das portas filtradas com um tcptrace a uma porta aberta (ou um traceroute padrão). Se os tcptraces forem os mesmos, significa que há algo na máquina de destino que filtra as portas.

Atualização: eu quis dizer tcptraceroute, tenho o alias.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.