Login
Login

Como baixar arquivos com cURL

Como baixar arquivos com cURL
Emmanuel Oyibo
Technical writer
O sistema Linux
20.10.2025
Reading time: 9 min

Baixar conteúdo de servidores remotos é uma tarefa comum tanto para administradores quanto para desenvolvedores. Embora existam diversas ferramentas para essa tarefa, o cURL se destaca por sua flexibilidade e simplicidade. Trata-se de uma ferramenta de linha de comando que oferece suporte a protocolos como HTTP, HTTPS, FTP e SFTP, tornando-se essencial para automação, scripts e transferências de arquivos eficientes.

Você pode executar o cURL diretamente no seu computador para obter arquivos. Também é possível incluí-lo em scripts para otimizar o processamento de dados, reduzindo o esforço manual e os erros. Este guia demonstra várias maneiras de baixar arquivos com o cURL. Seguindo esses exemplos, você aprenderá a lidar com redirecionamentos, renomear arquivos e monitorar o progresso dos downloads. Ao final, você será capaz de usar o cURL com confiança para tarefas em servidores ou ambientes em nuvem.

Comando básico do cURL para baixar arquivos

O comando curl funciona com vários protocolos, mas é usado principalmente com HTTP e HTTPS para se conectar a servidores web. Quando necessário, também pode interagir com servidores FTP ou SFTP.

Por padrão, o cURL recupera um recurso de uma URL especificada e o exibe no terminal (saída padrão). Isso é útil para visualizar o conteúdo de um arquivo sem salvá-lo, especialmente se for um arquivo de texto pequeno.

Exemplo: para visualizar o conteúdo de um arquivo de texto hospedado em https://example.com/file.txt, execute:

curl https://example.com/file.txt

Para documentos curtos, essa abordagem funciona bem. No entanto, arquivos grandes ou binários podem encher a tela com dados ilegíveis, portanto, geralmente você vai querer salvá-los.

Salvar arquivos remotos

Na maioria das vezes, o objetivo principal é armazenar o arquivo baixado localmente em vez de exibi-lo no terminal. O cURL simplifica isso com a opção -O (O maiúsculo), que mantém o nome original do arquivo remoto.

curl -O https://example.com/file.txt

Isso baixa file.txt e o salva no diretório atual com o mesmo nome. Esse método é rápido e mantém o nome original, o que pode ser útil se o nome do arquivo tiver relevância.

Escolher um nome de arquivo diferente

Às vezes, é importante renomear o arquivo baixado para evitar conflitos ou criar um padrão de nomenclatura claro. Nesse caso, use a opção -o (o minúsculo):

curl -o meu_arquivo.txt https://example.com/file.txt

Aqui, o cURL baixa o arquivo remoto file.txt, mas o salva localmente como meu_arquivo.txt. Isso ajuda a manter os arquivos organizados e evita sobrescritas acidentais. É especialmente útil em scripts que exigem nomes de arquivo descritivos.

Seguir redirecionamentos

Ao solicitar um arquivo, os servidores podem instruir seu cliente a ir para outra URL. Entender e gerenciar redirecionamentos é essencial para concluir downloads com sucesso.

Por que redirecionamentos são importantes

Redirecionamentos são comuns em sites reorganizados, arquivos movidos ou links espelhados. Sem suporte a redirecionamentos, o cURL para após receber uma resposta “movido”, e você não obterá o arquivo.

Usar -L ou --location

Para instruir o cURL a seguir uma cadeia de redirecionamentos até o destino final, use -L (ou --location):

curl -L -O https://example.com/redirected-file.jpg

Isso permite que o cURL obtenha o arquivo correto, mesmo que a URL original aponte para outro local. Se você omitir -L, o cURL exibirá apenas a mensagem de redirecionamento e encerrará, o que pode causar problemas em sites com múltiplos redirecionamentos.

Baixar múltiplos arquivos

O cURL também pode lidar com múltiplos downloads simultaneamente, evitando a necessidade de executar o comando repetidamente.

Usar chaves e padrões

