10 wget Command Mga Halimbawa upang Tulungan kang Mag-troubleshoot

Ang isa sa mga madalas na ginagamit na kagamitan sa pamamagitan ng sysadmin ay wget. Maaari itong maging madaling gamitin sa panahon ng pag-aayos ng mga kaugnay na web.


Ano ang utos ng wget?

wget utos ay isang tanyag na utility na utos ng utos ng Unix / Linux para sa pagkuha ng nilalaman mula sa web. Malayang gamitin at nagbibigay ng isang hindi interactive na paraan upang mag-download ng mga file mula sa web. Sinusuportahan ng utos ng wget ang mga protocol ng HTTPS, HTTP, at FTP sa labas ng kahon. Bukod dito, maaari mo ring gamitin ang mga proxy ng HTTP kasama nito.

Paano ka nakakatulong sa pag-troubleshoot?

Maraming paraan.

Bilang isang sysadmin, halos lahat ng oras, nagtatrabaho ka sa isang terminal, at kapag nag-aayos ng mga isyu na may kaugnayan sa web application, maaaring hindi mo nais na suriin ang buong pahina ngunit ang koneksyon lamang. O, nais mong i-verify ang mga website ng intranet. O, nais mong mag-download ng isang tiyak na pahina upang mapatunayan ang nilalaman.

ang wget ay hindi interactive, na nangangahulugang maaari mo itong patakbuhin sa background kahit na naka-log off ka. Maaaring magkaroon ng maraming mga pagkakataon kung saan kinakailangan para sa iyo na idiskonekta mula sa system kahit na ang paggawa ng pagkuha ng file mula sa web. Sa background, tatakbo ang wget at tapusin ang kanilang itinalagang trabaho.

Maaari rin itong magamit upang makuha ang buong website sa iyong lokal na makina. Maaari itong sundin ang mga link sa XHTML at HTML mga pahina upang lumikha ng isang lokal na bersyon. Upang gawin ito, dapat itong i-download ang pahina nang maingat. Ito ay lubhang kapaki-pakinabang bilang maaari mong gamitin ito upang i-download ang mga mahahalagang pahina o site para sa pagtingin sa offline.

Tingnan natin sila sa kilos. Ang syntax ng wget ay tulad sa ibaba.

wget [pagpipilian] [URL]

Mag-download ng isang webpage

Subukan nating mag-download ng isang pahina. Hal: github.com

wget github.com

Kung maayos ang pagkakakonekta, pagkatapos ay i-download nito ang homepage at ipakita ang output tulad ng sa ibaba.

[protektado ng email]: ~ # wget github.com
Ang URL ay nagbago sa HTTPS dahil sa isang patakaran ng HSTS
–2020-02-23 10: 45: 52– https://github.com/
Paglutas ng github.com (github.com) … 140.82.118.3
Pagkonekta sa github.com (github.com) | 140.82.118.3 |: 443 … konektado.
Nagpadala ang kahilingan ng HTTP, naghihintay ng tugon … 200 OK
Haba: hindi natukoy [text / html]
Nagse-save sa: ‘index.html’

index.html [ <=> ] 131.96K – – KB / s sa 0.04s

2020-02-23 10:45:52 (2.89 MB / s) – nai-save ang ‘index.html’ [135126]

[protektado ng email]: ~ #

I-download ang maraming mga file

Madaling magamit kapag kailangan mong mag-download ng maraming mga file nang sabay-sabay. Maaari kang magbigay sa iyo ng isang ideya tungkol sa pag-download ng mga file sa pamamagitan ng ilang mga script.

Subukan nating i-download ang Python 3.8.1 at 3.5.1 na mga file.

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

Kaya, tulad ng maaari mong hulaan, ang syntax ay nasa ibaba.

wget URL1 URL2 URL3

Kailangan mo lamang tiyakin na ang pagbibigay ng puwang sa pagitan ng mga URL.

Limitahan ang bilis ng pag-download

Ito ay magiging kapaki-pakinabang kapag nais mong suriin kung gaano karaming oras ang iyong file na mag-download sa iba’t ibang bandwidth.

Gamit ang pagpipilian na -limit-rate, maaari mong limitahan ang bilis ng pag-download.

Narito ang output ng pag-download ng file ng Nodejs.

[protektado ng email]: ~ # 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
Paglutas ng nodejs.org (nodejs.org) … 104.20.23.46, 104.20.22.46, 2606: 4700: 10 :: 6814: 162e, …
Pagkonekta sa nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … konektado.
Nagpadala ang kahilingan ng HTTP, naghihintay ng tugon … 200 OK
Haba: 14591852 (14M) [application / x-xz]
Nagse-save sa: ‘node-v12.16.1-linux-x64.tar.xz’

