10 „wget“ komandų pavyzdžių, kurie padės išspręsti triktis

Viena iš „sysadmin“ dažnai naudojamų paslaugų yra „wget“. Tai gali būti labai patogu atliekant trikčių šalinimą žiniatinklyje.


Kas yra „wget“ komanda?

„wget“ komanda yra populiari „Unix“ / „Linux“ komandų eilutės priemonė, skirta iš interneto gauti turinį. Tai galima nemokamai naudoti ir yra neinteraktyvus būdas atsisiųsti failus iš interneto. „Wget“ komanda palaiko „HTTPS“, HTTP ir FTP protokolus. Be to, jūs taip pat galite naudoti HTTP tarpinius serverius.

Kaip tai padeda pašalinti triktis?

Yra daugybė būdų.

Kaip sistemos administratorius, dažniausiai dirbsi terminale ir spręsdamas su interneto programomis susijusias problemas galbūt norėsite patikrinti ne visą puslapį, o tik ryšį. Arba norite patvirtinti intraneto svetaines. Arba norite atsisiųsti tam tikrą puslapį, kad patikrintumėte turinį.

„wget“ nėra interaktyvus, tai reiškia, kad galite jį naudoti fone, net kai esate atsijungęs. Gali būti daugybė atvejų, kai labai svarbu atsijungti nuo sistemos net ir nuskaitydami failus iš interneto. Fone valdiklis vykdys ir baigs jiems paskirtą darbą.

Jis taip pat gali būti naudojamas norint gauti visą svetainę jūsų vietiniuose kompiuteriuose. Tai gali sekti nuorodomis XHTML ir HTML puslapiuose sukurti vietinę versiją. Norėdami tai padaryti, jis turi atsisiųsti puslapį rekursyviai. Tai labai naudinga, nes galite naudoti norėdami atsisiųsti svarbius puslapius ar svetaines, kad galėtumėte juos peržiūrėti neprisijungę.

Pažiūrėkime juos veikiančius. Valdiklio sintaksė yra tokia, kaip parodyta žemiau.

programėlė [parinktis] [URL]

Atsisiųskite tinklalapį

Pabandykime atsisiųsti puslapį. Pvz .: github.com

wget github.com

Jei ryšys geras, atsisiųs pagrindinį puslapį ir parodys išvestį, kaip nurodyta toliau.

[apsaugotas el. paštu]: ~ # wget github.com
Dėl HSTS politikos URL pakeistas į HTTPS
–2020-02-23 10: 45: 52– https://github.com/
Sprendžiamas github.com (github.com) … 140.82.118.3
Prisijungimas prie github.com (github.com) | 140.82.118.3 |: 443 … prijungtas.
HTTP užklausa išsiųsta, laukiama atsakymo … 200 gerai
Ilgis: nepatikslintas [tekstas / html]
Išsaugoma: „index.html“

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

2020-02-23 10:45:52 (2,89 MB / s) – išsaugota „index.html“ [135126]

[apsaugotas el. paštu]: ~ #

Atsisiųskite kelis failus

Patogu, kai turite atsisiųsti kelis failus vienu metu. Tai gali suteikti idėją, kaip automatizuoti failų atsisiuntimą naudojant kai kuriuos scenarijus.

Pabandykime atsisiųsti „Python 3.8.1“ ir 3.5.1 failus.

programėlė 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

Taigi, kaip jūs galite atspėti, sintaksė yra tokia, kaip nurodyta žemiau.

wget URL1 URL2 URL3

Jūs tiesiog turite užtikrinti, kad tarp URL būtų tarpo.

Ribokite atsisiuntimo greitį

Tai būtų naudinga, kai norite patikrinti, kiek laiko failas atsisiunčia skirtingu pralaidumu.

Naudodamiesi galimybe – limit rate, galite apriboti atsisiuntimo greitį.

Čia yra „Nodejs“ failo atsisiuntimo išvestis.

[apsaugotas el. paštu]: ~ # 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
Sprendžiamas nodejs.org (nodejs.org) … 104.20.23.46, 104.20.22.46, 2606: 4700: 10 :: 6814: 162e, …
Prisijungimas prie nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … prijungtas.
HTTP užklausa išsiųsta, laukiama atsakymo … 200 gerai
Ilgis: 14591852 (14M) [aplikacija / x-xz]
Išsaugoma: „node-v12.16.1-linux-x64.tar.xz“

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

2020-02-23 10:59:58 (272 MB / s) – išsaugota „node-v12.16.1-linux-x64.tar.xz“ [14591852/14591852]