Se os nomes dos arquivos compartilham um padrão, você pode usar chaves {} para especificar cada nome de forma concisa:

curl -O https://example.com/files/{file1.jpg,file2.jpg,file3.jpg}

O cURL baixa cada arquivo em sequência, o que é útil para fluxos de trabalho automatizados.

Usar intervalos

Para uma série de arquivos numerados ou rotulados alfabeticamente, especifique um intervalo entre colchetes:

curl -O https://example.com/files/file[1-5].jpg

O cURL percorre automaticamente os arquivos file1.jpg até file5.jpg. Isso é ideal para sequências de arquivos com nomes consistentes.

Encadear múltiplos downloads

Se você tiver URLs diferentes para cada arquivo, pode encadeá-las:

curl -O https://example1.com/file1.jpg -O https://example2.com/file2.jpg

Essa abordagem baixa file1.jpg do primeiro site e file2.jpg do segundo, sem precisar executar vários comandos.

Limitação de velocidade e tempo limite

Em certas situações, pode ser necessário controlar a velocidade de download ou evitar que o cURL espere demais por um servidor sem resposta.

Controle de largura de banda

Para evitar sobrecarregar sua rede ou simular conexões lentas, limite a taxa de download com --limit-rate:

curl --limit-rate 2M -O https://example.com/bigfile.zip

2M significa 2 megabytes por segundo. Você também pode usar K para kilobytes ou G para gigabytes.

Tempo limite

Se um servidor estiver muito lento, você pode configurar o cURL para parar após um determinado tempo. A opção --max-time faz exatamente isso:

curl --max-time 60 -O https://example.com/file.iso

Aqui, o cURL interrompe a operação após 60 segundos, o que é útil em scripts que precisam falhar rapidamente.

Modo silencioso e detalhado

O cURL pode ajustar sua saída para mostrar o mínimo de informações ou detalhes completos.

Downloads silenciosos

Para tarefas automatizadas ou cron jobs em que não há necessidade de barras de progresso, inclua -s (ou --silent):

curl -s -O https://example.com/file.jpg

Isso oculta o progresso e os erros, tornando os logs mais limpos. No entanto, a depuração se torna mais difícil se ocorrer um erro silencioso.

Modo detalhado

Por outro lado, -v (ou --verbose) exibe informações detalhadas sobre solicitações e respostas:

curl -v https://example.com

A saída detalhada é valiosa para depurar problemas como certificados SSL inválidos ou redirecionamentos incorretos.

Autenticação e segurança

Alguns downloads exigem credenciais ou uma conexão segura.

Autenticação HTTP/FTP

Quando um servidor requer nome de usuário e senha, use -u:

curl -u username:password -O https://example.com/protected/file.jpg

Incluir credenciais diretamente pode ser arriscado, pois elas podem aparecer em logs ou listas de processos. Considere usar variáveis de ambiente ou arquivos .netrc para um gerenciamento mais seguro.

HTTPS e certificados

Por padrão, o cURL verifica certificados SSL. Se o certificado for inválido, o cURL bloqueia a transferência. Você pode ignorar essa verificação com -k ou --insecure, mas isso traz riscos de segurança. Sempre que possível, use uma autoridade certificadora confiável para garantir conexões autenticadas.

Usar um proxy

Em alguns ambientes, o tráfego deve passar por um servidor proxy antes de chegar ao destino.

Baixar através de um proxy

Use a opção -x ou --proxy para especificar o proxy:

curl -x http://proxy_host:proxy_port -O https://example.com/file.jpg

Substitua proxy_host e proxy_port pelos valores correspondentes. O cURL encaminha a solicitação ao proxy, que então recupera o arquivo para você.

Autenticação de proxy

Se o seu proxy exigir credenciais, inclua-as na URL:

curl -x https://proxy.example.com:8080 -U myuser:mypassword -O https://example.com/file.jpg

Mais uma vez, armazenar dados sensíveis em texto simples é perigoso. Prefira usar variáveis de ambiente ou arquivos de configuração.

