2.8 Baixando arquivos

Lição 23/50 | Tempo de Estudo: 10 Min

Importante saber utilizar programas em linha de comando para realizar algumas operações de download.


wget

O comando wget, que usaremos extensivamente, baixa arquivos usando os protocolos HTTP/HTTPS e FTP.  Abaixo mostra o uso do wget junto com a opção -O para salvar o arquivo de destino com um nome diferente na máquina local:


wget -O baseti.zip http://www.vim.org/scripts/download_script.php?src_id=7701


Outro exemplo:


wget -O report_wget.pdf https://www.offensive-security.com/reports/penetration-testing-sample-report-2013.pdf


E ainda podemos iniciar um download em segundo plano usando a opção -b:

wget -b http://www.vim.org/scripts/download_script.php?src_id=7701


Podemos juntar várias opções e usar o comando que aprendemos acima o `watch`. Vamos baixar uma imagem ISO grande do Ubuntu com o wget, colocando o download em segundo plano , renomeando e depois vermos o andamento com o comando watch:


cd /tmp
wget -b -O ubuntu.iso https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
watch ls -lh


curl

curl é uma ferramenta para transferir dados de ou para um servidor usando uma série de protocolos, incluindo IMAP/S, POP3/S, SCP, SFTP, SMB/S, SMTP/S, TELNET, TFTP e outros. Um PenTester pode usar isso para baixar ou carregar arquivos e criar solicitações complexas. Seu uso mais básico é muito semelhante ao wget:


curl -o ubuntu.iso https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso


axel

axel é um acelerador de download que transfere um arquivo de um servidor FTP ou HTTP por meio de múltiplas conexões. Esta ferramenta tem uma vasta gama de recursos, mas o mais comum é -n, que é usado para especificar o número de múltiplas conexões a serem usadas. No exemplo a seguir, também estamos usando a opção -a para um indicador de progresso mais conciso e -o para especificar um nome de arquivo diferente para o arquivo baixado.

Exemplos:

- Baixando de forma simples um arquivo:


axel https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso


O axel irá iniciar o download do arquivo, e irá exibir o progresso no terminal. Por padrão ele divide o arquivo em 3 partes, mas podemos mudar essa opção usando o -n. Por exemplo, se você quiser dividir o arquivo em 6 partes, execute:

axel -n 6 https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso


Vamos juntar um monte de opções para acelerar o download:


axel -a -n 20 -o ubuntu-20-04.iso https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso


Vamos lá!  No exemplo acima, também estamos usando a opção -a para um indicador de progresso mais conciso e -o para especificar um nome de arquivo diferente para o arquivo baixado.

git


O git é um sistema de controle de versão distribuído de código aberto que permite gerenciar alterações no código-fonte e rastrear histórico de modificações. Com ele, é possível colaborar com diversas pessoas, manter versões diferentes do projeto e reverter alterações quando necessário.

Muitos projetos de segurança e ferramentas são usadas usando o git para controle de versão e documentação. Primeiro instalar o git, se não estiver instalado:


apt install git


Agora fazer o download de um HIDS chamado OSSEC:


git clone https://github.com/ossec/ossec-hids.git



Simples não? Vamos ver na prática:



André Albuquerque

André Albuquerque

Designer de Produto
4.00
Perfil

Sessões de Aula

1- 3.1 Netcat 2- 4.1 Introdução a comandos de rede no Linux 3- 5.1 Shell Script 4- Temas abordados 5- Temas Abordados 6- 1.1 Instalação do Linux 7- 1.3 Atividades Pós-Instalação 8- 1.4 Usuário root e Usuário comum 9- 1.2 Utilizando LVM 10- 1.5 Sistemas de Arquivos 11- 1.6 Comandos Básicos 12- 1.7 Procurando Arquivos 13- 1.8 Gerenciando Serviços no Linux 14- 1.9 Encontrando, instalando e removendo tools 15- 2.1 Ambiente do Shell 16- 2.2 Piping e redirecionamento 17- 2.3 Procurando texto e manipulação 18- 2.4 Editando arquivos 19- 2.5 Comparando arquivos 20- 2.6 Gerenciando processos 21- 2.7 Monitorando arquivos e comandos 22- 2.8 Baixando arquivos 23- Slide Módulo 2 24- 3.2 Socat 25- Atuar com Cyber Security 26- 6.1 Uma Introdução ao Docker 27- 4.2 Introdução a Análise de Rede 28- 4.3 Networking 29- 4.4 Portas e Serviços 30- 4.5 Análise com Wireshark 31- 4.6 Análise com tcpdump 32- 5.2 Variáveis 33- 5.3 Argumentos 34- 5.4 Lendo Entrada 35- 5.5 Estruturas condicionais if, else e elif 36- 5. 6 Loops 37- 5.7 Criando Menus 38- 5. 8 Funções 39- Exemplos Práticos 40- 6.2 Instalação do Docker no Windows e Linux. 41- 6.3 Imagens e Containers 42- 6.4 Mais Prática - Gerenciando Containers 43- 6.5 Criar conta/usuário no Docker Hub 44- 6.6 Docker Cleanup - Limpando a Casa 45- 6.7 Volumes Docker 46- 6.8 Redes no Docker - Isolamento e Segurança 47- 4.0 🔒 Fundamentos de Redes para Cybersecurity 48- 🎯 EXERCÍCIOS PRÁTICOS 49- 🎯 Wireshark - EXERCÍCIOS PRÁTICOS 50- 🎯 TcpDump- EXERCÍCIOS PRÁTICOS