Teste de Software | Ensine como usar a ferramenta de captura de pacotes Fiddler (computador + terminal móvel)

Ei. Olá a todos, sou 4U: Alunos que
fizeram teste de APP
entrarão em contato com a ferramenta de captura de pacotes. Através da ferramenta de captura de pacotes, os dados interativos entre o cliente e a interface do servidor podem ser obtidos. No processo de teste de fato do APP, muitas vezes descobrimos que o servidor Os
erros de campo de parâmetro retornados, erros de estatísticas de dados e outros problemas podem ser encontrados pela captura de pacotes, o que pode fornecer ajuda eficaz para o desenvolvimento e reparo de bugs.

Então hoje vou apresentar a instalação e uso da ferramenta Fidder para captura de pacotes.

Introdução ao Fidder:

Fiddler é uma ferramenta de proxy de depuração de protocolo http, que pode gravar e inspecionar todas as comunicações http entre seu computador e a Internet, definir pontos de interrupção e visualizar todos os dados "in and out" do Fiddler (referindo-se a cookies, htmljs, css e outros arquivos). O Fiddler é mais simples do que outros depuradores de rede porque não apenas expõe o tráfego http, mas também fornece um formato amigável. Fiddler é uma poderosa ferramenta de captura de pacotes, que pode interceptar, reenviar, editar e outros pacotes de dados enviados e recebidos por transmissão de rede. Também pode ser usado para detectar tráfego. Seu princípio é trabalhar na forma de um servidor proxy Web. O endereço proxy utilizado é: 127.0.0.1, e a porta padrão é 8888. Também podemos modificá-lo através de configurações. O proxy deve configurar um ponto de verificação entre o cliente e o servidor. Depois que o cliente enviar os dados da solicitação, o servidor proxy interceptará o pacote de dados e o servidor proxy fingirá ser o cliente para enviar os dados ao servidor ; da mesma forma, o servidor responderá com o retorno de dados, o servidor proxy também interceptará os dados e os devolverá ao cliente.
O Fiddler pode capturar pacotes de dados de qualquer programa que suporte proxy http.Se você deseja capturar sessões https, deve primeiro instalar um certificado.

1. Baixe e instale o Fidder

Abra o site oficial, o endereço de download do site oficial é https://www.telerik.com/download/fiddler Após a abertura, selecione suas informações relevantes conforme mostrado abaixo: insira a descrição da imagem aqui
Em seguida, clique no botão Download para iniciar o download, clique duas vezes na instalação pacote após a conclusão do download, clique no botão Concordo e selecione o diretório de instalação que deseja armazenar, se não precisar modificá-lo, basta usar o padrão.insira a descrição da imagem aqui

2. Configuração do Fidder

Após a instalação do Fiddler, a porta padrão é 8888. Quando o Fiddler é iniciado, o proxy padrão para o IE é definido como 127.0.0.1:8888, enquanto outros navegadores, como o Firefox, precisam definir manualmente o proxy antes de capturar pacotes. O conteúdo da configuração é como mostrado na figura:
insira a descrição da imagem aqui

(1) Configuração de monitoramento do computador:

Clicamos duas vezes para abrir o software, entramos na interface a seguir e, em seguida, clicamos em uma solicitação, você descobrirá que o conteúdo da solicitação é um monte de texto obviamente errado e, em seguida, o lado esquerdo da solicitação é um estilo de bloqueio , pense em criptografia https, você verá que o motivo pode ser que o Fiddler não está configurado.

Em seguida, explique o conteúdo de retorno padrão à direita. A primeira frase é ** "Este é um túnel CONNECT através do qual o tráfego HTTPS criptografado flui." **, o que confirma nosso palpite, é por causa da criptografia HTTPS.
insira a descrição da imagem aqui
Configure o violinista para permitir o monitoramento de https (somente autenticação unidirecional pode ser capturada, ou seja, apenas certificados do lado do servidor) Como obter autenticação bidirecional, consulte o capítulo sobre captura de pacotes Charles.

  • Abra o item de menu Fiddler Ferramentas->Opções->HTTPS,
  • Verifique CaptureHTTPSCONNECTs, clique em Ações,
  • Verifique DecryptHTTPStrafficfnlgnoreservercertificateerrors two items, clique em OK.

(O primeiro clique aparecerá se você confia no certificado do violinista e no prompt de segurança, basta clicar em sim diretamente).
insira a descrição da imagem aqui
Seguimos as instruções para configurar, primeiro encontramos Ferramentas na barra de ferramentas no canto superior esquerdo, depois selecionamos Opções, HTTPS, depois verificamos a opção Descriptografar tráfego HTTPS e instalamos o certificado após a verificação.
insira a descrição da imagem aqui
Configure o flddler para permitir a conexão remota Tools->Options->Connections
insira a descrição da imagem aqui
descrição do parâmetro:

  • Fiddler escuta na porta: O número da porta proxy quando o celular se conecta ao violinista, o padrão é 8888.
  • Permitir que computadores remotos se conectem: Marque para permitir o envio remoto de solicitações Nota: Reinicie o Fiddler após a configuração

Existem duas maneiras de instalar o certificado:

  • Após verificar, clique no botão Actions à direita para selecionar a opção **“Trust Root Certificate”** e, em seguida, selecione todas elas.
  • Após verificar, clique no botão Ações à direita para selecionar a segunda opção para exportar o certificado para a área de trabalho e adicione-o no navegador correspondente.

Em seguida, abrimos uma nova página da Web (como o Baidu) para visualizar a solicitação:
insira a descrição da imagem aqui
Neste ponto, podemos monitorar a solicitação do navegador do lado do PC.

(2) Pré-requisitos para configuração de monitoramento de celular:

Verifique se o telefone e o computador estão na mesma rede e obtenha o endereço IP do computador: use cmd, digite ipconfig para consultar ou encontre ip4 no compartilhamento de rede
insira a descrição da imagem aqui
Etapa 1: o telefone e o computador estão conectados ao mesmo network, abra o navegador do telefone e digite http:// ip: port number Nota: Tools-> Options-> Connections, o valor em port é o número da porta, nós configuramos para 8888, e o endereço digitado aqui é: 10.10 .16.32:8888.
insira a descrição da imagem aqui
Etapa 2: Clique no certificado FiddlerRoot para baixar o certificado
insira a descrição da imagem aqui
Etapa 3: Instale o certificado
insira a descrição da imagem aqui
Etapa 4: Clique em OK, alguns telefones celulares precisam definir a senha do celular primeiro e o certificado pode ser instalado com sucesso após a configuração.

Etapa 5: Configurações do celular proxy, configurações do sistema do celular - rede sem fio - selecione a mesma rede - configurações de proxy - manual de seleção de proxy, o servidor corresponde ao endereço IP do computador do violinista, a porta corresponde ao número da porta do violinista e salve após contexto.
insira a descrição da imagem aqui
Após a conclusão da configuração, você pode capturar o pacote e iniciar a jornada de captura do pacote. Por exemplo, para filtrar requisições no violinista, basta olhar as requisições em um determinado servidor.Após a configuração, clique em Ações para salvar o filtro.

insira a descrição da imagem aqui

3. Uso do Fidder

1. Para usar o Fiddler para capturar pacotes, primeiro certifique-se de que Capturar tráfego está habilitado (é habilitado por padrão após a instalação), marque Arquivo->Capturar tráfego ou clique no ícone no canto inferior esquerdo da interface do Fiddler para habilitar e desativar a captura de pacotes.
insira a descrição da imagem aqui

2. Portanto, basicamente nenhuma configuração é necessária, e o pacote pode ser capturado após a instalação. Então, como analisamos esses pacotes capturados? A área mostrada na figura é a lista de pacotes de dados.Para analisar esses pacotes de dados, você deve primeiro entender o significado de cada campo.
insira a descrição da imagem aqui
Número de sequência, aumentando de 1 na ordem de captura de pacotes:

  • Resultado: código de status HTTP
  • Protocolo: O protocolo usado pela solicitação, como HTTP/HTTPS/FTP, etc.
  • HOST: O nome do host ou nome de domínio do endereço solicitado
  • URL: o local do recurso solicitado
  • Corpo: tamanho do pedido
  • Cache: o tempo de expiração do cache solicitado ou o valor de controle do cache
  • Content-Type: o tipo de resposta da solicitação
  • Processo: o ID do processo que enviou esta solicitação
  • Comentários: Notas
  • Personalizado: valor personalizado

3. Cada pacote de dados capturado pelo Fiddler será exibido nesta lista. Clique em um pacote de dados específico e clique em Insepector no menu direito para visualizar os detalhes. Ele é dividido principalmente em duas partes: a solicitação (ou seja, os dados enviados pelo cliente) e a resposta (os dados retornados pelo servidor).
insira a descrição da imagem aqui

4. Cabeçalho de solicitação HTTP: Tomando como exemplo o Baidu, para visualizar os dados de solicitação do pacote de dados solicitando a página inicial do Baidu, você pode ver o seguinte conteúdo nos cabeçalhos acima:
insira a descrição da imagem aqui
Método de solicitação: GET, protocolo: HTTP/1.1.

(1) Campo de cabeçalho do cliente:

  • Aceitar: text/html, application/xhtml+xml, image/jxr, / -- tipos de mídia aceitos pelo navegador
  • Accept-Encoding: gzip, deflate --compression method
  • Aceitar-Idioma: zh-CN --tipo de idioma
  • User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393 --O nome do sistema operacional e navegador usado pelo cliente e Versão

(2) Campo de cabeçalho COOKIE:

  • Envie o valor do cookie para o servidor

(3) Campo de cabeçalho de transporte:

  • Conexão: se a conexão TCP entre o cliente e o servidor para transmissão de dados HTTP é fechada após a abertura da página da web. keep-alive significa que não será fechado, e o cliente continuará a usar a conexão estabelecida quando visitar a página da web neste servidor novamente; fechar significa que está fechado, e o cliente precisa restabelecer a conexão quando acessando a página da web neste servidor novamente.

  • HOST: Nome de host ou nome de domínio, se nenhuma porta for especificada, a porta padrão 80 será usada.

5. Cabeçalho de resposta HTTP: Continue a usar o Baidu como exemplo, conforme mostrado na figura:
insira a descrição da imagem aqui
Protocolo: HTTP/1.1, Código de status: 200.

(1) Campo de cabeçalho de cache:

  • Cache-Control: private -- esta mensagem de resposta não pode ser processada pelo cache compartilhado e é inválida para solicitações de outros usuários
  • Data: Sáb, 05 de agosto de 2017 04:37:43 GMT -- a hora e a data exatas em que a mensagem foi gerada
  • Expira: Sáb, 05 de agosto de 2017 04:37:42 GMT -- o navegador usará o cache local pelo tempo de expiração especificado

(2) Campo de cabeçalho Cookie/Login:

  • Set-Cookie: BDSVRTM=264; path=/ -- envia o cookie para o cliente
  • Set-Cookie: BD_HOME=1; caminho=/
  • Set-Cookie: H_PS_PSSID=1425_21097_22157; caminho=/; domínio=.baidu.com

(3) Campo de cabeçalho da entidade:

  • Comprimento do conteúdo: 202740 -- comprimento do corpo
  • Content-Type: text/html;charset=utf-8 -- informa ao cliente o tipo e o conjunto de caracteres do objeto ao qual o próprio servidor responde

(4) Campo de cabeçalho diversos:

  • Tipo de página: 2
  • Bdqid: 0x99791efd00036253
  • Bduserid: 2577220064
  • Servidor: BWS/1.1 -- indica as informações de software do servidor HTTP
  • Compatível com X-Ua: IE=Edge,chrome=1

(5) Campo de cabeçalho de segurança:

  • Strict-Transport-Security: max-age=172800 --Um parâmetro que precisa ser enviado com base em considerações de segurança.

(6) Campo de cabeçalho de transporte:

  • Conexão: Keep-Alive。

(7) TextView:

  • Exibe dados de solicitação ou resposta.

(8) WebForms:

  • A parte da solicitação exibe todos os parâmetros da solicitação e os valores dos parâmetros no formulário; a parte da resposta é a mesma do conteúdo do TextView.

(9) Autenticação:

  • Exiba informações de autenticação, como Autorização.

(10) Biscoitos:

  • Mostrar todos os cookies.

(11) Bruto:

  • Exibe dados de cabeçalho e corpo.

(12) JSON:

  • Se os dados de solicitação ou resposta estiverem no formato json, exiba o conteúdo da solicitação ou resposta no formato json.

(13) XML:

  • Se os dados da solicitação ou resposta estiverem no formato xml, o conteúdo da solicitação ou resposta será exibido no formato xml.

O exemplo acima é a página inicial do Baidu. A página inicial do Baidu usa uma solicitação GET. Não há
corpo de solicitação no TextView. Vamos usar a interface de login do site Wuyouxing como exemplo. É uma solicitação POST. Exceto pela solicitação
header, há muitos mais dados de solicitação de TextView. Essa também é uma diferença entre solicitações GET e solicitações POST. A solicitação GET coloca os parâmetros da solicitação na url e a solicitação POST geralmente coloca os parâmetros da solicitação no corpo da solicitação.
insira a descrição da imagem aqui
insira a descrição da imagem aqui

Resumo Todos os dias há uma nova pose

Os parâmetros de solicitação e resposta podem ser capturados por meio do Fiddler e, analisando os parâmetros, é possível localizar os problemas de front-end ou back-end. Por exemplo, quando testamos a interface de login, inserimos o número de telefone celular e
a senha corretos, mas o front-end solicita "Digite o nome de usuário e a senha corretos"; somente por meio dos prompts da interface, podemos descrever apenas a aparência do bug, mas não consegue analisar a causa do problema.
Suponha que descobrimos que o nome do parâmetro de front-end estava errado ou o valor do parâmetro estava vazio ao capturar o pacote, resultando em um erro em segundo plano. Neste momento, apontamos o bug
para os desenvolvedores front-end e carregamos os dados do parâmetro e os dados da mensagem correspondente no documento da interface como anexos. Isso pode melhorar a eficiência da resolução do bug? O Fiddler
desempenha um grande papel no teste funcional real. Por um lado, nos ajuda a entender melhor quais interfaces o cliente e o servidor fazem solicitações em um negócio, para entender melhor a lógica do código; por outro lado, também podemos julgar onde há um problema por meio dos dados de resposta.
Por exemplo, o programa do servidor pode travar, fazendo com que o front-end relate "falha do servidor". Nesse momento, descobrimos que os dados de resposta retornam
502 capturando pacotes. Neste momento, podemos reiniciar manualmente o serviço ou entrar em contato com a operação e manutenção reiniciar o serviço, melhorando assim a eficiência da resolução de problemas.

CONTACTE-NOS / Contacte-nos

VX/Conta Pública Oficial: Teste de Software Lebo

BILIBILI / Bilibili: teste de software Lebo

Himalaia/conta oficial: Lebo Software Test

Compartilhamento gratuito de materiais de aprendizagem lebo5207

Materiais didáticos + vídeo didático + pacote de instalação + kit de ferramentas

Clique em "Curtir + Comentar + Favorito" na parte inferior para dizer um clique e três cliques!

Acho que você gosta

Origin blog.csdn.net/leboxy/article/details/121180495
Recomendado
Clasificación