FolioPierEstudos de TI

curl e sftp: testes de protocolo (Aplicação)

Nota 47 de 54 · 3 min de leitura
Nesta página
  1. O curl
  2. O sftp

Alguns testes precisam ir além da porta e usar o próprio protocolo do serviço, como o HTTP de uma integração ou o SSH de uma transferência de arquivos. O curl e o sftp fazem esses testes pela linha de comando, e as versões recentes do Windows já trazem os dois comandos.

O curl

O curl faz requisições HTTP e HTTPS. No Windows PowerShell, o comando precisa ser chamado como curl.exe, porque a palavra curl sozinha é um apelido de outro comando.

  • curl -4 ifconfig.me: mostra o endereço público de saída, no IPv4;
  • curl -v https://api.example.com: mostra cada etapa da requisição, da tradução do nome até a resposta.

Com a opção -v, a saída mostra as etapas na ordem em que acontecem:

  1. A tradução do nome do serviço em endereço IP.
  2. A abertura da conexão TCP com a porta do serviço.
  3. A negociação de segurança, chamada TLS, em que o certificado do servidor é verificado.
  4. A requisição HTTP e a resposta do serviço.

A etapa em que a saída para indica onde está a falha. A resposta HTTP, quando chega, traz um código de status, como 200, de sucesso, 401, de falta de autenticação, ou 500, de erro no servidor. A opção -k ignora a verificação do certificado e serve apenas para confirmar, em um teste, que o problema está no certificado.

O sftp

O sftp testa a transferência de arquivos sobre o protocolo SSH. Esse teste vai além do teste de porta, porque valida também o usuário.

  • sftp usuario@servidor: conecta na porta padrão do SSH, a 22;
  • sftp -P 2022 usuario@servidor: conecta em uma porta diferente, no exemplo a 2022.

Na primeira conexão com um servidor, o sftp pede a confirmação da chave de identificação desse servidor. A leitura das respostas seguintes é direta:

  • quando o sftp pede a senha, a conexão e o protocolo funcionaram;
  • quando a senha é recusada, o problema está na credencial;
  • quando nem a conexão abre, o diagnóstico volta para o teste de porta.

No suporte

As integrações por API e por envio de arquivos falham em etapas diferentes. Esses comandos mostram se a falha está no nome, na conexão, na segurança ou na credencial.

Para guardar

  • O comando curl -4 ifconfig.me mostra o endereço público de saída.
  • O comando curl -v mostra em qual etapa a requisição parou.
  • O código de status HTTP resume a resposta do serviço.
  • O sftp testa a porta, o protocolo e o usuário de uma vez.
O sftp na porta 2022 pede a senha, mas a recusa. O problema é de rede?

Não. Se a senha foi pedida, a conexão e o protocolo funcionaram. O problema está na credencial.

O curl -v para https://api.example.com mostra que o nome foi traduzido e que a conexão abriu, mas para na negociação de segurança, com um erro de certificado. Onde está o problema?

Na verificação do certificado. As causas comuns são a data e a hora erradas no computador, um certificado vencido no servidor ou um programa de segurança que interfere na conexão. A rede, até a porta do serviço, está funcionando.

Publicado a partir do Obsidian · FolioPier