دستورات کاربردی برای ساخت سرور پیغام رسان خط فرمانی و پاک کردن بسته های نامطلوب در لینوکس
در این پست ما ۶ دستور خط فرمان را معرفی خواهیم کرد که با استفاده از دستور Netcat یک چت سرور لینوکس را ایجاد کنید و حذف بسته های نامطلوب از Debian و CentOS، دریافت IP محلی و خارجی از خط فرمان، دریافت خروجی رنگی در ترمینال و رمزگشایی کد رنگ های مختلف و در آخر استفاده از تگ های هش در خط فرمان لینوکس. آنها را یک به یک بررسی می کنیم.
۱. ساخت چت سرور خط فرمانی
حتما شما با نرم افزارهای چت و خانواده ی آنها آشنا هستید.آیا می دانستید با دستور nc می توانید خط فرمان لینوکس خود به یک سرور چت تبدیل کنید.
دستور nc در لینوکس چیست و چه کاری انجام می دهد؟
nc یک زیر شاخه از دستور netcat در لینوکس است.ابزار nc مانند یک چاقوی ارتش سوئیس می ماند و بر اساس تعداد قابلیت های ساخته شده در آن نامگذاری شده است.این ابزار به عنوان ابزار اشکال زدایی، ابزار تحقیق، خواندن و نوشتن در اتصال به شبکه با استفاده از TCP / UDP، بررسی DNS forward/reverse استفاده می شود.
این دستور به وضوح برای اسکن پورت، انتقال فایل، گوش دادن به backdoor و پورت استفاده می شود. nc توانایی استفاده از هر پورت غیرمستقیم محلی و آدرس منبع شبکه محلی را دارد.
با استفاده از دستور nc (در سرور با آدرس IP: 192.168.0.7) یک سرور پیام رسانی خط فرمان ایجاد کنید.
1 |
$ nc -l -vv -p 11119 |
توضیح سوئیچ های دستور بالا
-v : اجرا با جزئیات
-vv :جرا با جزئیات بیشتر
-p : پورت داخلی
شما می توانید 11119 را با هر شماره دیگر پورت محلی جایگزین کنید.
بعد در دستگاه کاربر (IP : 192.168.0.15) دستور زیر را برای اتصال چت به دستگاه (که در آن سرور پیام در حال اجرا است) اجرا کنید.
1 |
$ nc 192.168.0.7 11119 |
توجه داشته باشید: شما می توانید اتصال چت را با فشردن کلید ctrl + c و همچنین چت nc به سرویس یک به یک پایان دهید.
۲. جمع مقادیر عددی یک جدول در لینوکسی
چگونگی جمع کردن مقادیر عددی یک ستون، تولید شده به عنوان خروجی یک دستور، در ترمینال
خروجی فرمان ls -l.
1 |
$ ls -l |
توجه داشته باشید که ستون دوم عددی که نشان دهنده تعداد لینک های نمادین است و ستون ۵ عددی که نشان دهنده اندازه فایل است.
محتوای ستون ۵ را بدون چاپ هر چیز دیگری فهرست کنید. ما برای این کار از دستور awk استفاده خواهیم کرد. $ 5 نشان دهنده ستون ۵ است.
1 |
$ ls -l | awk '{print $5}' |
اکنون از awk برای چاپ مجموع خروجی ستون ۵ با استفاده از pipelining استفاده کنید.
1 |
$ ls -l | awk '{print $5}' | awk '{total = total + $1}END{print total}' |
۳. چگونگی حذف بسته های بی ریشه (Orphan) در لینوکس
بسته های یورفین بسته هایی هستند که به عنوان وابستگی بسته ی دیگری نصب می شوند و زمانی که بسته ی اصلی حذف می شود دیگر نیازی به آنها نیست. پس بعد از حذف بسته بایستی این بسته ها را برای بهبود عملکرد سیستم پاک کنیم.
1 |
# yum autoremove [On RedHat Systems] |
1 |
# apt-get autoremove [On Debian Systems] |
۴.نحوه دریافت آدرس IP محلی و عمومی سرور لینوکس
برای دریافت آدرس IP محلی شما اسکریپت زیر را اجرا کنید.
1 |
$ ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d: |
می دانیم که دستور ifconfig برای نمایش آدرس IP محلی کافی است. اما ifconfig مقدار زیادی خروجی دیگر تولید می کند و ما فقط می خواهیم آدرس IP محلی را نمایش دهیم و نه هیچ چیز دیگری.
1 |
# ifconfig | grep "inet addr:" |
۵.چگونگی رنگی کردن خط فرمان
شما ممکن است خروجی های رنگی را در ترمینال دیده باشید. همچنین می توانید که خروجی رنگی را در ترمینال فعال یا غیرفعال کنید. برای این کار مراحل زیر را دنبال کنید.
در لینوکس هر کاربر یک فایل ‘.bashrc’ دارد، این فایل برای رسیدگی به خروجی ترمینال شما استفاده می شود. این فایل را با انتخاب ویرایشگر خود باز کنید و ویرایش کنید. توجه داشته باشید که این فایل پنهان است (نقطه شروع فایل به معنی پنهان است).
1 |
$ vi /home/$USER/.bashrc |
مطمئن شوید که خطوط زیر توضیح داده نشده است. یعنی با # شروع نمی شود.
1 2 3 4 5 6 7 8 9 |
if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dirc$ alias ls='ls --color=auto' #alias dir='dir --color=auto' #alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi |
اکنون فایل ها و پوشه ها در رنگ های مختلف بر اساس نوع فایل ذکر شده است. برای رمزگشایی کد رنگ، دستور زیر را اجرا کنید.
1 |
$ dircolors -p |
از آنجا که خروجی بیش از حد طولانی است، اجازه می دهد خروجی را با فرمان کمتری تولید کنیم تا بتوانیم یک صفحه را در یک زمان نمایش دهیم.
1 |
$ dircolors -p | less |
۶. چگونه می توانم دستورات لینوکس و اسکریپت ها را تایپ کنیم
ما از تگ های هش در توییتر، فیس بوک و گوگل پلاس استفاده می کنیم (ممکن است بعضی مکان های دیگر، متوجه نشود). این برچسب های هش دیگران را برای جستجوی تگ های هش آسان تر می کند. تعداد کمی از ما می دانیم که می توان از تگ های هش در Linux Command Line استفاده کنیم.
ما می دانیم که # در فایل های پیکربندی و اکثر زبان های برنامه نویسی به عنوان خط اطلاعات و یا نکته استفاده می شود و از اجرا شدن محرومند.
یک فرمان را اجرا کنید و سپس یک تگ هش از دستور ایجاد کنید تا بتوانیم آن را بعدا پیدا کنیم. ما یک اسکریپت طولانی داریم که در بند 4 اعدام شده است. برای این یک برچسب هش ایجاد کنید. ما می دانیم ifconfig را می توان توسط sudo یا root کاربر اجرا کرد و به این ترتیب به عنوان ریشه عمل می کند.
1 |
# ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d: #myip |
اسکریپت بالا با هش ‘myip’ برچسب گذاری شده است. در حال حاضر برای تگ هش درreverse-i-serach (کلید CTRL + R)، در ترمینال و نوع ‘myip’ را جستجو کنید. شما همچنین می توانید آن را از آنجا اجرا کنید.
شما می توانید تگ های هش را برای هر فرمان ایجاد کنید و بعدا با استفاده ازreverse-i-search آن را جستجو کنید.
منبع : Tecmint.com
کاری از تیم : Tecmint.ir