Monitorar o progresso do download

Acompanhar o progresso do download é essencial para arquivos grandes ou conexões lentas.

Medidor de progresso padrão

Por padrão, o cURL exibe um medidor de progresso com tamanho total, velocidade de transferência e tempo estimado para conclusão. Por exemplo:

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                Dload  Upload   Total   Spent    Left  Speed
100  1256  100  1256    0     0   2243      0 --:--:-- --:--:-- --:--:--  2246

Essa saída ajuda a avaliar quanto falta e se a velocidade de transferência está adequada.

Barra de progresso compacta

Se preferir menos detalhes, adicione -#:

curl -# -O https://example.com/largefile.iso

Uma barra mais simples mostra o progresso geral em porcentagem. É mais agradável visualmente, mas não exibe estatísticas detalhadas como a velocidade atual.

Registrar progresso em scripts

Ao usar o cURL em scripts, você pode querer registrar as informações de progresso. Normalmente, o cURL envia esses dados para stderr, então você pode redirecioná-los:

curl -# -O https://example.com/largefile.iso 2>progress.log

Aqui, progress.log contém as atualizações de status, que podem ser analisadas ou armazenadas para revisão posterior.

Conclusão

O cURL se destaca como uma ferramenta de linha de comando flexível para baixar arquivos em vários protocolos e ambientes. Seja para lidar com redirecionamentos complexos, renomear arquivos dinamicamente ou limitar a largura de banda, o cURL tem tudo o que você precisa. Ao dominar suas principais opções e modos, você poderá integrá-lo perfeitamente ao seu fluxo de trabalho diário para scripting, automação e transferências de arquivos mais eficientes.

O sistema Linux
20.10.2025
Reading time: 9 min

Semelhante

O sistema Linux

Como usar o comando Telnet no Linux

