Skip to content

Identifica os servicos das portas abertas (v0.4.0) - #34

Merged
manfredjr merged 2 commits into
mainfrom
identificacao-servicos
Sep 26, 2026
Merged

manfredjr merged 2 commits into
mainfrom
identificacao-servicos

Conversation

@manfredjr

Copy link
Copy Markdown
Owner

O que muda

Fatia 8 da versão 1.0 (sai como v0.4.0), conforme o plano do PR #32.

  • Só nas portas abertas pela etapa de portas, e só nos hosts que ela verificou.
  • Web (80, 8000, 8080, 443, 8443): um GET / com User-Agent: MapNet-MT/<versão>, sem seguir redirecionamento, sem cookie e sem senha. Lê o título da página, o servidor e o endereço do redirecionamento. No HTTPS, lê o certificado (nome, emissor, validade), aceitando autoassinado e vencido.
  • SSH, FTP e SMTP: só lê a primeira linha que o servidor manda. Não envia nada, e há teste que confere isso.
  • UPnP: um M-SEARCH na rede local. Ficam só as respostas dos hosts verificados, e a descrição XML é lida do próprio equipamento, com DTD recusado.
  • Telnet fica de fora.
  • Limites: 16 ao mesmo tempo, 3 s por serviço, 64 KB por resposta, 200 caracteres por texto. Cancelar para a etapa.
  • Tela: caixa Identificar serviços, marcada, junto com as portas (decisão de 26/09/2026). Coluna Serviço com o texto mais útil (modelo, título, certificado ou banner) e bloco Serviços no detalhe. A pergunta de confirmação diz o que a identificação envia.
  • Relatório: coluna, detalhe e linha no resumo. Linha de comando: --portas já identifica, --sem-identificar desliga.
  • README, página, pendências e versão 0.4.0.

Teste real: rodei pela linha de comando na rede do Manfred. Roteador, câmera, TV e um Windows responderam. Título de página de erro (403, 404) não vira resumo.

Como testar

  1. Conferir que o CI deste PR passou.
  2. Abrir o mapnet.exe do artefato, marcar Verificar portas (Identificar serviços já vem marcado), varrer e conferir a coluna Serviço e o bloco Serviços no detalhe.
  3. Salvar o relatório e conferir a coluna Serviço.
  4. mapnet --varrer --portas --abrir e, para comparar, --sem-identificar.

Autores: Manfred Heil Junior

Fatia 8, que sai como v0.4.0. Nas portas que a etapa de portas achou
abertas, o programa pergunta ao servico quem ele e, com a menor conversa
possivel: um GET na raiz para ler o titulo e o servidor das paginas web,
o certificado HTTPS, a primeira linha de SSH, FTP e SMTP, e uma busca
UPnP na rede local, com a descricao lida do proprio equipamento. Telnet
fica de fora, porque a primeira tela costuma ser o login.

Todo texto que vem da rede perde caractere de controle, e cortado e
passa pela codificacao HTML no relatorio. O XML do UPnP recusa DTD.
Limites: 16 identificacoes juntas, 3 s por servico, 64 KB por resposta.

A caixa Identificar servicos vem marcada junto com as portas, como o
Manfred decidiu, e a pergunta de confirmacao diz o que ela envia. A
tabela ganha a coluna Servico, o detalhe e o relatorio o bloco Servicos.
Na linha de comando, --portas ja identifica e --sem-identificar desliga.

Rodou na rede do Manfred pela linha de comando antes do commit.

Autores: Manfred Heil Junior
O numero do PR so existe depois de aberto.

Autores: Manfred Heil Junior
@manfredjr
manfredjr merged commit ee7dba7 into main Sep 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant