Jak używać wget z proxy

Jak używać wget z proxy
GNU WGET to narzędzie wiersza polecenia do pobierania plików w sposób nieinteraktywny. Nie jest interaktywny, ponieważ może wykonywać w tle, gdy użytkownik nie jest zalogowany. Jest to świetna elastyczność w przypadku WGET, ponieważ większość przeglądarek internetowych wymaga zalogowania się użytkownika, gdy każde zadanie trwa. Może działać z protokołami HTTP, HTTPS i FTP, a także obsługiwać pobieranie plików za pośrednictwem proxy HTTP.

Polecenie WGET jest podobne do polecenia curl i może być instalowane w systemie Linux/Unix, Mac OS, Windows. Jeśli zadanie pobierania utknie w połowie drogi, możesz je wznowić tam, gdzie zostało zakończone.

Co obejmiemy?

Ten przewodnik zbadał polecenie WGET i nauczą się go używać z serwerem proxy Squid.

Korzystanie z polecenia WGET do pobrania pliku

WGET to bardzo proste narzędzie do przodu. W przypadku użycia bez żadnej opcji WGET odzyska zasoby z określonego adresu URL i pobierze je do bieżącego katalogu roboczego. Na przykład spójrz na poniższy przykład:

$ wget https: // tldp.ORG/LDP/INTRO-LINUX/INTRO-LINUX.PDF

Powyższy plik jest pobierany do katalogu, z którego użyto polecenia WGET.

Ustawienie proxy dla wget

Przejdźmy teraz do naszego głównego przedmiotu już dziś: skonfiguruj wget z proxy. Serwer proxy ma wiele zalet, z których bezpieczeństwo jest głównym problemem. W tym przewodniku będziemy korzystać z serwera proxy Squid, który jest już skonfigurowany dla naszej sieci. Oto konfiguracja kałamarnicy w naszym przypadku, zmień ją, aby odpowiadała Twoim potrzebom:

Krok 1. Zainstalowaliśmy kałamarnicę na naszym komputerze Kali Linux z IP 192.168.186.161. Jeśli nie zainstalowałeś jeszcze kałamarnicy, możesz to zrobić, po prostu uruchamiając polecenie:

$ sudo apt instal kalmar

Krok 2. Upewnij się, że kałamarnica działa z poleceniem:

$ sudo SystemCtl Status Squid

Krok 3. Teraz zmodyfikuj konfigurację kałamarnicy zgodnie z siecią. Ustawiliśmy kałamarnicę, aby umożliwić urządzeniom w naszej sieci korzystanie z Squid. W tym celu możesz po prostu otworzyć plik konfiguracyjny:

$ sudo nano/etc/kalmar.conf

i dodaj linię „ACL Localnet SRC” wraz z adresem IP lub sieciowym, na który chcesz umożliwić dostęp. Tutaj na poniższym zdjęciu widać, że pozwoliliśmy naszej sieci 192.168.186.1/24

Znajdź także i ustaw „HTTP_ACCESS” Do "pozwól wszystkim" jak pokazano niżej:

Na koniec uruchom ponownie serwer Squid z:

$ sudo systemCtl restartuj kałamerka

Ok, to wystarczy do konfigurowania kalmarów. Przejdziemy teraz do konfiguracji naszego klienta, z którego będziemy uruchomić „wget”.

Krok 4. Na tym etapie nasze główne prace zaczynają się konfigurować „wget”. W naszej sieci wybraliśmy inny komputer. To jest nasz Ubuntu 20.04 Maszyna z IP 192.168.186.150. Teraz otwórz terminal tutaj i otwórz plik konfiguracyjny WGET:

$ sudo nano /etc /wgetrc

I zlokalizuj trzy linie:

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

Krok 5. Teraz pocukaj linię, której chcesz użyć dla swojego proxy. W naszym przypadku używamy tylko proxy HTTPS, więc skonfigurujemy go z następującym formatem:

https_proxy = proxy_server_address: proxy_port

W naszym przypadku wygląda na to:

https_proxy = http: // 192.168.186.161: 3128/

Krok 6. Po zmodyfikowaniu pliku WGETRC, przejdźmy dalej, aby sprawdzić, czy nasza konfiguracja działa, czy nie. Pobierzmy ponownie plik za pomocą WGET:

$ wget https: // tldp.ORG/LDP/INTRO-LINUX/INTRO-LINUX.PDF

Tym razem widzimy, że WGET używa połączenia proxy do łączenia się z serwerem.

Ustawienie proxy dla WGET z uwierzytelnianiem kalmarów

W tej sekcji skonfigurujemy WGET do użycia uwierzytelniania kalmarów. Jeśli nie przekonamy poświadczeń, WGET nie pobiera zasobów. Zróbmy to teraz.

Krok 1. Zainstaluj poniższy pakiet:

$ sudo apt Zainstaluj Apache2-Utils

Krok 2. Utwórz plik PASSWD w katalogu „/etc/squid/”

$ sudo touch/etc/squid/passwd

Ustaw własność tego pliku proxy użytkownika Squid:

$ sudo chown proxy/etc/squid/passwd

Krok 3. Teraz dodamy nowego użytkownika, 'nowy użytkownik' do kałamarnicy, których poświadczenia będą używane do uwierzytelnienia:

$ sudo htpasswd/etc/squid/passwd Newuser

Powyższe polecenie poprosi o wprowadzenie hasła dla użytkownika „Newuser”.

Krok 4. Otwórz plik konfiguracyjny Squid:

$ sudo nano/etc/kalmar.conf

Krok 5. Teraz wyszukaj linię zawierającą ciąg „Program podstawowy AUTH_PARAM” i spraw, by wyglądało jak poniżej:

Auth_param Basic Program/usr/lib/squid/basic_ncsa_auth/etc/squid/passwd
Auth_param Podstawowe dzieci 5
Auth_param podstawowe uwierzytelnianie kałamarnicy
Auth_param Basic CredentialSttl 2 godziny
ACL Auth_users Proxy_auth

Jeśli nie znajdziesz żadnej z linii, po prostu dodaj je.

Krok 6. Dodaj także następujący wiersz:

HTTP_ACCESS Zezwalaj na auth_users

I poniżej powyższego wiersza, dodaj lub zmień „http_access pozwól wszystkim ”na„ http_access odmówić wszystkiego ” jak pokazano niżej:

Krok 7. Wreszcie, uruchom ponownie usługę Squid:

$ sudo systemCtl restartuj kałamerka

Teraz najpierw spróbuj uruchom WGET bez poświadczeń użytkownika:

$ wget https: // tldp.ORG/LDP/INTRO-LINUX/INTRO-LINUX.PDF

Tym razem daje wymagany błąd uwierzytelnienia jako: „Tunelowanie proxy nie powiodło się: Uwierzytelnianie proxy wymagane do ustalenia połączenia SSL."

Teraz uruchom polecenie WGET z poświadczeniem użytkownika, który właśnie dodaliśmy w kroku 3:

$ wget --proxy-user = newUser --proxy-password = 123 https: // tldp.ORG/LDP/INTRO-LINUX/INTRO-LINUX.PDF

Niesamowite, tym razem polecenie WGET działa jak urok.

Więcej, aby się nauczyć…

To kończy naszą demonstrację ustawienia WGET z uwierzytelnionym proxy i bez. Mam nadzieję, że w tym samouczku nauczyłeś się zbyt wielu nowych rzeczy. Jedną rzeczą, na którą należy uważać, jest to, że czasami konfiguracja pakietów może się różnić dla różnych rozkładów. mi.G., Squid może mieć nieco inny plik konfiguracyjny na Kali Linux i Ubuntu. W takich przypadkach plik konfiguracyjny powinien zostać mądrze zmieniony.