O comando Telnet é uma ferramenta prática de comunicação de rede no Linux. De varreduras de portas remotas à depuração de conexões, o Telnet oferece uma maneira simples e baseada em texto para interagir com um host remoto. Neste guia passo a passo, você aprenderá a instalar, configurar e usar o Telnet no Linux. Também abordaremos suas principais opções e recursos, para que você tenha uma visão completa. O que é Telnet? Telnet, abreviação de Telecommunication Network, é um protocolo de rede que permite acessar outro computador remotamente através do TCP (Transmission Control Protocol). Ele permite conectar-se diretamente a um host remoto em uma porta específica para enviar comandos e visualizar as respostas em tempo real. O Telnet é usado principalmente para: Testar portas abertas: verificar se um servidor está ouvindo em uma porta específica. Acessar serviços: como web, e-mail ou outros serviços de rede. Depurar problemas de rede: identificar falhas de conectividade ou portas bloqueadas. Instalando o Telnet no Linux O Telnet não vem pré-instalado na maioria das distribuições modernas do Linux. O processo de instalação varia conforme o tipo de sistema. Para sistemas baseados em Ubuntu/Debian Usuários de Ubuntu, Debian ou similares podem instalar o Telnet com o gerenciador de pacotes APT: sudo apt install telnet Para sistemas baseados em Red Hat/CentOS Em Red Hat, CentOS ou Fedora, use o yum ou o dnf: sudo yum install telnet For newer versions: sudo dnf install telnet Sintaxe do comando Telnet A sintaxe do Telnet é simples: telnet [hostname/IP] [port] Parâmetros: [hostname/IP]: define o nome do host ou endereço IP do servidor remoto. [port]: especifica o número da porta a ser usada (por padrão, 23). O Telnet estabelece uma conexão direta com serviços específicos, como: HTTP (porta 80), SMTP (porta 25) e FTP (porta 21). Principais opções do comando Telnet O comando Telnet é altamente configurável e oferece várias opções para personalizar sua operação. Opção Descrição -4 Força o uso do IPv4. -6 Força o uso do IPv6. -8 Permite a transferência de dados de 8 bits. -E Desativa o caractere de escape. -K Impede o envio automático de credenciais (ex.: ticket Kerberos). -L Ativa o modo loopback (conecta ao próprio host). -X atype Define o tipo de autenticação (ex.: KERBEROS_V4). -a Preenche automaticamente o nome de usuário ao conectar-se. -d Ativa o modo de depuração com informações detalhadas. -e char Define um caractere de escape personalizado. -l user Especifica o nome de usuário para login. -n tracefile Grava a atividade da sessão em um arquivo de log. -b addr Define o endereço ou interface local para a conexão. -r Cria uma conexão Telnet reversa (reverse Telnet).   Usando o Telnet: aplicações práticas O Telnet é uma ferramenta útil para diagnosticar e testar conexões de rede. Veja alguns exemplos comuns. Testar portas abertas Para verificar se a porta 80 de um servidor está aberta: telnet example.com 80 Se a porta estiver aberta, o Telnet mostrará uma tela em branco, indicando que o servidor está ouvindo. Se estiver bloqueada ou fechada, será exibida uma mensagem como: Connection refused Interagir com servidores SMTP O Telnet pode ser usado para depurar servidores de e-mail enviando comandos SMTP diretamente: telnet mail.example.com 587 Depois de conectado, digite comandos como HELO, MAIL FROM e RCPT TO para se comunicar com o servidor. Enviar requisições HTTP Você também pode usar o Telnet para testar manualmente um servidor web: telnet example.com 80 Em seguida, digite: GET / HTTP/1.1 Host: example.com Pressione Enter duas vezes para enviar a requisição. A resposta do servidor aparecerá em seguida. Forçar o uso de IPv4 Se o servidor suportar IPv4 e IPv6, você pode forçar a conexão via IPv4: telnet -4 example.com 80 Isso garante compatibilidade com redes que não suportam IPv6. Depurar um servidor MySQL O Telnet também pode verificar se a porta do MySQL (3306) está aberta: telnet database.example.com 3306 Se a conexão for bem-sucedida, o Telnet exibirá uma mensagem de saudação específica do protocolo MySQL. Considerações de segurança Embora o Telnet seja útil, ele é fundamentalmente inseguro, pois transmite todos os dados — incluindo senhas — em texto puro. 👉 Portanto: Evite usar Telnet em redes públicas ou não seguras. Prefira redes privadas e protegidas. Use alternativas seguras, como SSH (Secure Shell), para comunicação criptografada. Desative o Telnet em servidores onde ele não é necessário. Casos de uso avançados O Telnet também pode ser usado em cenários específicos, como: Monitoramento de serviços: testar diretamente protocolos como IMAP ou POP3. Gerenciamento de dispositivos IoT: alguns dispositivos conectados ainda usam Telnet como interface de texto. Uso educacional: excelente ferramenta para aprender sobre protocolos e respostas de servidor. Problemas comuns e soluções Apesar da simplicidade, o Telnet pode apresentar alguns erros: Connection Refused: Porta de destino fechada ou bloqueada por firewall. Time-Out Errors: Latência de rede ou problema de roteamento. Permission Denied: Permissões insuficientes ou porta restrita. Verifique regularmente as configurações de rede e firewall para evitar esses problemas. Alternativas ao Telnet Devido à ausência de criptografia, o Telnet representa um risco de segurança. Existem alternativas mais seguras com recursos semelhantes: SSH (Secure Shell): a alternativa mais popular, com comunicação criptografada e autenticação forte. → Use o comando ssh para acessar servidores remotos com segurança. Netcat (nc): ferramenta poderosa para depuração, varredura de portas e testes de conexão (TCP/UDP). OpenSSL s_client: permite testar conexões SSL/TLS com segurança em portas específicas. Conclusão O Telnet é uma ferramenta simples, porém eficaz, para diagnóstico e depuração de redes no Linux. Desde que você esteja ciente de suas limitações de segurança, ele continua sendo uma opção prática para testes e comunicação com serviços de rede. Com este guia, você pode instalar, configurar e usar o Telnet de forma segura e eficiente, aproveitando ao máximo os recursos de administração remota do Linux.
13 October 2025 · 6 min to read
Linux

