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

جریان اینه که می‌خوام آی پی خارجی شبکه رو داشته باشم. یه راه حل پرسش از سایتای خارج از شبکست. اما روتر شبکه هم حتما این اطلاعات رو داره. مساله فقط اینه که بتونم استخراجش کنم.

خوب آی پی شبکه رو میشه از روی صفحه روتر دید. این آدرس اون صفحست: ۱۹۲.۱۶۸.۱.۲۵۴/status/status_deviceinfo.htm و برای رفتن به اون صفحه هم یوزر (admin) پسورد (۱۲۳۴) می‌خواد. حالا باید یه جوری به خط فرمان بگم که این صفحه رو بخونه. برای این کار از دستور curl استفاده می‌کنم:
[bash]
curl -s admin:1234@192.168.1.254/status/status_deviceinfo.htm
[/bash]
سوییچ s می‌گه مرراحل دریافت نشون داده نشه. خروجی این دستور یه سری کد html اه. بعد باید تو خروجی دنبال IP Address بگردم. چون خود آی پی تو خط بعد از خطی که کلمه IP Address توشه، با سوییچ A1 می‌م هر جا این بود، خط بعدیش رو هم نمایش بده. تا حالا دستورمون این شده:
[bash]
curl -s admin:1234@192.168.1.254/status/status_deviceinfo.htm | grep ‘IP Address’ -A1
[/bash]
توی خروجی، آی پی تو خط آخره، پس باید خط آخر رو بکشم بیرون:
[bash]
curl -s admin:1234@192.168.1.254/status/status_deviceinfo.htm | grep ‘IP Address’ -A1
| tail -n1
[/bash]
حالا یه خط دارم که آی پی توشه، کد html هم توشه. کد html از کاراکتر > شروع می‌شه. با دستور کات می‌گم رشته ورودی رو با اون کاراکتر بشکون و فیلد اول رو برگردون:
[bash]
curl -s admin:1234@192.168.1.254/status/status_deviceinfo.htm | grep ‘IP Address’ -A1
| tail -n1 | cut -d’<' -f1 [/bash] والسلام. آی پیم رو دارم. با این که از قبل کلا می‌دونستم این دستورا هستن، بازم اونا رو با سرچ و سعی و خطا کنار هم چیدم. ولی کل فرایند ۱۰ دقیقه بیشتر ازم وقت نگرفت.

2 فکر می‌کنند “چرا گنو/لینوکس رو دوست دارم؟ چون خط فرمانش یه ابزار کامله

  1. بخاطر این ماجراجویی بهتون تبریک میگم (:

    توی مودم‌های مختلف آدرس متفاوته.
    ولی سوالی که نظرم رو جلب کرد این بود که شما برای پیدا کردن این کامند حداقل یک بار اون پیج رو با مرورگر خودتون باز کردین و چندین بار با آزمایش و خطا سعی کردین تا پروسه رو هندل کنید. در صورتیکه راه آسونترش همون چک کردن با مرورگر بود. واسه همین اسمش رو ماجراجویی گذاشتم. سو برداشت نشه. فقط خواستم بدونم چه موقع لازم میشه که یک روش کامندی رو جایگزین روش روتین کنیم؟ (:

    و باز هم ممنون

    • عارضم که قضیه فقط داشتن آی پی نبود. داشتن آی پی بخشی از یه کار بزرگتری بود که می‌خواستم با اسکرپت انجام بدم. واسه همین هم رفتم سراغ این روش.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *