10 primerov ukazov wget, ki vam bodo pomagali odpraviti težave

Eden od najpogosteje uporabljanih pripomočkov sysadmin je wget. Med odpravljanjem napak v spletu je lahko zelo priročno.


Kaj je wget ukaz?

wget ukaz je priljubljen pripomoček ukazne vrstice Unix / Linux za pridobivanje vsebine s spleta. Je brezplačna za uporabo in omogoča ne-interaktivni način za prenos datotek s spleta. Ukaz wget podpira protokole HTTPS, HTTP in FTP iz polja. Poleg tega lahko z njim uporabite tudi proxy HTTP.

Kako vam pomaga pri odpravljanju težav?

Obstaja veliko načinov.

Kot sysadmin večinoma delate na terminalu in pri odpravljanju težav, povezanih s spletno aplikacijo, morda ne želite preveriti celotne strani, ampak samo povezljivost. Ali pa želite preveriti spletna mesta intraneta. Ali pa želite prenesti določeno stran, da preverite vsebino.

wget je neinteraktiven, kar pomeni, da ga lahko zaženete v ozadju, tudi ko ste odjavljeni. Obstaja lahko veliko primerov, ko je nujno, da prekinete povezavo s sistemom, tudi pri iskanju datotek iz spleta. V ozadju se wget zažene in konča dodeljeno nalogo.

Uporabite ga lahko tudi za pridobitev celotnega spletnega mesta na lokalnih strojih. Lahko sledi povezavam v XHTML in HTML strani za ustvarjanje lokalne različice. Če želite to narediti, mora stran naložiti rekurzivno. To je zelo koristno, saj lahko z njim prenesete pomembne strani ali spletna mesta za ogled brez povezave.

Poglejmo jih v akciji. Sintaksa wget-a je kot spodaj.

wget [možnost] [URL]

Prenesite spletno stran

Poskusimo prenesti stran. Na primer: github.com

wget github.com

Če je povezljivost v redu, bo prenesla domačo stran in prikazala rezultat kot je spodaj.

[zaščitena e-pošta]: ~ # wget github.com
URL se pretvori v HTTPS zaradi pravilnika HSTS
–2020-02-23 10: 45: 52– https://github.com/
Reševanje github.com (github.com) … 140.82.118.3
Povezava z github.com (github.com) | 140.82.118.3 |: 443 … povezana.
Zahteva HTTP je bila poslana, čaka na odgovor … 200 V redu
Dolžina: nedoločen [text / html]
Shranjevanje v: ‘index.html’

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

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

[zaščitena e-pošta]: ~ #

Prenesite več datotek

Priročno, ko morate prenesti več datotek hkrati. Tako lahko dobite predstavo o samodejnem nalaganju datotek prek nekaterih skript.

Poskusimo prenesti datoteke Python 3.8.1 in 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

Kot ugibate, je skladnja kot spodaj.

wget URL1 URL2 URL3

Zagotoviti morate le prostor med URL-ji.

Omejite hitrost prenosa

Koristno bi bilo, če želite preveriti, koliko časa traja datoteka za prenos z različno pasovno širino.

Z možnostjo –limit rate lahko omejite hitrost prenosa.

Tu je izhod prenosa datoteke Nodejs.

[zaščitena e-pošta]: ~ # 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
Reševanje nodejs.org (nodejs.org) … 104.20.23.46, 104.20.22.46, 2606: 4700: 10 :: 6814: 162e, …
Povezava z nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … povezana.
Zahteva HTTP je bila poslana, čaka na odgovor … 200 V redu
Dolžina: 14591852 (14M) [aplikacija / x-xz]
Shranjevanje v: ‘node-v12.16.1-linux-x64.tar.xz’

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

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

Za prenos 13,92 MB datotek je trajalo 0,05 sekunde. Zdaj pa poskusimo omejiti hitrost na 500K.

[zaščitena e-pošta]: ~ # 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
Reševanje nodejs.org (nodejs.org) … 104.20.23.46, 104.20.22.46, 2606: 4700: 10 :: 6814: 162e, …
Povezava z nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … povezana.
Zahteva HTTP je bila poslana, čaka na odgovor … 200 V redu
Dolžina: 14591852 (14M) [aplikacija / x-xz]
Shranjevanje v: ‘node-v12.16.1-linux-x64.tar.xz.1’

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

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

Zmanjšanje pasovne širine je trajalo dlje – 28 sekund. Predstavljajte si, da se vaši uporabniki pritožujejo zaradi počasnega prenosa in veste, da je njihova pasovna širina omrežja nizka. Hitro lahko poskusite – omejite hitrost, da simulirate težavo.

Prenos v ozadju

Nalaganje velikih datotek lahko vzame čas ali zgornji primer, če želite nastaviti tudi omejitev hitrosti. To je pričakovano, a kaj, ko ne želite strmeti v svoj terminal?

No, lahko uporabite argument -b, da zaženete wget v ozadju.

[zaščitena e-pošta]: ~ # wget -b https://slack.com
Nadaljevanje v ozadju, pid 25430.
Rezultat bo napisan v „wget-log.1“.
[zaščitena e-pošta]: ~ #

Ignoriraj napako v potrdilu

To je priročno, ko morate preveriti spletne aplikacije, ki nimajo ustreznega potrdila. Wget bo privzeto vrgel napako, ko potrdilo ni veljavno.

[zaščitena e-pošta]: ~ # wget https://expired.badssl.com/
–2020-02-23 11: 24: 59– https://expired.badssl.com/
Razrešitev je potekla.badssl.com (expired.badssl.com) … 104.154.89.105
Povezava s potečenim.badssl.com (expired.badssl.com) | 104.154.89.105 |: 443 … povezan.
NAPAKA: ni mogoče preveriti potrdila o poteku veljavnosti.
Izdani certifikat je potekel.
Če se želite varno povezati s potečenim.badssl.com, uporabite “–no-check-potrdilo”.

