10 نمونه فرمان wget برای کمک به شما در رفع عیب یابی

یكی از نرم افزارهای متداول كه توسط sysadmin استفاده می شود wget است. در هنگام عیب یابی در رابطه با وب می تواند بسیار مفید باشد.


دستور wget چیست؟?

دستور wget یک ابزار محبوب خط فرمان Unix / Linux برای واکشی مطالب از وب است. استفاده رایگان است و روشی غیر تعاملی برای بارگیری پرونده ها از وب فراهم می کند. دستور wget از پروتکل های HTTPS ، HTTP و FTP خارج از کادر پشتیبانی می کند. علاوه بر این ، می توانید از پروکسی HTTP با آن نیز استفاده کنید.

چگونه به شما کمک می کند تا عیب یابی کنید?

راه های زیادی وجود دارد.

به عنوان یک sysadmin ، بیشتر اوقات ، شما روی یک ترمینال کار می کنید و در هنگام عیب یابی مشکلات مربوط به برنامه وب ، ممکن است بخواهید کل صفحه بلکه فقط اتصال را بررسی نکنید. یا می خواهید وب سایت های اینترانت را تأیید کنید. یا می خواهید برای تأیید محتوا صفحه خاصی را بارگیری کنید.

wget غیر تعاملی است ، به این معنی که می توانید آن را در پس زمینه اجرا کنید حتی هنگامی که از سیستم خارج شدید. موارد بسیاری وجود دارد که حتی در هنگام بازیابی فایل از وب ، بتوانید از سیستم جدا شوید. در پس زمینه ، wget کار اختصاص داده شده خود را به پایان می رساند.

همچنین می توانید برای به دست آوردن کل وب سایت در دستگاه های محلی خود استفاده کنید. می تواند پیوندها را در اینجا دنبال کند XHTML و HTML صفحات برای ایجاد یک نسخه محلی. برای انجام این کار ، باید صفحه را به صورت بازگشتی بارگیری کنید. این بسیار مفید است زیرا می توانید از آن برای بارگیری صفحات یا سایتهای مهم برای مشاهده آفلاین استفاده کنید.

بیایید آنها را در عمل مشاهده کنیم. نحو wget به شرح زیر است.

wget [option] [URL]

یک صفحه وب را بارگیری کنید

بیایید سعی کنیم صفحه را بارگیری کنیم. مثال: github.com

wget github.com

اگر اتصال خوب باشد ، آن صفحه اصلی را بارگیری کرده و خروجی را به شرح زیر نشان می دهد.

[ایمیل محافظت شده]: ~ # wget github.com
URL به دلیل خط مشی HSTS به HTTPS تبدیل شد
–2020-02-23 10: 45: 52– https://github.com/
حل github.com (github.com) … 140.82.118.3
اتصال به github.com (github.com) | 140.82.118.3 |: 443 … متصل شد.
درخواست HTTP ارسال شد ، در انتظار پاسخ … 200 خوب
طول: نامشخص [متن / HTML]
ذخیره در: ‘index.html ‘

index.html [ <=> ] 131.96K –.- KB / s در 0.04s

2020-02-23 10:45:52 (2.89 MB / s) – ‘index.html ‘ذخیره شده [135126]

[ایمیل محافظت شده]: ~ #

چندین فایل را بارگیری کنید

مفید است که مجبور شوید چندین فایل را به طور همزمان بارگیری کنید. این می تواند در مورد خودکار سازی بارگیری فایل ها از طریق برخی اسکریپت ها به شما ایده دهد.

بیایید سعی کنیم پرونده های Python 3.8.1 و 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

بنابراین ، همانطور که می توانید حدس بزنید ، نحو به شرح زیر است.

wget URL1 URL2 URL3

فقط باید فضای بین URL ها را تضمین کنید.

سرعت بارگیری را محدود کنید

مفید است وقتی بخواهید بررسی کنید که چقدر زمان طول می کشد تا پرونده شما برای بارگیری در پهنای باند مختلف بارگیری شود.

با استفاده از گزینه –limit-rate ، می توانید سرعت بارگیری را محدود کنید.

در اینجا خروجی بارگیری فایل Nodejs آورده شده است.

[ایمیل محافظت شده]: ~ # 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
حل nodejs.org (nodejs.org) … 104.20.23.46 ، 104.20.22.46 ، 2606: 4700: 10 :: 6814: 162e, …
اتصال به nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … متصل شد.
درخواست HTTP ارسال شد ، در انتظار پاسخ … 200 خوب
طول: 14591852 (14M) [برنامه / x-xz]
ذخیره به:: node-v12.16.1-linux-x64.tar.xz ‘

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

