10 wget naredbi primjera koji će vam pomoći u rješavanju problema

Jedan od najčešće korištenih alata sysadmin je wget. To može biti vrlo korisno tijekom pretraživanja problema vezanih uz web.


Što je wget naredba?

wget naredba je popularni Unix / Linux alat za naredbenu liniju za dohvaćanje sadržaja s weba. Besplatna je upotreba i neinteraktivan način za preuzimanje datoteka s interneta. Naredba wget podržava HTTPS, HTTP i FTP protokole izvan okvira. Štoviše, s njim možete koristiti i HTTP proxyje.

Kako vam pomaže u rješavanju problema?

Postoji mnogo načina.

Kao sysadmin, većinu vremena radite na terminalu, a prilikom rješavanja problema vezanih uz web aplikacije možda nećete htjeti provjeravati cijelu stranicu već samo povezanost. Ili želite potvrditi intranet web stranice. Ili želite preuzeti određenu stranicu kako biste potvrdili sadržaj.

wget nije interaktivan, što znači da ga možete pokrenuti u pozadini čak i kada ste odjavljeni. Može biti mnogo slučajeva u kojima je ključno da prekinete vezu sa sustavom čak i kad pretražujete datoteke s interneta. U pozadini će wget pokrenuti i dovršiti svoj zadani posao.

Također se može koristiti za cijelo web mjesto na vašim lokalnim strojevima. Može pratiti veze u XHTML i HTML stranice za stvaranje lokalne verzije. Da bi to učinio, stranicu mora preuzeti rekurzivno. Ovo je vrlo korisno jer ga možete koristiti za preuzimanje važnih stranica ili web stranica za offline gledanje.

Pogledajmo ih na djelu. Sintaksa wget-a je dolje navedena.

wget [opcija] [URL]

Preuzmite web stranicu

Pokušajmo preuzeti stranicu. Npr: github.com

wget github.com

Ako je povezivanje u redu, tada će preuzeti početnu stranicu i prikazati izlaz kao dolje.

[E zaštićeni]: ~ # wget github.com
URL transformiran u HTTPS zbog HSTS pravila
–2020-02-23 10: 45: 52– https://github.com/
Rješavanje github.com (github.com) … 140.82.118.3
Spajanje na github.com (github.com) | 140.82.118.3 |: 443 … povezano.
Poslan je HTTP zahtjev, čeka se odgovor … 200 U redu
Duljina: neodređeno [tekst / html]
Spremanje na: ‘index.html’

index.html [ <=> ] 131,96K –.- KB / s za 0,04 s

2020-02-23 10:45:52 (2,89 MB / s) – spremljeno je “index.html” [135126]

[E zaštićeni]: ~ #

Preuzmite više datoteka

Zgodno je kad morate preuzeti više datoteka odjednom. To vam može dati predstavu o automatizaciji preuzimanja datoteka putem nekih skripti.

Pokušajmo preuzeti datoteke Python 3.8.1 i 3.5.1.

wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz https://www.python.org/ftp/python/3.5.1/Python-3.5.1. tgz

Kao što možete pretpostaviti, sintaksa je kao u nastavku.

wget URL1 URL2 URL3

Jednostavno morate osigurati prostor između URL-ova.

Ograničite brzinu preuzimanja

Bilo bi korisno kada želite provjeriti koliko vremena vašu datoteku treba za preuzimanje s različitim propusnim opsegom.

Pomoću opcije –limit-rate možete ograničiti brzinu preuzimanja.

Evo rezultata preuzimanja Nodejs datoteke.

[E zaštićeni]: ~ # wget https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz
–2020-02-23 10: 59: 58– https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz
Rješavanje nodejs.org (nodejs.org) … 104.20.23.46, 104.20.22.46, 2606: 4700: 10 :: 6814: 162e, …
Spajanje na nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … povezano.
Poslan je HTTP zahtjev, čeka se odgovor … 200 U redu
Duljina: 14591852 (14M) [aplikacija / x-xz]
Spremanje na: ‘node-v12.16.1-linux-x64.tar.xz’

node-v12.16.1-linux-x64.tar.xz 100% [==================================== ================================================== =======>] 13,92M –.- KB / s za 0,05 s

2020-02-23 10:59:58 (272 MB / s) – spreman ‘node-v12.16.1-linux-x64.tar.xz’ [14591852/14591852]