Como copiar arquivos via SSH

O protocolo SSH (Secure Shell) é um protocolo de rede para gerenciamento remoto de sistemas operacionais via linha de comando. É amplamente considerado o padrão para acesso remoto a máquinas *nix. Ele permite login seguro em um servidor, execução remota de comandos, gerenciamento de arquivos (criar, excluir, copiar etc.) e muito mais. A maioria dos provedores de nuvem exige SSH para acessar seus serviços. Neste artigo, veremos como copiar arquivos via SSH em sistemas Windows e Linux. Como o SSH funciona O SSH pode transmitir com segurança qualquer tipo de dado (áudio, vídeo, dados de protocolo) por meio de um canal criptografado. Diferente de protocolos obsoletos e inseguros como Telnet e rlogin, o SSH garante confidencialidade e autenticidade — essenciais para a comunicação na Internet. Veja como é estabelecida uma conexão segura entre cliente e servidor: Conexão TCP: Por padrão, o servidor escuta na porta 22. Ambas as partes compartilham uma lista de algoritmos compatíveis (compressão, criptografia, troca de chaves) e concordam em quais usar. Autenticação: Para evitar falsificação de identidade, ambas as partes verificam suas identidades usando criptografia assimétrica (pares de chaves pública/privada). O servidor é autenticado primeiro. Na primeira conexão, o cliente exibe um aviso com detalhes do servidor. As chaves dos servidores confiáveis são armazenadas em /home/<username>/.ssh/known_hosts. Geração de chave: Depois que o servidor é verificado, ambas as partes geram uma chave simétrica para criptografar todos os dados trocados. Autenticação do usuário: É feita usando senha ou chave pública enviada pelo cliente e armazenada no servidor em /home/<username>/.ssh/authorized_keys. A implementação mais popular no Linux é o OpenSSH, que vem pré-instalado na maioria das distribuições (Ubuntu, Debian, RHEL etc.). No Windows, clientes como PuTTY ou MobaXterm são usados. Desde o Windows 10 e Server 2019, as ferramentas OpenSSH também estão disponíveis nativamente. Copiando arquivos via SSH Duas ferramentas principais para copiar arquivos no Linux são scp e sftp. Ambas vêm com o OpenSSH. O SSH suporta duas versões de protocolo: 1 e 2. O OpenSSH suporta ambas, mas a versão 1 raramente é usada. Configurar autocompletar Para ativar o autocompletar com Tab ao usar scp, configure a autenticação por chave pública: Gerar um par de chaves: ssh-keygen Saída esperada: Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Por padrão, as chaves (id_rsa para privada e id_rsa.pub para pública) são salvas em ~/.ssh/. Copiar a chave pública para a máquina remota: ssh-copy-id [username]@[ip-address] Após inserir a senha do usuário, uma mensagem confirmará que a chave foi adicionada. Secure Copy (SCP) Para transferências pequenas (por exemplo, arquivos de configuração), scp é ideal. Copiar de local para remoto: scp test.txt user@192.168.1.29:/home/user/ Copiar vários arquivos: scp test1.txt test2.txt user@192.168.1.29:/home/user/ Copiar de remoto para local: scp user@192.168.1.29:/home/user/test.txt ~/ Copiar diretórios: scp -r testdir user@192.168.1.29:/home/user/ Copiar de remoto para remoto: scp gendo@192.168.1.25:/home/gendo/test.txt user@192.168.1.29:/home/user/ Secure FTP (SFTP) SFTP é outra ferramenta incluída no OpenSSH. Desde OpenSSH 9.0, scp usa SFTP por padrão em vez do protocolo SCP/RCP. Ao contrário do FTP clássico, sftp transmite dados criptografados por meio de um túnel seguro. Não é necessário um servidor FTP separado. Exemplo de uso: sftp misato@192.168.1.29 sftp> ls sftp> lcd testdir/ sftp> get test.txt sftp> bye Gerenciadores de arquivos gráficos como Midnight Commander e Nautilus também usam sftp. No Nautilus, o servidor remoto aparece como uma pasta local, por exemplo user@ip. Copying Files Over SSH on Windows No Windows, use a ferramenta de linha de comando pscp do PuTTY para copiar arquivos. Copiar para o servidor: pscp C:\server\test.txt misato@192.168.1.29:/home/misato/ Copiar do servidor: pscp misato@192.168.1.29:/home/misato/test.txt C:\file.txt Listar arquivos no servidor remoto: pscp -ls user@192.168.1.29:/home/misato Usar aspas para caminhos com espaços: pscp "C:\dir\bad file name.txt" misato@192.168.1.29:/home/misato/ Exibir ajuda: pscp Conclusão Vimos como copiar arquivos de e para um servidor usando o protocolo seguro SSH. Se você trabalha com servidores em nuvem, entender SSH é essencial — é o método padrão de acesso remoto a máquinas *nix e uma parte fundamental do trabalho diário de DevOps e administração de sistemas.
10 October 2025 · 5 min to read
Linux