2020-02-23 10:59:58 (272 MB / s) – ‘node-v12.16.1-linux-x64.tar.xz ‘ذخیره شده [14591852/14591852]

برای بارگیری فایلهای 13.92 MB ، 0.05 ثانیه طول کشید. حال ، سعی می کنیم سرعت را به 500K محدود کنیم.

[ایمیل محافظت شده]: ~ # 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
حل nodejs.org (nodejs.org) … 104.20.23.46 ، 104.20.22.46 ، 2606: 4700: 10 :: 6814: 162e, …
اتصال به nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … متصل شد.
درخواست HTTP ارسال شد ، در انتظار پاسخ … 200 خوب
طول: 14591852 (14M) [برنامه / x-xz]
ذخیره به: ‘node-v12.16.1-linux-x64.tar.xz.1 ‘

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

2020-02-23 11:00:46 (500 KB / s) – ‘node-v12.16.1-linux-x64.tar.xz.1 ‘ذخیره شده [14591852/14591852]

28 ثانیه طول می کشد تا پهنای باند کاهش یابد. تصور کنید ، کاربران شما از بارگیری کند شکایت دارند ، و می دانید پهنای باند شبکه آنها کم است. برای شبیه سازی مسئله می توانید به سرعت سعی کنید با نرخ محدود کنید.

در پس زمینه بارگیری کنید

بارگیری فایلهای بزرگ می تواند زمان یا مثال بالا را در همان جایی که می خواهید حد مجاز نرخ را نیز در نظر بگیرید. این انتظار می رود ، اما اگر نمی خواهید به پایانه خود خیره شوید?

خوب ، برای شروع wget در پس زمینه می توانید از argument -b استفاده کنید.

[ایمیل محافظت شده]: ~ # wget -b https://slack.com
ادامه در پس زمینه ، پید 25430.
خروجی برای “wget-log.1” نوشته خواهد شد.
[ایمیل محافظت شده]: ~ #

خطای گواهی را نادیده بگیرید

این کار مفید است که شما نیاز به بررسی برنامه های وب اینترانت که دارای گواهینامه مناسب نیستند. به طور پیش فرض ، هنگامی که گواهی معتبر نیست ، wget خطایی می اندازد.

[ایمیل محافظت شده]: ~ # wget https://expired.badssl.com/
–2020-02-23 11: 24: 59– https://expired.badssl.com/
حل کردن expired.badssl.com (expired.badssl.com) … 104.154.89.105
اتصال به expired.badssl.com (expired.badssl.com) | 104.154.89.105 |: 443 … متصل.
خطا: نمی توانید گواهی expired.badssl.com را صادر کنید ، صادر شده توسط ‘CN = COMODO RSA Domain Validation Secure Server CA ، O = COMODO CA Limited ، L = Salford ، ST = منچستر بزرگ ، C = GB”:
گواهی صادر شده منقضی شده است.
برای اتصال به سایت expired.badssl.com به صورت ناامن ، از “- بدون بررسی-گواهی” استفاده کنید.

مثال بالا مربوط به URL است که در آن منقضی شده است. همانطور که مشاهده می کنید ، استفاده از گواهینامه بدون چک که تصدیق اعتبار را نادیده می گیرد ، پیشنهاد کرده است.

[ایمیل محافظت شده]: ~ # wget https://untrusted-root.badssl.com/ –no-check-گواهی
–2020-02-23 11: 33: 45– https://untrusted-root.badssl.com/
حل نشدن-root.badssl.com غیر قابل اعتماد (untrusted-root.badssl.com) … 104.154.89.105
اتصال به untrusted-root.badssl.com (untrusted-root.badssl.com) | 104.154.89.105 |: 443 … متصل.
هشدار: نمی توانید گواهی غیر معتبر-root.badssl.com ، صادر شده توسط issued CN = BadSSL Untrusted Root Authority، O = BadSSL ، L = San Francisco، ST = California، C = US “را تأیید کنید:
گواهی خود امضا شده مواجه شد.
درخواست HTTP ارسال شد ، در انتظار پاسخ … 200 خوب
طول: 600 [متن / HTML]
ذخیره در: ‘index.html.6 ‘

index.html.6 100٪ [=========================================== ================================================================================================================================>] 600 –.- KB / s در 0s

2020-02-23 11:33:45 (122 مگابایت در ثانیه) – ‘index.html.6 ‘ذخیره شده [600/600]

[ایمیل محافظت شده]: ~ #

باحال است ، اینطور نیست?

هدر پاسخ HTTP

هدر پاسخ HTTP یک سایت خاص را در ترمینال مشاهده کنید.

همانطور که در زیر می بینید با استفاده از -S ، هدر چاپ می شود کورسرا.

