Fluxos de trabalho
Fluxos de trabalho são pipelines de automação reutilizáveis que processam tráfego capturado, executam etapas ativas ou transformam dados sem exigir que você escreva scripts independentes.
Tipos de fluxos de trabalho
| Tipo | Acionado por | Uso comum |
|---|---|---|
| Passivo | Novo tráfego capturado | Marcar padrões interessantes, adicionar tags às requisições e criar achados automaticamente. |
| Ativo | Execução manual | Enviar requisições de acompanhamento, encadear ações e executar testes com várias etapas. |
| Converter | Entrada de teste, ações de conversão ou Localizar e substituir | Transformar texto ou bytes, como formatar JavaScript ou normalizar JSON. |
Fluxos passivos são executados continuamente em segundo plano. Fluxos ativos são executados sob demanda sobre um conjunto de requisições selecionado.
Tela de edição do fluxo
Abra Fluxos de trabalho e selecione um fluxo para abrir sua tela de edição.
- Os nós aparecem no painel central. Cada nó tem portas de entrada e saída tipadas.
- Conecte uma porta de saída a uma porta de entrada clicando e arrastando entre elas.
- Clique em um nó para abrir seu painel de configuração à direita.
- A barra de ferramentas superior contém controles de execução, ativação/desativação e importação/exportação.
Tipos de nós
| Nó | Descrição |
|---|---|
| Início / Fim | Nós de entrada e saída adequados ao tipo de fluxo passivo, ativo ou de conversão. |
| Condições | Se / Senão, Se / Senão JS, Correspondência HTTPQL, Correspondência de escopo, Texto contém e Correspondência por expressão regular. |
| Codificação | Codificação/decodificação Base64, URL, Hex e HTML. |
| Formatação e hashes | Minificar/Formatar JSON, MD5, SHA-1 e SHA-256. |
| Operações de texto | Remover caracteres das extremidades, Juntar, Separar, Localizar e substituir, Transformação JQ e Extração Grep. |
| JavaScript | Lógica personalizada usando o SDK de fluxos de trabalho; pode ler tráfego, operar em arquivos e criar achados. |
| Integração | Log, Webhook, Invocar fluxo de trabalho, Enviar requisição e Regra de Localizar e substituir. |
Use a paleta de nós para consultar as portas e configurações reais. Clique em uma conexão para trabalhar com esse vínculo em vez de excluir um nó para reconectar o grafo. Salve com Salvar ou Ctrl+S (Command+S no macOS).
Compartilhamento e escopo
Fluxos de trabalho são compartilhados entre projetos do mesmo espaço de trabalho por padrão. Ative Específico do projeto para manter uma definição com seu projeto. Definições compartilhadas não significam que o tráfego, os resultados ou as notas de todos os projetos se tornem compartilhados. Exporte/importe o JSON do fluxo ao mudar para outro espaço de trabalho ou instalação.
Testar antes do uso em tempo real
Fluxos passivos e ativos têm uma seção Teste HTTP com dados de teste de URL, Requisição bruta e Resposta bruta. Ative o fluxo, preencha esses campos e clique em Testar fluxo de trabalho. O teste salva as alterações antes de executar. Os valores de teste são mantidos por fluxo quando você sai da página e volta.
Um fluxo de conversão tem, em vez disso, Entrada de teste e saída. Comece com uma entrada pequena e representativa, depois teste um recurso com tamanho realista. Os dados de teste não tornam inofensivos nós JavaScript arbitrários ou nós de Enviar requisição: o código do fluxo ainda pode executar suas ações configuradas.
JavaScript e arquivos
O JavaScript de fluxos de trabalho aceita o SDK do Ogma e importações compatíveis de fs/path. Use sdk.fs.readFile, writeFile, appendFile, exists, readDir, mkdir e unlink para operações de arquivos, e sdk.path para caminhos adequados à plataforma. São utilitários do Ogma, não toda a biblioteca padrão do Node.js.
Para um exportador de recursos, leia response.getBody().toText(), escolha um destino com sdk.path.join, crie seu diretório pai e verifique sdk.fs.exists se não quiser sobrescrever um arquivo existente. Revise os caminhos do sistema de arquivos antes de executar: os utilitários de arquivos dos fluxos são executados no host do Ogma, ao contrário de sdk.fs de um plugin, restrito ao seu diretório privado. Consulte o SDK de plugins para conhecer esse ambiente de execução distinto.
Importar um fluxo de trabalho
- Clique em Importar na barra de ferramentas de Fluxos de trabalho.
- Selecione um arquivo JSON de fluxo de trabalho.
- O fluxo abre na tela de edição. Verifique a configuração dos nós antes de ativá-lo.
- Salve o fluxo.
Arquivos JSON de fluxos exportados podem ser compartilhados entre instalações do Ogma ou armazenados em controle de versão.
Executar um fluxo no histórico capturado
Fluxos ativos podem ser executados novamente sobre requisições capturadas anteriormente.
- Abra o fluxo.
- Clique em Executar no histórico.
- No diálogo de varredura do histórico, insira um filtro HTTPQL opcional para limitar quais requisições o fluxo processa.
- Clique em Executar.
Revise a contagem de correspondências e inicie a tarefa. O progresso e os erros aparecem na tarefa de varredura e, quando os logs estão ativados, no histórico de execuções. Fluxos passivos oferecem Verificar histórico e Executar novamente na requisição para processamento retrospectivo.
Para alguns recursos interessantes, selecione uma ou mais linhas do Histórico HTTP, clique com o botão direito, escolha Enviar para Fluxo de trabalho e selecione um fluxo ativo habilitado. Isso fornece as entradas selecionadas sem alterar sua definição nem processar todo o histórico.
O botão Assistência de IA ao lado da entrada de filtro da varredura do histórico gera uma expressão HTTPQL a partir de uma descrição em linguagem natural.
Execuções e resultados dos fluxos
Ative Ativar logs na configuração do fluxo quando precisar de detalhes da execução. Isso se aplica a fluxos passivos, ativos e de conversão, incluindo conversões de Localizar e substituir. Quando desativado, o processamento continua, mas não adiciona logs de execução/etapas; reative e repita um teste para diagnosticar um problema.
- Clique em uma execução para ver a saída das etapas por nó.
- Nós que produziram erros são destacados.
- Achados criados durante a execução aparecem na visualização Achados.
- Variáveis extraídas durante a execução ficam visíveis no painel de detalhes da etapa.
Limpar tudo remove o histórico de execuções armazenado do fluxo selecionado. Baixe os logs antes de limpar se precisar manter evidências de depuração. Os logs podem armazenar saídas grandes, como corpos completos de scripts, então mantenha-os desativados para conversões de alto volume, a menos que sejam necessários.
Ativar um fluxo passivo
- Abra o fluxo.
- Verifique se a configuração da tela de edição está completa (sem portas obrigatórias desconectadas).
- Ative Ativar na barra de ferramentas.
Fluxos passivos ativados processam novo tráfego automaticamente. Desative um fluxo para pausá-lo sem excluí-lo.