Como usar o wget com proxy

Como usar o wget com proxy
GNU WGET é uma ferramenta de linha de comando para baixar arquivos de maneira não interativa. Não é interativo porque pode ser executado em segundo plano quando o usuário não está conectado. Isso é uma grande flexibilidade com o WGet, pois a maioria dos navegadores da web exige que o usuário seja conectado enquanto qualquer tarefa está acontecendo. Ele pode funcionar com protocolos HTTP, HTTPS e FTP e também suporta download de arquivos via proxies HTTP.

O comando wget é semelhante ao comando curl e pode ser instalado no Linux/Unix, Mac OS, Windows. Se uma tarefa de download estiver presa no meio do caminho, você pode retomar de onde foi deixado de fora.

O que vamos cobrir?

Este guia explorará o comando wget e aprenderá a usá -lo com o servidor de proxy da lula.

Usando o comando wget para baixar um arquivo

wget é uma ferramenta muito direta. Quando usado sem qualquer opção, o WGET recuperará os recursos do URL especificado e os baixará no diretório de trabalho atual. Como exemplo, veja o exemplo abaixo:

$ wget https: // tldp.org/ldp/intro-linux/intro-linux.pdf

O arquivo acima é baixado no diretório de onde o comando wget foi usado.

Definindo proxy para wget

Agora vamos recorrer ao nosso assunto principal hoje: configure o WGET com proxy. Um servidor proxy tem muitas vantagens, das quais a segurança é a principal preocupação. Neste guia, usaremos o Squid Proxy Server, que já está configurado para nossa rede. Aqui está a configuração da lula em nosso caso, altere -o para atender às suas necessidades:

Passo 1. Instalamos a lula em nossa máquina Kali Linux com o IP 192.168.186.161. Se você ainda não instalou a lula, pode fazê -lo simplesmente executando o comando:

$ sudo apt install squid

Passo 2. Verifique se a lula está funcionando com o comando:

$ sudo systemctl status squid

etapa 3. Agora modifique a configuração da lula conforme sua rede. Criamos a lula para permitir que dispositivos em nossa rede usem a lula. Para isso, você pode simplesmente abrir o arquivo de configuração:

$ sudo nano/etc/lula/lula.conf

e adicione uma linha 'ACL LocalNet Src' junto com o endereço IP ou de rede que você deseja permitir o acesso. Aqui na foto abaixo, você pode ver que permitimos nossa rede 192.168.186.1/24

Além disso, encontre e defina o “Http_access” para "permitir todos" como mostrado abaixo:

Por fim, reinicie o servidor de lula com:

$ sudo systemctl reiniciar lula

Ok, isso é suficiente para configurar a lula. Agora vamos configurar nosso cliente de onde estaremos executando 'wget'.

Passo 4. Nesta etapa, nosso trabalho principal começa para configurar 'wget'. Selecionamos outra máquina em nossa rede. Este é o nosso Ubuntu 20.04 Máquina com IP 192.168.186.150. Agora abra um terminal aqui e abra o arquivo de configuração do WGE:

$ sudo nano /etc /wgetrc

E localize as três linhas:

#https_proxy = http: // proxy.Yoyodyne.com: 18023/
#http_proxy = http: // proxy.Yoyodyne.com: 18023/
#ftp_proxy = http: // proxy.Yoyodyne.com: 18023/

Etapa 5. Agora descomment a linha que você deseja usar para seu proxy. No nosso caso, estamos usando apenas o proxy HTTPS, então o configuraremos com o seguinte formato:

https_proxy = proxy_server_address: proxy_port

No nosso caso, parece:

https_proxy = http: // 192.168.186.161: 3128/

Etapa 6. Depois de modificar o arquivo wgetRC, vamos verificar se nossa configuração está funcionando ou não. Vamos fazer o download novamente de um arquivo usando WGET:

$ wget https: // tldp.org/ldp/intro-linux/intro-linux.pdf

Desta vez, podemos ver que o wget usa uma conexão proxy para conectar -se ao servidor.

Definir proxy para WGE com autenticação de lula

Nesta seção, configuraremos o WGET para usar a autenticação da lula. Se não passarmos as credenciais, o WGE não baixará os recursos. vamos fazer agora.

Passo 1. Instale o pacote abaixo:

$ sudo apt install apache2-utils

Passo 2. Crie um arquivo Passwd dentro do diretório '/etc/squid/'

$ sudo toque/etc/lula/passwd

Defina a propriedade deste Proxy de Usuário de Lúculos de Arquivo:

$ sudo chown proxy/etc/lula/passwd

etapa 3. Agora vamos adicionar um novo usuário, 'novo usuário' para lula cujas credenciais serão usadas para autenticação:

$ sudo htpasswd/etc/squid/passwd newUser

O comando acima pedirá para inserir uma senha para o usuário 'NewUser'.

Passo 4. Abra o arquivo de configuração da lula:

$ sudo nano/etc/lula/lula.conf

Etapa 5. Agora procure a linha que contém a string “Programa Basic Auth_param” e faça com que pareça abaixo:

AUTH_PARAM BASIC PROGRO/USR/LIB/SQUID/BASIC_NCSA_AUTH/ETC/SQUID/PASSWD
auth_param crianças básicas 5
autenticação básica do reino básico auth_param
Auth_Param BASIC CREDENCIALSTTL 2 HORAS
ACL auth_users proxy_auth necessário

Se você não encontrar nenhuma das linhas, basta adicioná -las.

Etapa 6. Além disso, adicione a seguinte linha:

http_access permitir auth_users

E abaixo da linha acima, adicione ou altere “http_access permitir tudo ”a“ http_access negar tudo ” como mostrado abaixo:

Etapa 7. Finalmente, reinicie o serviço de lula:

$ sudo systemctl reiniciar lula

Agora, primeiro tente executar o WGet sem credenciais do usuário:

$ wget https: // tldp.org/ldp/intro-linux/intro-linux.pdf

Desta vez, fornece um erro de autenticação exigido como: “Falha no tunelamento de proxy: autenticação de proxy necessária para estabelecer conexão SSL.”

Agora execute o comando wget com a credencial do usuário que acabamos de adicionar na etapa 3:

$ wget --proxy-user = newUser --proxy-password = 123 https: // tldp.org/ldp/intro-linux/intro-linux.pdf

Incrível, desta vez, o comando wget funciona como um charme.

Mais para aprender ..

Isso completa nossa demonstração de definir wget com e sem proxy autenticado. Espero que você tenha aprendido muitas coisas novas neste tutorial. Uma coisa a ter cuidado é que às vezes a configuração dos pacotes pode variar para diferentes distribuições. E.g., Squid pode ter um arquivo de configuração ligeiramente diferente no Kali Linux e Ubuntu. Nesses casos, o arquivo de configuração deve ser alterado com sabedoria.