node-v12.16.1-linux-x64.tar.xz 100% [================================== ================================================== =======>] 13.92M – – KB / s sa 0.05s

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

Tumagal ng 0.05 segundo upang mag-download ng 13.92 MB file. Ngayon, subukang limitahan ang bilis sa 500K.

[protektado ng email]: ~ # 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
Paglutas ng nodejs.org (nodejs.org) … 104.20.23.46, 104.20.22.46, 2606: 4700: 10 :: 6814: 162e, …
Pagkonekta sa nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … konektado.
Nagpadala ang kahilingan ng HTTP, naghihintay ng tugon … 200 OK
Haba: 14591852 (14M) [application / x-xz]
Nagse-save sa: ‘node-v12.16.1-linux-x64.tar.xz.1’

node-v12.16.1-linux-x64.tar.xz.1 100% [========================================= ================================================== =========>] 13.92M 501KB / s sa 28s

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

Ang pagbabawas ng bandwidth ay mas matagal upang i-download – 28 segundo. Isipin, ang iyong mga gumagamit ay nagrereklamo tungkol sa mabagal na pag-download, at alam mong mababa ang kanilang bandwidth sa network. Maaari mong mabilis na subukan –limit-rate upang gayahin ang isyu.

I-download sa background

Ang pag-download ng malalaking file ay maaaring tumagal ng oras o sa itaas na halimbawa kung saan nais mong itakda din ang limitasyon ng rate. Inaasahan ito, ngunit paano kung hindi mo nais na tumitig sa iyong terminal?

Kaya, maaari mong gamitin ang -b argument upang simulan ang wget sa background.

[protektado ng email]: ~ # wget -b https://slack.com
Pagpapatuloy sa background, pid 25430.
Ang output ay isusulat sa ‘wget-log.1’.
[protektado ng email]: ~ #

Huwag pansinin ang error sa sertipiko

Madaling gamitin ito kapag kailangan mong suriin ang mga application ng intranet web na walang tamang sertipiko. Bilang default, magtatapon ang isang wget kapag hindi wasto ang isang sertipiko.

