10 wget Contoh Perintah untuk Membantu Anda Mengatasi Masalah

Salah satu utilitas yang sering digunakan oleh sysadmin adalah wget. Ini bisa sangat berguna selama pemecahan masalah terkait web.


Apa itu perintah wget?

perintah wget adalah utilitas baris perintah Unix / Linux yang populer untuk mengambil konten dari web. Ini gratis untuk digunakan dan menyediakan cara non-interaktif untuk mengunduh file dari web. Perintah wget mendukung protokol HTTPS, HTTP, dan FTP di luar kotak. Selain itu, Anda juga dapat menggunakan proksi HTTP dengannya.

Bagaimana ini membantu Anda memecahkan masalah?

Ada banyak cara.

Sebagai sysadmin, sebagian besar waktu, Anda akan bekerja pada terminal, dan ketika memecahkan masalah terkait aplikasi web, Anda mungkin tidak ingin memeriksa seluruh halaman tetapi hanya konektivitas. Atau, Anda ingin memverifikasi situs web intranet. Atau, Anda ingin mengunduh halaman tertentu untuk memverifikasi konten.

wget bersifat non-interaktif, yang berarti Anda dapat menjalankannya di latar belakang bahkan ketika Anda logout. Mungkin ada banyak contoh di mana penting bagi Anda untuk memutuskan sambungan dari sistem bahkan ketika melakukan pengambilan file dari web. Di latar belakang, wget akan berjalan dan menyelesaikan pekerjaan yang ditugaskan.

Ini juga dapat digunakan untuk mendapatkan seluruh situs web di komputer lokal Anda. Itu dapat mengikuti tautan di XHTML dan HTML halaman untuk membuat versi lokal. Untuk melakukannya, ia harus mengunduh halaman secara rekursif. Ini sangat berguna karena Anda dapat menggunakannya untuk mengunduh halaman atau situs penting untuk dilihat secara offline.

Mari kita lihat mereka beraksi. Sintaks wget adalah seperti di bawah ini.

wget [opsi] [URL]

Unduh halaman web

Mari kita coba mengunduh satu halaman. Mis: github.com

wget github.com

Jika konektivitas baik-baik saja, maka itu akan mengunduh beranda dan menampilkan output seperti di bawah ini.

[dilindungi email]: ~ # wget github.com
URL diubah menjadi HTTPS karena kebijakan HSTS
–2020-02-23 10: 45: 52– https://github.com/
Menyelesaikan github.com (github.com) … 140.82.118.3
Menghubungkan ke github.com (github.com) | 140.82.118.3 |: 443 … terhubung.
Permintaan HTTP terkirim, menunggu respons … 200 OK
Panjang: tidak ditentukan [teks / html]
Menyimpan ke: ‘index.html’

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

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

[dilindungi email]: ~ #

Unduh banyak file

Berguna ketika Anda harus mengunduh banyak file sekaligus. Ini dapat memberi Anda gambaran tentang pengotomatisasian pengunduhan file melalui beberapa skrip.

Mari kita coba mengunduh file Python 3.8.1 dan 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

Jadi, seperti yang bisa Anda tebak, sintaksnya seperti di bawah ini.

wget URL1 URL2 URL3

Anda hanya perlu memastikan memberi ruang antar URL.

Batasi kecepatan unduh

Ini akan berguna ketika Anda ingin memeriksa berapa lama waktu yang dibutuhkan file Anda untuk mengunduh pada bandwidth yang berbeda.

Dengan menggunakan opsi –limit-rate, Anda dapat membatasi kecepatan unduh.

Ini adalah hasil mengunduh file Nodejs.