Zgornji primer je za URL, kjer je cert potekel. Kot lahko vidite, je predlagala uporabo –no-check-potrdila, ki bo prezrlo kakršno koli potrjevanje cert.

[zaščitena e-pošta]: ~ # wget https://untrusted-root.badssl.com/ – no-check-potrdilo
–2020-02-23 11: 33: 45– https://untrusted-root.badssl.com/
Reševanje untrusted-root.badssl.com (untrusted-root.badssl.com) … 104.154.89.105
Povezava z untrusted-root.badssl.com (untrusted-root.badssl.com) | 104.154.89.105 |: 443 … povezana.
OPOZORILO: ne moremo preveriti potrdila untruted-root.badssl.com, ki ga je izdalo „CN = BadSSL Nezaupano korensko potrdilo, O = BadSSL, L = San Francisco, ST = Kalifornija, C = ZDA“:
Naletelo je samopodpisano potrdilo.
Zahteva HTTP je bila poslana, čaka na odgovor … 200 V redu
Dolžina: 600 [besedilo / html]
Shranjevanje v: ‘index.html.6’

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

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

[zaščitena e-pošta]: ~ #

Kul, kajne??

Odziv HTTP odziva

Oglejte si glavo odziva HTTP na določenem mestu na terminalu.

Uporaba -S bo natisnila glavo, kot lahko vidite spodaj za Coursera.

[zaščitena e-pošta]: ~ # wget https://www.coursera.org -S
–2020-02-23 11: 47: 01– https://www.coursera.org/
Reševanje www.coursera.org (www.coursera.org) … 13.224.241.48, 13.224.241.124, 13.224.241.82, …
Povezava z www.coursera.org (www.coursera.org) | 13.224.241.48 |: 443 … povezana.
Zahteva HTTP je bila poslana in čaka na odgovor…
HTTP / 1.1 200 V redu
Vrsta vsebine: besedilo / html
Dolžina vsebine: 511551
Povezava: ostanite živi
Nadzor predpomnilnika: zasebni, brez predpomnilnika, brez shranjevanja, treba ga je treba ponovno preveriti, max-age = 0
Datum: Ned, 23. februar 2020 11:47:01 GMT
etag: Š /"7156d-WcZHnHFl4b4aDOL4ZSrXP0iBX3o"
Strežnik: odposlanec
Set-piškotek: CSRF3-Token = 1583322421.s1b4QL6OXSUGHnRI; Max-Age = 864000; Poteče = Wed, 04 Mar 2020 11:47:02 GMT; Pot = /; Domena = .coursera.org
Set-piškotek: __204u = 9205355775-1582458421174; Max-Age = 31536000; Poteče = pon, 22. februarja 2021 11:47:02 GMT; Pot = /; Domena = .coursera.org
Stroga-prometna varnost: max-starost = 31536000; includeSubDomains; prednastavitev
Možnosti tipa X-vsebina: nosniff
x-coursera-render-mode: html
x-coursera-render-verzija: v2
X-Coursera-Zahteva-ID: NCnPPlYyEeqfcxIHPk5Gqw
X-Coursera-Trace-Id-Hex: a5ef7028d77ae8f8
x-odposlanec-čas storitve: 1090
Možnosti X-Frame: SAMEORIGIN
x-powered: Express
X-XSS-zaščita: 1; način = blok
X-cache: gospodična z oblaka
Via: 1.1 884d101a3faeefd4fb32a5d2a8a076b7.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: LHR62-C3
X-Amz-Cf-Id: vqvX6ZUQgtZAde62t7qjafIAqHXQ8BLAv8UhkPHwyTMpvH617yeIbQ ==
Dolžina: 511551 (500 K) [besedilo / html]

Manipulirajte z uporabniškim agentom

Lahko pride do situacije, ko želite spletno mesto povezati s prilagojenim uporabniškim agentom. Ali določenega uporabniškega agenta brskalnika. To je mogoče storiti tako, da določite –user-agent. Spodnji primer je za uporabniško sredstvo kot MyCustomUserAgent.

[zaščitena e-pošta]: ~ # wget https://gf.dev –user-agent ="MyCustomUserAgent"

Glava gostitelja

Ko se aplikacija še razvija, morda nimate ustreznega URL-ja, ki bi ga lahko preizkusil. Morda boste želeli preizkusiti posamezen primerek HTTP z uporabo IP-ja, vendar morate zagotoviti, da bo glava gostitelja pravilno delovala. V tem primeru bi bil koristen –header.

Vzemimo primer testiranja http://10.10.10.1 z gostiteljsko glavo kot application.com

wget –header ="Gostitelj: application.com" http://10.10.10.1

Ne samo gostitelja, ampak lahko vstavite poljubno glavo.

Povežite se prek Proxy

Če delate v okolju DMZ, morda nimate dostopa do spletnih mest. Lahko pa izkoristite proxy za povezavo.

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

Ne pozabite posodobiti spremenljivke $ PROXYHOST: PORT z dejanskimi.

Povežite se s posebnim protokolom TLS

Običajno priporočam uporabo OpenSSL-a za testiranje protokola TLS. Lahko pa uporabite tudi wget.

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

Zgornje bo wget prisililo, da se poveže prek TLS 1.2.

Zaključek

Poznavanje potrebnega ukaza vam lahko pomaga pri delu. Upam, da vam zgoraj navedeno predstavi, kaj lahko naredite z wgetom.

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