Za preuzimanje 13,92 MB datoteka trebalo je 0,05 sekundi. Sada pokušajmo ograničiti brzinu na 500K.

[E zaštićeni]: ~ # wget –limit-rate = 500k https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz
–2020-02-23 11: 00: 18– https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz
Rješavanje nodejs.org (nodejs.org) … 104.20.23.46, 104.20.22.46, 2606: 4700: 10 :: 6814: 162e, …
Spajanje na nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … povezano.
Poslan je HTTP zahtjev, čeka se odgovor … 200 U redu
Duljina: 14591852 (14M) [aplikacija / x-xz]
Spremanje na: ‘node-v12.16.1-linux-x64.tar.xz.1’

node-v12.16.1-linux-x64.tar.xz.1 100% [================================= ================================================== =========>] 13,92M 501KB / s za 28s

2020-02-23 11:00:46 (500 KB / s) – spreman ‘node-v12.16.1-linux-x64.tar.xz.1’ [14591852/14591852]

Smanjivanje propusnosti potrajalo je duže vremena – 28 sekundi. Zamislite, vaši se korisnici žale zbog sporog preuzimanja, a znate da je njihova mrežna propusnost mala. Možete brzo pokušati –limit rate da simulirate problem.

Preuzmite u pozadini

Preuzimanje velikih datoteka može potrajati i gore navedeni primjer gdje želite postaviti i ograničenje brzine. To se očekuje, ali što ako ne želite zuriti u svoj terminal?

Pa, možete koristiti -b argument da pokrenete wget u pozadini.

[E zaštićeni]: ~ # wget -b https://slack.com
Nastavak u pozadini, pid 25430.
Izlaz će biti napisan u “wget-log.1”.
[E zaštićeni]: ~ #

Zanemarite pogrešku u certifikatu

Ovo je praktično kad trebate provjeriti intranet web aplikacije koje nemaju odgovarajući certifikat. Wget će zadati pogrešku kada certifikat nije valjan.