[dilindungi 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
Menyelesaikan nodejs.org (nodejs.org) … 104.20.23.46, 104.20.22.46, 2606: 4700: 10 :: 6814: 162e, …
Menghubungkan ke nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … terhubung.
Permintaan HTTP terkirim, menunggu respons … 200 OK
Durasi: 14591852 (14M) [aplikasi / x-xz]
Menyimpan ke: ‘node-v12.16.1-linux-x64.tar.xz’

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

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

Butuh 0,05 detik untuk mengunduh file 13,92 MB. Sekarang, mari kita coba untuk membatasi kecepatan hingga 500 ribu.

[dilindungi 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
Menyelesaikan nodejs.org (nodejs.org) … 104.20.23.46, 104.20.22.46, 2606: 4700: 10 :: 6814: 162e, …
Menghubungkan ke nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … terhubung.
Permintaan HTTP terkirim, menunggu respons … 200 OK
Durasi: 14591852 (14M) [aplikasi / x-xz]
Menyimpan ke: ‘node-v12.16.1-linux-x64.tar.xz.1’

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

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

Mengurangi bandwidth membutuhkan waktu lebih lama untuk mengunduh – 28 detik. Bayangkan, pengguna Anda mengeluh tentang unduhan yang lambat, dan Anda tahu bandwidth jaringan mereka rendah. Anda dapat dengan cepat mencoba –limit-rate untuk mensimulasikan masalah ini.

Unduh di latar belakang

Mengunduh file besar dapat mengambil waktu atau contoh di atas di mana Anda ingin menetapkan batas laju juga. Ini diharapkan, tetapi bagaimana jika Anda tidak ingin menatap terminal Anda?

Nah, Anda bisa menggunakan argumen -b untuk memulai wget di latar belakang.

[dilindungi email]: ~ # wget -b https://slack.com
Berlanjut di latar belakang, pid 25430.
Output akan ditulis ke ‘wget-log.1’.
[dilindungi email]: ~ #

Abaikan Kesalahan Sertifikat

Ini berguna ketika Anda perlu memeriksa aplikasi web intranet yang tidak memiliki sertifikat yang tepat. Secara default, wget akan melakukan kesalahan ketika sertifikat tidak valid.

[dilindungi email]: ~ # wget https://expired.badssl.com/
–2020-02-23 11: 24: 59– https://expired.badssl.com/
Menyelesaikan expired.badssl.com (expired.badssl.com) … 104.154.89.105
Menghubungkan ke expired.badssl.com (expired.badssl.com) | 104.154.89.105 |: 443 … terhubung.
GALAT: tidak dapat memverifikasi sertifikat expired.badssl.com, dikeluarkan oleh ‘CN = COMODO RSA Domain Validasi Server Aman CA, O = COMODO CA Limited, L = Salford, ST = Greater Manchester, C = GB’:
Sertifikat yang diterbitkan telah kedaluwarsa.
Untuk terhubung ke expired.badssl.com dengan tidak aman, gunakan `–tidak ada-periksa-sertifikat ‘.

Contoh di atas adalah untuk URL tempat sertifikat berakhir. Seperti yang Anda lihat, disarankan menggunakan –no-check-sertifikat yang akan mengabaikan validasi sertifikat apa pun.

[dilindungi email]: ~ # wget https://untrusted-root.badssl.com/ –no-check-sertifikat
–2020-02-23 11: 33: 45– https://untrusted-root.badssl.com/
Mengatasi untrusted-root.badssl.com (untrusted-root.badssl.com) … 104.154.89.105
Menghubungkan ke untrusted-root.badssl.com (untrusted-root.badssl.com) | 104.154.89.105 |: 443 … terhubung.
PERINGATAN: tidak dapat memverifikasi sertifikat untrusted-root.badssl.com, dikeluarkan oleh ‘CN = BadSSL Otoritas Sertifikat Akar Tak Terstruktur, O = BadSSL, L = San Francisco, ST = California, C = US’:
Sertifikat yang ditandatangani sendiri ditemui.
Permintaan HTTP terkirim, menunggu respons … 200 OK
Durasi: 600 [teks / html]
Menyimpan ke: ‘index.html.6’

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

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

[dilindungi email]: ~ #

Keren, bukan?

Header Respons HTTP

Lihat tajuk respons HTTP dari situs tertentu di terminal.

Menggunakan -S akan mencetak header, seperti yang Anda lihat di bawah ini Coursera.

[dilindungi email]: ~ # wget https://www.coursera.org -S
–2020-02-23 11: 47: 01– https://www.coursera.org/
Menyelesaikan www.coursera.org (www.coursera.org) … 13.224.241.48, 13.224.241.124, 13.224.241.82, …
Menghubungkan ke www.coursera.org (www.coursera.org) | 13.224.241.48 |: 443 … terhubung.
Permintaan HTTP terkirim, menunggu respons…
HTTP / 1.1 200 OK
Jenis-Konten: teks / html
Panjang Konten: 511551
Koneksi: tetap hidup
Kontrol Cache: pribadi, tanpa cache, tanpa penyimpanan, harus divalidasi ulang, maks-usia = 0
Tanggal: Minggu, 23 Feb 2020 11:47:01 GMT
etag: W /"7156d-WcZHnHFl4b4aDOL4ZSrXP0iBX3o"
Server: utusan
Set-Cookie: CSRF3-Token = 1583322421.s1b4QL6OXSUGHnRI; Max-Age = 864000; Kedaluwarsa = Rabu, 04 Mar 2020 11:47:02 GMT; Path = /; Domain = .coursera.org
Set-Cookie: __204u = 9205355775-1582458421174; Max-Age = 31536000; Kedaluwarsa = Senin, 22 Feb 2021 11:47:02 GMT; Path = /; Domain = .coursera.org
Ketat-Transport-Security: max-age = 31536000; includeSubDomains; preload
X-Content-Type-Options: nosniff
x-coursera-render-mode: html
x-coursera-render-versi: v2
X-Coursera-Request-Id: NCnPPlYyEeqfcxIHPk5Gqw
X-Coursera-Trace-Id-Hex: a5ef7028d77ae8f8
x-utusan-layanan-hulu-waktu: 1090
X-Frame-Options: SAMAORIGIN
x-powered-by: Express
X-XSS-Perlindungan: 1; mode = blok
X-Cache: Miss from cloudfront
Via: 1.1 884d101a3faeefd4fb32a5d2a8a076b7.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: LHR62-C3
X-Amz-Cf-Id: vqvX6ZUQgtZAde62t7qjafIAqHXQ8BLAv8UhkPHwyTMpvH617yeIbQ ==
Durasi: 511551 (500K) [teks / html]

Memanipulasi Agen Pengguna

Mungkin ada situasi di mana Anda ingin menghubungkan situs menggunakan agen pengguna khusus. Atau agen pengguna browser tertentu. Ini bisa dilakukan dengan menentukan –user-agent. Contoh di bawah ini untuk agen pengguna sebagai MyCustomUserAgent.

[dilindungi email]: ~ # wget https://gf.dev –user-agent ="MyCustomUserAgent"

Header Tuan Rumah

Saat aplikasi masih dalam pengembangan, Anda mungkin tidak memiliki URL yang tepat untuk mengujinya. Atau, Anda mungkin ingin menguji instance HTTP individual menggunakan IP, tetapi Anda harus menyediakan header host agar aplikasi berfungsi dengan baik. Dalam situasi ini, – header akan bermanfaat.

Mari kita ambil contoh pengujian http://10.10.10.1 dengan header host sebagai application.com

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

Bukan hanya host, tetapi Anda bisa menyuntikkan header apa pun yang Anda suka.

Terhubung menggunakan Proxy

Jika Anda bekerja di lingkungan DMZ, Anda mungkin tidak memiliki akses ke situs Internet. Tetapi Anda dapat memanfaatkan proxy untuk terhubung.

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

Jangan lupa untuk memperbarui $ PROXYHOST: variabel PORT dengan variabel aktual.

Terhubung menggunakan protokol TLS tertentu

Biasanya, saya akan merekomendasikan menggunakan OpenSSL untuk menguji protokol TLS. Tapi, kamu juga bisa menggunakan wget.

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

Hal di atas akan memaksa wget untuk terhubung melalui TLS 1.2.

Kesimpulan

Mengetahui perintah yang diperlukan dapat membantu Anda di tempat kerja. Saya harap penjelasan di atas memberi Anda gagasan tentang apa yang dapat Anda lakukan dengan 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