13,92 MB failų atsisiuntimas užtruko 0,05 sekundės. Pabandykime apriboti greitį iki 500K.

[apsaugotas el. paštu]: ~ # 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
Sprendžiamas nodejs.org (nodejs.org) … 104.20.23.46, 104.20.22.46, 2606: 4700: 10 :: 6814: 162e, …
Prisijungimas prie nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … prijungtas.
HTTP užklausa išsiųsta, laukiama atsakymo … 200 gerai
Ilgis: 14591852 (14M) [aplikacija / x-xz]
Įrašoma į: „node-v12.16.1-linux-x64.tar.xz.1“

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

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

Sumažinus pralaidumą, atsisiuntimas užtruko ilgiau – 28 sekundes. Įsivaizduokite, kad jūsų vartotojai skundžiasi lėtu atsisiuntimu ir žinote, kad jų tinklo pralaidumas yra mažas. Galite greitai išbandyti – limituoti normą, kad imituotumėte problemą.

Atsisiųsti fone

Didelių failų atsisiuntimas gali užtrukti arba pateikti aukščiau pateiktą pavyzdį, kur taip pat norite nustatyti normos ribą. To tikimasi, bet kas, jei nenorėsite spoksoti į savo terminalą?

Na, galite naudoti argumentą -b, kad paleistumėte programėlę fone.

[apsaugotas el. paštu]: ~ # wget -b https://slack.com
Tęsinys fone, pid 25430.
Išvada bus parašyta į „wget-log.1“.
[apsaugotas el. paštu]: ~ #

Nepaisyti pažymėjimo klaidos

Tai patogu, kai reikia patikrinti intraneto žiniatinklio programas, kurios neturi tinkamo pažymėjimo. Pagal numatytuosius nustatymus „wget“ parodys klaidą, kai sertifikatas negalioja.