[protektado ng email]: ~ # wget https://expired.badssl.com/
–2020-02-23 11: 24: 59– https://expired.badssl.com/
Paglutas ng expired.badssl.com (expired.badssl.com) … 104.154.89.105
Pagkonekta sa expired.badssl.com (expired.badssl.com) | 104.154.89.105 |: 443 … konektado.
ERROR: hindi maaaring patunayan ang sertipiko ng expired.badssl.com, na inilabas ng ‘CN = COMODO RSA Domain Validation Secure Server CA, O = COMODO CA Limited, L = Salford, ST = Greater Manchester, C = GB’:
Natapos na ang sertipiko.
Upang kumonekta sa expired.badssl.com walang katiyakan, gumamit ng `- hindi-tsek-sertipiko ‘.

Ang halimbawa sa itaas ay para sa URL kung saan nag-expire ang sert. Tulad ng nakikita mo na iminungkahi nito gamit ang –no-check-certificate na hindi papansin ang anumang pagpapatunay sa sertipikasyon.

[protektado ng email]: ~ # wget https://untrusted-root.badssl.com/ –no-check-certificate
–2020-02-23 11: 33: 45– https://untrusted-root.badssl.com/
Paglutas ng hindi mapagkakatiwalaan-root.badssl.com (hindi pinagkakatiwalaang-root.badssl.com) … 104.154.89.105
Pagkonekta sa hindi mapagkakatiwalaan-root.badssl.com (hindi pinagkakatiwalaang-root.badssl.com) | 104.154.89.105 |: 443 … konektado.
BABALA: hindi maaaring ma-verify ang sertipiko ng hindi pinagkakatiwalaang-root.badssl.com, na inilabas ng ‘CN = BadSSL Untrusted Root Certificate Authority, O = BadSSL, L = San Francisco, ST = California, C = US’:
Nakatagpo ang sertipiko sa sarili na naka-sign.
Nagpadala ang kahilingan ng HTTP, naghihintay ng tugon … 200 OK
Haba: 600 [text / html]
Nagse-save sa: ‘index.html.6’

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

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

[protektado ng email]: ~ #

Malamig, hindi ba?

Ang header ng Tugon ng HTTP

Tingnan ang header ng tugon ng HTTP ng isang naibigay na site sa terminal.

Paggamit -S ay mai-print ang header, tulad ng makikita mo sa ibaba para sa Coursera.

[protektado ng email]: ~ # wget https://www.coursera.org -S
–2020-02-23 11: 47: 01– https://www.coursera.org/
Paglutas ng www.coursera.org (www.coursera.org) … 13.224.241.48, 13.224.241.124, 13.224.241.82, …
Pagkonekta sa www.coursera.org (www.coursera.org) | 13.224.241.48 |: 443 … konektado.
Ipinadala ang kahilingan ng HTTP, naghihintay ng tugon…
HTTP / 1.1 200 OK
Uri ng Nilalaman: teksto / html
Haba-Nilalaman: 511551
Koneksyon: panatilihing-buhay
Cache-Control: pribado, walang-cache, walang tindahan, dapat na revalidate, max-age = 0
Petsa: Linggo, 23 Peb 2020 11:47:01 GMT
etag: W /"7156d-WcZHnHFl4b4aDOL4ZSrXP0iBX3o"
Server: envoy
Set-Cookie: CSRF3-Token = 1583322421.s1b4QL6OXSUGHnRI; Max-Edad = 864000; Nag-expire = Wed, 04 Mar 2020 11:47:02 GMT; Landas = /; Domain = .coursera.org
Itakda-Cookie: __204u = 9205355775-1582458421174; Max-Edad = 31536000; Nag-expire = Mon, 22 Feb 2021 11:47:02 GMT; Landas = /; Domain = .coursera.org
Strict-Transport-Security: max-age = 31536000; isamaSubDomains; preload
Mga Pagpipilian sa X-Nilalaman-Uri: nosniff
x-coursera-render-mode: html
x-coursera-render-bersyon: v2
X-Coursera-Hiling-Id: NCnPPlYyEeqfcxIHPk5Gqw
X-Coursera-Trace-Id-Hex: a5ef7028d77ae8f8
x-envoy-upstream-service-time: 1090
X-Frame-options: SAMEORIGIN
x-powered-by: Express
X-XSS-Proteksyon: 1; mode = block
X-Cache: Miss mula sa cloudfront
Sa pamamagitan ng: 1.1 884d101a3faeefd4fb32a5d2a8a076b7.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: LHR62-C3
X-Amz-Cf-Id: vqvX6ZUQgtZAde62t7qjafIAqHXQ8BLAv8UhkPHwyTMpvH617yeIbQ ==
Haba: 511551 (500K) [text / html]

Manipulate ang User-Agent

Maaaring magkaroon ng isang sitwasyon kung saan nais mong kumonekta sa isang site gamit ang isang pasadyang user-ahente. O tiyak na user-ahente ng browser. Magagawa ito sa pamamagitan ng pagtukoy – – ahente-ahente. Ang halimbawa sa ibaba ay para sa ahente ng gumagamit bilang MyCustomUserAgent.

[protektado ng email]: ~ # wget https://gf.dev –user-ahente ="MyCustomUserAgent"

Hoster ng Host

Kapag nasa pag-unlad pa ang isang aplikasyon, maaaring hindi ka magkaroon ng isang tamang URL upang subukan ito. O, baka gusto mong subukan ang isang indibidwal na halimbawa ng HTTP gamit ang IP, ngunit kailangan mong ibigay ang header ng host para gumana nang maayos ang application. Sa sitwasyong ito, magiging kapaki-pakinabang ang header.

Magsagawa tayo ng isang halimbawa ng pagsubok sa http://10.10.10.1 kasama ang host header bilang application.com

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

Hindi lamang host, ngunit maaari kang mag-iniksyon ng anumang header na gusto mo.

Kumonekta gamit ang Proxy

Kung nagtatrabaho ka sa isang kapaligiran ng DMZ, maaaring hindi ka magkaroon ng access sa mga site sa Internet. Ngunit maaari mong samantalahin ang proxy upang kumonekta.

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

Huwag kalimutan na i-update ang $ PROXYHOST: variable ng PORT kasama ang aktwal.

Kumonekta gamit ang isang tukoy na protocol ng TLS

Karaniwan, inirerekumenda ko ang paggamit ng OpenSSL upang masubukan ang protocol ng TLS. Ngunit, maaari mo ring gamitin ang wget.

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

Ang nasa itaas ay pipilitang wget upang kumonekta sa TLS 1.2.

Konklusyon

Ang pag-alam sa kinakailangang utos ay makakatulong sa iyo sa trabaho. Inaasahan kong ang nasa itaas ay nagbibigay sa iyo ng ideya kung ano ang magagawa mo sa wget.

TAGS:

  • 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