[E zaštićeni]: ~ # wget https://expired.badssl.com/
–2020-02-23 11: 24: 59– https://expired.badssl.com/
Rješavanje je isteklo.badssl.com (isteklo.badssl.com) … 104.154.89.105
Povezivanje s istekom.badssl.com (istekao.badssl.com) | 104.154.89.105 |: 443 … povezano.
POGREŠKA: ne mogu ovjeriti certifikat istekle.badssl.com, izdan od „CN = COMODO RSA Sigurnosni validacija domena CA, O = COMODO CA Limited, L = Salford, ST = veći Manchester, C = GB“:
Izdani certifikat je istekao.
Da biste se nesigurno povezali s isteklim.badssl.com, upotrijebite `–no-check-certifikat ‘.

Gornji primjer odnosi se na URL gdje je cert istekao. Kao što vidite, predložio je korištenje –no-check-certifikata koji će zanemariti bilo kakvu potvrdu certa.

[E zaštićeni]: ~ # wget https://untrusted-root.badssl.com/ –no-check-certifikat
–2020-02-23 11: 33: 45– https://untrusted-root.badssl.com/
Rješavanje untrusted-root.badssl.com (untrusted-root.badssl.com) … 104.154.89.105
Spajanje na untrusted-root.badssl.com (untrusted-root.badssl.com) | 104.154.89.105 |: 443 … povezano.
UPOZORENJE: ne može se provjeriti certifikat nepouzdanog-root.badssl.com koji je izdao ‘CN = BadSSL autoritet za nekorišteno korijenje, O = BadSSL, L = San Francisco, ST = Kalifornija, C = US’:
Naišao je potvrda o vlastitom potpisu.
Poslan je HTTP zahtjev, čeka se odgovor … 200 U redu
Duljina: 600 [tekst / html]
Spremanje na: ‘index.html.6’

index.html.6 100% [============================================ =================================================>] 600 –.- KB / s za 0 s

2020-02-23 11:33:45 (122 MB / s) – spremljeno je ‘index.html.6’ [600/600]

[E zaštićeni]: ~ #

Super, zar ne??

HTTP zaglavlje odgovora

Pogledajte zaglavlje HTTP odgovora dane stranice na terminalu.

Upotrebom -S ispisat će se zaglavlje, kao što možete vidjeti dolje za Coursera.

[E zaštićeni]: ~ # wget https://www.coursera.org -S
–2020-02-23 11: 47: 01– https://www.coursera.org/
Rješavanje www.coursera.org (www.coursera.org) … 13.224.241.48, 13.224.241.124, 13.224.241.82, …
Spajanje na www.coursera.org (www.coursera.org) | 13.224.241.48 |: 443 … povezano.
Poslan je HTTP zahtjev, čeka se odgovor…
HTTP / 1.1 200 OK
Vrsta sadržaja: tekst / html
Dužina sadržaja: 511551
Veza: ostanite živi
Nadzor predmemorijom: privatno, bez predmemorije, ne-pohranjivanje, mora se ponovo potvrditi, max-age = 0
Datum: ned, 23. veljače 2020. 11:47:01 GMT
etag: W /"7156d-WcZHnHFl4b4aDOL4ZSrXP0iBX3o"
Poslužitelj: izaslanik
Set-Cookie: CSRF3-Token = 1583322421.s1b4QL6OXSUGHnRI; Max = 864 tisuća starenja; Istječe = Wed, 04 Mar 2020 11:47:02 GMT; Put = /; Domena = .coursera.org
Set-Cookie: __204u = 9205355775-1582458421174; Max Age = 31536000; Istječe = pon, 22. veljače 2021 11:47:02 GMT; Put = /; Domena = .coursera.org
Stroga-Transportna sigurnost: max-dob = 31536000; includeSubDomains; preload
Opcije tipa X-Sadržaj: nosniff
x-coursera-render-mode: html
x-coursera-render-verzija: v2
X-Coursera-Upit-ID: NCnPPlYyEeqfcxIHPk5Gqw
X-Coursera-Trace-Id-Hex: a5ef7028d77ae8f8
x-izaslanik-upstream-service time: 1090
Opcije X-okvira: SAMEORIGIN
x-powered: Express
X-XSS-zaštita: 1; Način = blok
X-cache: Gospođica s oblaka
Via: 1.1 884d101a3faeefd4fb32a5d2a8a076b7.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: LHR62-C3
X-Amz-Cf-Id: vqvX6ZUQgtZAde62t7qjafIAqHXQ8BLAv8UhkPHwyTMpvH617yeIbQ ==
Duljina: 511551 (500 K) [tekst / html]

Manipulirajte s korisničkim agentom

Može se dogoditi situacija kad želite povezati web mjesto pomoću prilagođenog korisničkog agenta. Ili određenog korisničkog agenta preglednika. To je moguće odrediti –user-agent. Sljedeći primjer je za korisničko sredstvo kao MyCustomUserAgent.

[E zaštićeni]: ~ # wget https://gf.dev –user-agent ="MyCustomUserAgent"

Zaglavlje domaćina

Kada se aplikacija još uvijek razvija, možda nemate odgovarajući URL kako biste je testirali. Ili možda želite testirati pojedinačnu HTTP instancu pomoću IP adrese, ali trebate opskrbiti zaglavlje glavnog računala kako bi aplikacija ispravno radila. U ovoj situaciji bi –header bio koristan.

Uzmimo primjer testiranja http://10.10.10.1 sa zaglavljem računala kao application.com

wget –header ="Domaćin: application.com" http://10.10.10.1

Ne samo domaćin, već možete ubrizgati bilo koje zaglavlje koje želite.

Povežite se pomoću proxyja

Ako radite na DMZ okruženju, možda nećete imati pristup internetskim stranicama. Ali možete iskoristiti proxy za povezivanje.

wget -e use_proxy = da http_proxy = $ PROXYHOST: PORT http://externalsite.com

Ne zaboravite ažurirati varijablu $ PROXYHOST: PORT sa stvarnim.

Povežite se pomoću određenog TLS protokola

Obično bih preporučio korištenje OpenSSL-a za testiranje TLS protokola. Ali, možete koristiti i wget.

wget –secure-Protocol = TLSv1_2 https://example.com

Navedeno će wget povezivati ​​preko TLS 1.2.

Zaključak

Poznavanje potrebne naredbe može vam pomoći u radu. Nadam se da vam gore opisuje što možete učiniti s wget-om.

OZNAKE:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map