[ایمیل محافظت شده]: ~ # wget https://www.coursera.org -S
–2020-02-23 11: 47: 01– https://www.coursera.org/
حل کردن www.coursera.org (www.coursera.org) … 13.224.241.48 ، 13.224.241.124 ، 13.224.241.82, …
اتصال به www.coursera.org (www.coursera.org) | 13.224.241.48 |: 443 … متصل.
درخواست HTTP ارسال شد ، در انتظار پاسخ…
HTTP / 1.1 200 خوب
نوع محتوا: text / html
طول مطلب: 511551
اتصال: زنده نگه دارید
کنترل حافظه پنهان: خصوصی ، بدون حافظه پنهان ، بدون فروشگاه ، باید مجدداً اعتبار ، حداکثر سنی = 0 باشد
تاریخ: خورشید ، 23 فوریه 2020 11:47:01 GMT
etag: W /"7156d-WcZHnHFl4b4aDOL4ZSrXP0iBX3o"
سرور: فرستاده
تنظیم کوکی: CSRF3-Token = 1583322421.s1b4QL6OXSUGHnRI؛ حداکثر سن = 864000؛ منقضی می شود = چهارشنبه ، 04 مارس 2020 11:47:02 GMT؛ مسیر = /؛ دامنه = .coursera.org
ست-کوکی: __204u = 9205355775-1582458421174؛ حداکثر سن = 31536000؛ منقضی می شود = دوشنبه ، 22 فوریه 2021 11:47:02 GMT؛ مسیر = /؛ دامنه = .coursera.org
حمل و نقل دقیق – امنیتی: حداکثر سن = 31536000؛ شاملSubDomains؛ پیش بارگذاری
X-Content-Type- گزینه ها: nosniff
x-courseera-rendender-mode: html
x-courseera-render-version: v2
X-Coursera-Request-Id: NCnPPlYyEeqfcxIHPk5Gqw
X-Coursera-Trace-Id-Hex: a5ef7028d77ae8f8
فرستاده x-upstream-service-time: 1090
گزینه های X-Frame: SAMEORIGIN
x-شده توسط: اکسپرس
X-XSS-Protection: 1؛ حالت = بلوک
X-Cache: Miss of the cloudfront
از طریق: 1.1 884d101a3faeefd4fb32a5d2a8a076b7.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: LHR62-C3
X-Amz-Cf-Id: vqvX6ZUQgtZAde62t7qjafIAqHXQ8BLAv8UhkPHwyTMpvH617yeIbQ ==
طول: 511551 (500K) [متن / HTML]

کاربر عامل را دستکاری کنید

ممکن است شرایطی ایجاد شود که می خواهید یک سایت را با استفاده از یک نماینده کاربر سفارشی متصل کنید. یا نماینده خاص مرورگر. این با مشخص کردن –user-agent قابل انجام است. مثال زیر برای عامل کاربر به عنوان MyCustomUserAgent است.

[ایمیل محافظت شده]: ~ # wget https://gf.dev –user-agent ="MyCustomUserAgent"

سرصفحه میزبان

هنگامی که یک برنامه هنوز در حال توسعه است ، ممکن است شما URL مناسبی برای آزمایش آن نداشته باشید. یا ، ممکن است شما بخواهید با استفاده از IP یک نمونه HTTP شخصی را آزمایش کنید ، اما برای اینکه به درستی کار کند ، باید هدر میزبان را برای برنامه تهیه کنید. در این شرایط ، – سربرگ مفید خواهد بود.

بیایید مثالی از آزمایش http://10.10.10.1 را با عنوان سرور میزبان به عنوان app.com بخواهیم

wget – header ="میزبان: برنامه.com" http://10.10.10.1

نه فقط میزبان بلکه می توانید هدرهایی را که دوست دارید تزریق کنید.

با استفاده از پروکسی وصل شوید

اگر در حال کار بر روی یک محیط DMZ هستید ، ممکن است به سایت های اینترنتی دسترسی نداشته باشید. اما می توانید از پروکسی برای اتصال استفاده کنید.

wget -e use_proxy = بله http_proxy = $ PROXYHOST: PORT http://externalsite.com

فراموش نکنید که متغیر $ PROXYHOST: PORT را با موارد واقعی به روز کنید.

با استفاده از یک پروتکل خاص TLS وصل شوید

معمولاً استفاده از OpenSSL را برای آزمایش پروتکل TLS توصیه می کنم. اما ، می توانید از wget نیز استفاده کنید.

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

موارد بالا wget را مجبور به اتصال بیش از TLS 1.2 می کند.

نتیجه

دانستن دستور لازم می تواند به شما در کار کمک کند. امیدوارم موارد فوق ایده ای راجع به آنچه می توانید با wget انجام دهید به شما می دهد.

برچسب ها:

  • لینوکس

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