[apsaugotas el. paštu]: ~ # wget https://expired.badssl.com/
–2020-02-23 11: 24: 59– https://expired.badssl.com/
Sprendimas expired.badssl.com (expired.badssl.com) … 104.154.89.105
Prisijungimas prie expired.badssl.com (expired.badssl.com) | 104.154.89.105 |: 443 … prijungtas.
KLAIDA: negali patvirtinti pasibaigusio galiojimo.badssl.com pažymėjimo, išduoto „CN = COMODO RSA domeno patvirtinimo saugaus serverio CA, O =„ COMODO CA Limited “, L = Salfordas, ST = Didysis Mančesteris, C = GB“:
Išduoto pažymėjimo galiojimo laikas pasibaigė.
Jei norite nesaugiai prisijungti prie expired.badssl.com, naudokite `–no-check-certificate ‘.

Aukščiau pateiktas pavyzdys skirtas URL, kurio galiojimo laikas yra pasibaigęs. Kaip matote, ji pasiūlė naudoti –no-check-certificate, kuris nepaisys sertifikato patvirtinimo.

[apsaugotas el. paštu]: ~ # wget https://untrusted-root.badssl.com/ –no-check-certificate
–2020-02-23 11: 33: 45– https://untrusted-root.badssl.com/
Sprendimas nepatikimas-root.badssl.com (nepatikimas-root.badssl.com) … 104.154.89.105
Prisijungimas prie nepatikimo šaknies.badssl.com (nepatikimas šaknies.badssl.com) | 104.154.89.105 |: 443 … prijungtas.
ĮSPĖJIMAS: negali patikrinti nepatikimo root.badssl.com pažymėjimo, išduoto „CN = BadSSL nepatikimos šaknies sertifikato tarnybos, O = BadSSL, L = San Francisko, ST = Kalifornijos, C = JAV“:
Atsirado savarankiškai pasirašytas pažymėjimas.
HTTP užklausa išsiųsta, laukiama atsakymo … 200 gerai
Ilgis: 600 [tekstas / html]
Išsaugoma: „index.html.6“

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

2020-02-23 11:33:45 (122 MB / s) – išsaugota „index.html.6“ [600/600]

[apsaugotas el. paštu]: ~ #

Šaunu, ar ne??

HTTP atsakymo antraštė

Žr. Terminalo nurodytos svetainės HTTP atsakymo antraštę.

Kaip naudojant -S, antraštė bus išspausdinta, kaip galite pamatyti toliau „Coursera“.

[apsaugotas el. paštu]: ~ # wget https://www.coursera.org -S
–2020-02-23 11: 47: 01– https://www.coursera.org/
Sprendžiant www.coursera.org (www.coursera.org) … 13.224.241.48, 13.224.241.124, 13.224.241.82, …
Prisijungimas prie www.coursera.org (www.coursera.org) | 13.224.241.48 |: 443 … prijungtas.
HTTP užklausa išsiųsta, laukiama atsakymo…
HTTP / 1.1 200 gerai
Turinio tipas: tekstas / html
Turinio ilgis: 511551
Ryšys: išlikite gyvas
Talpyklos valdymas: privatus, talpyklos nėra, parduotuvėje nereikia atnaujinti, maksimalus amžius = 0
Data: sekmadienis, 2020 m. Vasario 23 d. 11:47:01 GMT
etag: W /"7156d-WcZHnHFl4b4aDOL4ZSrXP0iBX3o"
Serveris: pasiuntinys
„Set-Cookie“: CSRF3-Token = 1583322421.s1b4QL6OXSUGHnRI; Maksimalus amžius = 864000; Galiojimo laikas = trečiadienis, 2020 m. Kovo 4 d. 11:47:02 GMT; Kelias = /; Domenas = .coursera.org
Rinkinys-slapukas: __204u = 9205355775-1582458421174; Maksimalus amžius = 31536000; Galiojimo laikas = pirmadienis, 2021 m. Vasario 22 d. 11:47:02 GMT; Kelias = /; Domenas = .coursera.org
Griežtas transporto saugumas: maksimalus amžius = 31536000; includeSubDomains; iš anksto įkelti
„X-Content-Type-Options“: nosniff
x-coursera-render-mode: html
x-coursera-render-version: v2
„X-Coursera-Request-Id“: NCnPPlYyEeqfcxIHPk5Gqw
„X-Coursera-Trace-Id-Hex“: a5ef7028d77ae8f8
x-pasiuntinio-prieš tarnybą: 1090
„X-Frame“ parinktys: SAMEORIGIN
x maitina: ekspres
Apsauga nuo X-XSS: 1; režimas = blokuoti
„X-Cache“: Mis iš debesies
Per: 1.1 884d101a3faeefd4fb32a5d2a8a076b7.cloudfront.net („CloudFront“)
„X-Amz-Cf-Pop“: LHR62-C3
„X-Amz-Cf-Id“: „vqvX6ZUQgtZAde62t7qjafIAqHXQ8BLAv8UhkPHwyTMpvH617yeIbQ ==
Ilgis: 511551 (500 K) [tekstas / html]

Manipuliuoti vartotojo agentu

Gali būti, kad norite prijungti svetainę naudodami pasirinktinį vartotojo agentą. Arba konkrečios naršyklės vartotojo agentas. Tai galima padaryti nurodžius –user-agent. Žemiau pateiktas vartotojo agento kaip „MyCustomUserAgent“ pavyzdys.

[apsaugotas el. paštu]: ~ # wget https://gf.dev –user-agent ="„MyCustomUserAgent“"

Pagrindinio kompiuterio antraštė

Kai programa vis dar kuriama, galbūt neturite tinkamo URL, kad galėtumėte ją išbandyti. Arba galbūt norėsite išbandyti atskirą HTTP egzempliorių naudodami IP, tačiau, jei norite, kad programa tinkamai veiktų, turite pateikti pagrindinio kompiuterio antraštę. Esant tokiai situacijai, – vadovas būtų naudingas.

Paimkime pavyzdį, kaip išbandyti http://10.10.10.1 naudojant pagrindinio kompiuterio antraštę kaip application.com

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

Ne tik pagrindinį kompiuterį, bet ir galite sušvirkšti bet kurią jums patinkančią antraštę.

Prijunkite naudodami tarpinį serverį

Jei dirbate DMZ aplinkoje, galite neturėti prieigos prie interneto svetainių. Bet prisijungdami galite naudotis tarpinio serverio pranašumais.

wget -e use_proxy = taip http_proxy = $ PROXYHOST: UOSTO http://externalsite.com

Nepamirškite atnaujinti $ PROXYHOST: PORT kintamojo su tikraisiais.

Prijunkite naudodami konkretų TLS protokolą

Paprastai TLS protokolą išbandyti rekomenduočiau naudoti „OpenSSL“. Bet jūs taip pat galite naudoti wget.

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

Tai, kas pasakyta, privers „wget“ prisijungti per TLS 1.2.

Išvada

Žinodami reikalingą komandą galite padėti darbe. Tikiuosi, kad tai, kas išdėstyta pirmiau, suteikia jums supratimą, ką galite padaryti su programėle.

ŽENKLAI:

  • „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