Comment utiliser wget avec proxy

Comment utiliser wget avec proxy
GNU WGET est un outil de ligne de commande pour télécharger des fichiers de manière non interactive. Il n'est pas interactif car il peut s'exécuter en arrière-plan lorsque l'utilisateur n'est pas connecté. C'est une grande flexibilité avec WGET car la plupart des navigateurs Web exigent que l'utilisateur soit connecté pendant que toute tâche se déroule. Il peut fonctionner avec les protocoles HTTP, HTTPS et FTP et prend également en charge le téléchargement de fichiers via des proxies HTTP.

La commande wget est similaire à la commande curl et peut être installée sur Linux / Unix, Mac OS, Windows. Si une tâche de téléchargement est coincée à mi-chemin, vous pouvez la reprendre là où elle a été laissée.

Que couvrirons-nous?

Ce guide explorera la commande WGET et apprendra à l'utiliser avec le serveur proxy Squid.

Utilisation de la commande wget pour télécharger un fichier

WGet est un outil très simple. Lorsqu'il est utilisé sans aucune option, WGET récupérera les ressources de l'URL spécifiées et les téléchargera dans le répertoire de travail actuel. Par exemple, regardez l'exemple ci-dessous:

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

Le fichier ci-dessus est téléchargé dans le répertoire d'où la commande wget a été utilisée.

Définition du proxy pour WGET

Maintenant, tournons-nous vers notre sujet principal aujourd'hui: configurer wget avec proxy. Un serveur proxy présente de nombreux avantages, dont la sécurité est la principale préoccupation. Dans ce guide, nous utiliserons le Squid Proxy Server, qui est déjà configuré pour notre réseau. Voici la configuration de Squid dans notre cas, changez-la pour répondre à vos besoins:

Étape 1. Nous avons installé des calmars sur notre machine Kali Linux avec l'IP 192.168.186.161. Si vous n'avez pas encore installé de calmars, vous pouvez le faire en exécutant simplement la commande:

$ sudo apt installer Squid

Étape 2. Assurez-vous que le calmar s'exécute avec la commande:

$ sudo systemctl status Squid

Étape 3. Modifiez maintenant la configuration de Squid selon votre réseau. Nous avons réglé des calmars pour permettre aux appareils de notre réseau d'utiliser les calmars. Pour cela, vous pouvez simplement ouvrir le fichier de configuration:

$ sudo nano / etc / squid / squid.confli

et ajouter une ligne 'ACL localnet src' ainsi que l'adresse IP ou le réseau que vous souhaitez autoriser l'accès à. Ici, dans l'image ci-dessous, vous pouvez voir que nous avons autorisé notre réseau 192.168.186.1/24

Aussi, trouvez et définissez le "Http_access" pour "autorise tout" comme indiqué ci-dessous:

Enfin, redémarrez le serveur Squid avec:

$ sudo systemctl redémarrer le calmar

OK, cela suffit pour configurer les calamaires. Nous allons maintenant passer à la configuration de notre client à partir de l'endroit où nous exécuterons «WGET».

Étape 4. Dans cette étape, notre travail principal commence à configurer «WGET». Nous avons sélectionné une autre machine sur notre réseau. C'est notre Ubuntu 20.04 Machine avec IP 192.168.186.150. Ouvrez maintenant un terminal ici et ouvrez le fichier de configuration WGET:

$ sudo nano / etc / wgetrc

Et localisez les trois lignes:

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

Étape 5. Maintenant, inconnu la ligne que vous souhaitez utiliser pour votre proxy. Dans notre cas, nous n'utilisons que le proxy HTTPS, nous le configurerons donc avec le format suivant:

https_proxy = proxy_server_address: proxy_port

Dans notre cas, il ressemble:

https_proxy = http: // 192.168.186.161: 3128 /

Étape 6. Après avoir modifié le fichier WGETRC, passons à vérifier si notre configuration fonctionne ou non. Laissez à nouveau télécharger un fichier à l'aide de WGET:

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

Cette fois, nous pouvons voir que le WGET utilise une connexion proxy pour se connecter au serveur.

Définition du proxy pour WGET avec l'authentification du calmar

Dans cette section, nous configurerons WGET pour utiliser l'authentification Squid. Si nous ne transmettons pas les informations d'identification, WGET ne téléchargera pas les ressources. Faisons-le maintenant.

Étape 1. Installez le package ci-dessous:

$ sudo apt installer apache2-utils

Étape 2. Créer un fichier passwd dans le répertoire '/ etc / squid /'

$ sudo touch / etc / squid / passwd

Définissez la propriété de ce fichier Squid User Proxy:

$ sudo chown proxy / etc / squid / passwd

Étape 3. Nous allons maintenant ajouter un nouvel utilisateur, 'nouvel utilisateur' aux calmars dont les informations d'identification seront utilisées pour l'authentification:

$ sudo htpasswd / etc / squid / passwd NewUser

La commande ci-dessus demandera à saisir un mot de passe pour l'utilisateur «NewUser».

Étape 4. Ouvrez le fichier de configuration de Squid:

$ sudo nano / etc / squid / squid.confli

Étape 5. Recherchez maintenant la ligne contenant la chaîne «Programme de base AUTH_PARAM» Et faites-le pour ressembler ci-dessous:

AUTH_PARAM PROGRAMME DE BASIC / USR / LIB / Squid / Basic_ncsa_Auth / etc / Squid / Passwd
Auth_Param Basic Enfants 5
Auth_Param Basic Realm Squid Authentification de base
AUTH_PARAM BASIC CIDENTIELSTTL 2 heures
ACL Auth_Users Proxy_Auth requis

Si vous ne trouvez aucune des lignes, ajoutez-les simplement.

Étape 6. Ajoutez également la ligne suivante:

http_access autoriser les auth_users

Et en dessous de la ligne ci-dessus, ajouter ou changer "http_access autorise tous "à" http_access nier tout " comme indiqué ci-dessous:

Étape 7. Enfin, redémarrez le service de calmar:

$ sudo systemctl redémarrer le calmar

Maintenant, essayez d'abord l'exécution de WGET sans information d'identification:

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

Cette fois, cela donne une erreur d'authentification requise comme: «Le tunnel de proxy a échoué: l'authentification proxy requise considérable pour établir une connexion SSL."

Exécutez maintenant la commande wget avec les informations d'identification de l'utilisateur que nous venons d'ajouter à l'étape 3:

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

Génial, cette fois, la commande wget fonctionne comme un charme.

Plus à apprendre…

Cela complète notre démonstration de la définition de WGET avec et sans proxy authentifié. J'espère que vous avez appris trop de nouvelles choses dans ce tutoriel. Une chose à laquelle faire attention est que parfois la configuration des packages peut varier pour différentes distributions. E.g., Squid peut avoir un fichier de configuration légèrement différent sur Kali Linux et Ubuntu. Dans de tels cas, le fichier de configuration doit être modifié judicieusement.