Como abrir portas e listar portas abertas no Linux

Ao trabalhar com redes no Linux, pode ser necessário abrir ou fechar uma porta de rede. O gerenciamento de portas é essencial para a segurança: quanto menos portas abertas houver em um sistema, menos vetores de ataque potenciais existirão. Além disso, se uma porta estiver fechada, um invasor não poderá obter informações sobre o serviço em execução naquela porta específica. Este guia explica como abrir ou fechar portas e como verificar portas abertas em distribuições Linux como Ubuntu/Debian e CentOS/RHEL, utilizando firewalls como ufw, firewalld e iptables. Vamos demonstrar esse processo em duas distribuições Linux: Ubuntu 22.04 e CentOS 9, executadas em um VPS Hostman. Todos os comandos fornecidos aqui funcionam em qualquer distribuição baseada em Debian ou RHEL. O que é uma porta de rede? As portas são usadas para acessar aplicações e protocolos específicos. Por exemplo, um servidor pode hospedar simultaneamente um servidor web e um banco de dados — as portas direcionam o tráfego para o serviço apropriado. Tecnicamente, uma porta de rede é um número inteiro não negativo entre 0 e 65535. Portas reservadas (0–1023): usadas por protocolos e serviços de rede conhecidos como SSH (porta 22), FTP (porta 21), HTTP (porta 80) e HTTPS (porta 443). Portas registradas (1024–49151): podem ser usadas por aplicações específicas para comunicação. Portas dinâmicas (49152–65535): usadas para conexões temporárias e podem ser atribuídas dinamicamente a aplicações. Como abrir portas em distribuições Linux baseadas em Debian Em sistemas baseados em Debian (Ubuntu, Debian, Linux Mint, etc.), você pode usar o ufw (Uncomplicated Firewall). ufw vem pré-instalado na maioria das distribuições baseadas em APT. Para verificar se está instalado: ufw version Se for exibida uma versão, ufw está instalado. Caso contrário, instale com: apt update && apt -y install ufw Por padrão, ufw está inativo, o que significa que todas as portas estão abertas. Você pode verificar seu status com: ufw status Para ativá-lo: ufw enable Será necessário confirmar com y. Observe que ativar o ufw pode interromper conexões SSH ativas. Por padrão, ufw bloqueia todo o tráfego de entrada e permite todo o tráfego de saída. Para verificar a política padrão: cat /etc/default/ufw Abrindo portas com ufw Para abrir uma porta: ufw allow <port_number> Exemplo — abrir a porta 22 para SSH: ufw allow 22 Você pode abrir várias portas separando-as por vírgulas e especificando o protocolo (tcp ou udp): ufw allow 80,443,8081,8443/tcpufw allow 80,443,8081,8443/udp Em vez de números de porta, você pode usar o nome do serviço (definido em /etc/services).  Exemplo — abrir Telnet (porta 23): ufw allow telnet Observação: Não é possível especificar vários nomes de serviço ao mesmo tempo; caso contrário, o ufw exibirá um erro: Para abrir um intervalo de portas: ufw allow <start_port>:<end_port>/<protocol> Exemplo: ufw allow 8000:8080/tcp Fechando portas com ufw Para fechar uma porta: ufw deny <port_number> Exemplo — fechar a porta 80: ufw deny 80 Você também pode usar o nome do serviço. Exemplo — fechar FTP (porta 21): ufw deny ftp Verificando portas abertas com ufw Para listar todas as portas abertas e fechadas: ufw status Ou para uma visão mais detalhada: ufw status verbose Como abrir uma porta em distribuições Linux baseadas em RHEL Distribuições baseadas em RHEL (CentOS 7+, RHEL 7+, Fedora 18+, OpenSUSE 15+) usam firewalld por padrão. Abrindo portas com firewalld Verifique se o firewalld está instalado: firewall-offline-cmd -V Se uma versão for exibida, firewalld está instalado. Caso contrário, instale-o: dnf install firewalld Por padrão, firewalld está desativado. Verifique seu status: firewall-cmd --state Para ativá-lo: systemctl start firewalld Abrir a porta 8080 para TCP: firewall-cmd --zone=public --add-port=8080/tcp --permanent --zone=public: especifica a zona da regra. --add-port=8080/tcp: especifica a porta e o protocolo. --permanent: salva a regra permanentemente. Você também pode abrir um serviço usando seu nome, por exemplo HTTP (porta 80): firewall-cmd --zone=public --add-service=http --permanent Aplicar as alterações: firewall-cmd --reload Fechando portas com firewalld Para fechar uma porta por número: firewall-cmd --zone=public --remove-port=8080/tcp --permanent Ou por nome do serviço: firewall-cmd --zone=public --remove-service=http --permanent Sempre recarregue após as alterações: firewall-cmd --reload Listando portas abertas com firewalld Para listar todas as portas abertas: firewall-cmd --list-ports Gerenciando portas com iptables Ao contrário do ufw e do firewalld, o iptables vem pré-instalado em muitas distribuições (Ubuntu, Debian, RHEL, Rocky Linux, AlmaLinux). Abrindo portas com iptables Para abrir a porta 8182 para conexões de entrada: iptables -A INPUT -p tcp --dport 8182 -j ACCEPT -A INPUT: adiciona uma regra à cadeia INPUT. -p tcp: especifica o protocolo. --dport 8182: especifica a porta a ser aberta. -j ACCEPT: permite o tráfego através da porta. Para conexões de saída: iptables -A OUTPUT -p tcp --dport 8182 -j ACCEPT Para abrir um intervalo de portas: iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j ACCEPT Fechando portas com iptables Para fechar uma porta: iptables -A INPUT -p tcp --dport 8182 -j DROP Fechar um intervalo de portas: iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j DROP Salvando regras do iptables Por padrão, as regras do iptables são válidas apenas até o próximo reinício do servidor. Para salvá-las permanentemente, instale o iptables-persistent: Para sistemas baseados em APT: apt update && apt -y install iptables-persistent Para sistemas baseados em DNF: dnf -y install iptables-persistent Salvar as regras atuais: iptables-save As regras serão automaticamente recarregadas na próxima reinicialização. Visualizando portas abertas com iptables Listar todas as regras e portas abertas: iptables -L -v -n Listar apenas regras IPv4: iptables -S Listar regras IPv6: ip6tables -S Conclusão Neste guia, mostramos como abrir e fechar portas de rede no Linux e como verificar as portas atualmente abertas usando três ferramentas diferentes: ufw, firewalld e iptables. Um bom gerenciamento de portas reduz o risco de ataques de rede e ajuda a ocultar informações sobre os serviços que utilizam essas portas.
10 October 2025 · 6 min to read

Tem perguntas,
comentários ou preocupações?

Nossos profissionais estão disponíveis para ajudá-lo a qualquer momento,
seja para assistência ou apenas se você não souber por onde começar.
Envie-nos um e-mail
Hostman's Support