NebulaFinger MCP

Uma interface de servidor MCP para a ferramenta de reconhecimento de impressões digitais NebulaFinger.

Documentação

Guia de Configuração do NebulaFinger MCP

Nota sobre a relação do projeto: Este módulo MCP é a implementação da interface de agente de IA da ferramenta de identificação de impressões digitais NebulaFinger. A implementação MCP independente completa pode ser encontrada em MCP-NebulaFinger. Esta interface permite que modelos de linguagem de grande porte chamem diretamente o NebulaFinger para identificação de impressões digitais de serviços e da web.

📋 Pré-requisitos

  1. Python 3.8+ instalado
  2. Ferramenta NebulaFinger.exe compilada ou baixada
  3. Biblioteca FastMCP instalada

Nota sobre suporte multiplataforma: Embora a documentação faça referência ao NebulaFinger.exe (executável do Windows), a ferramenta NebulaFinger pode ser compilada de acordo com o sistema operacional do seu ambiente. Em sistemas Linux/macOS, você pode compilar a partir do código-fonte para gerar um executável sem extensão.

🛠️ Etapas de instalação

1. Instalar dependências

pip install fastmcp

2. Estrutura do projeto

Certifique-se de que a estrutura do seu projeto seja a seguinte:

NebulaFinger/
├── NebulaFinger.exe           # 主程序
├── configs/                   # 配置目录
│   ├── web_fingerprint_v4.json
│   ├── service_fingerprint_v4.json
│   ├── fingerprint_weights.json
│   └── tcp_ports.json
├── MCP/                       # MCP 服务目录
│   └── mcp_server.py          # MCP 服务端脚本
└── README.md

3. Configurar o cliente MCP

Adicione a seguinte configuração ao arquivo de configuração do seu cliente MCP (recomenda-se salvar um arquivo NebulaFinger separado, com o caminho absoluto na configuração):

{
  "mcpServers": {
    "nebulafinger_mcp": {
      "isActive": true,
      "name": "nebulafinger_mcp",
      "type": "stdio",
      "command": "python",
      "args": [
        "D:\\NebulaFinger\\MCP\\mcp_server.py"
      ],
      "env": {
        "NEBULAFINGER_PATH": "D:\\NebulaFinger"
      }
    }
  }
}

Notas importantes:

  • Substitua o caminho pelo seu caminho absoluto real
  • A variável de ambiente NEBULAFINGER_PATH aponta para o diretório raiz da ferramenta NebulaFinger

🔧 Funções de ferramentas disponíveis

O servidor MCP fornece as seguintes funções de ferramentas:

1. scan_target - Escanear um único alvo

参数:
- target: 要扫描的目标 (例如: example.com 或 http://example.com)
- mode: 扫描模式 ("web", "service", "all"),默认 "web"
- concurrent: 并发数,默认 5
- output_html: 是否生成HTML报告,默认 False
- silent: 静默模式,默认 False
- no_favicon: 禁用Favicon检测,默认 False
- bp_stat: 只输出有指纹匹配的结果,默认 False

2. scan_targets_from_list - Escanear uma lista de alvos

参数:
- targets: 要扫描的目标列表 (字符串数组)
- 其他参数与 scan_target 相同

3. scan_targets_from_file - Escanear a partir de arquivo

参数:
- file_path: 包含目标列表的文件路径
- 其他参数与 scan_target 相同

4. get_help - Obter informações de ajuda

Obtém as informações completas de ajuda da ferramenta NebulaFinger

5. get_version - Obter informações de versão

Obtém a versão da ferramenta e informações básicas

6. check_status - Verificar status

Verifica o status da ferramenta e dos arquivos de configuração

💡 Exemplos de uso

No cliente MCP (usando Cherry Studio+qwen-plus como exemplo), você pode usar da seguinte forma:

Identificação de impressão digital única

(请使用 NebulaFinger) 扫描  www.baidu.com  的 web 指纹

Identificação de impressões digitais de múltiplos alvos

使用 NebulaFinger 扫描以下网站的指纹www.baidu.com、www.github.com

Ler arquivo para identificação de impressões digitais

读取文件D:\学习计划进度\GO\NebulaFinger\url_small.txt,并依次进行指纹识别,并生成结果html 

🐛 Solução de problemas

1. NebulaFinger.exe não encontrado

  • Certifique-se de que a variável de ambiente NEBULAFINGER_PATH esteja configurada corretamente
  • Ou especifique o caminho correto nos argumentos da linha de comando
  • Verifique se o arquivo existe e tem permissão de execução

2. Arquivo de configuração não encontrado

  • Certifique-se de que o diretório configs exista
  • Verifique se os arquivos da biblioteca de impressões digitais estão completos
  • Valide se o caminho do arquivo está correto (use caminho absoluto)

3. Problemas de codificação

  • Certifique-se de que todos os arquivos usem codificação UTF-8
  • Verifique as configurações regionais do sistema

4. Problemas de permissão

  • Certifique-se de que o processo Python tenha permissão para acessar o NebulaFinger.exe
  • Verifique as permissões de leitura e gravação de arquivos e diretórios

📝 Depuração de logs

O servidor gera informações detalhadas de log, incluindo:

  • Verificação do caminho da ferramenta
  • Processo de execução de comandos
  • Mensagens de erro

Se encontrar problemas, consulte as informações de log no console para depuração.

🔄 Atualização e manutenção

  1. Atualizar a biblioteca de impressões digitais: Substitua diretamente os arquivos da biblioteca de impressões digitais no diretório configs
  2. Atualizar a ferramenta: Substitua o arquivo NebulaFinger.exe
  3. Atualizar o serviço MCP: Modifique o arquivo mcp_server.py e reinicie o cliente MCP