• توجه: در صورتی که از کاربران قدیمی ایران انجمن هستید و امکان ورود به سایت را ندارید، میتوانید با آیدی altin_admin@ در تلگرام تماس حاصل نمایید.

نكته ها و ترفندهای لینوكس

..::آبی دل::..

متخصص بخش
.مقدمه


اگر شمارههای مختلف مجلهی الکترونیکی «ایرانتاکس» را پیگیری میکنید، حتما سری مقالات با نام «نکتهها و ترفندها» را به یاد دارید. مدتی است که به دلایل مختلف این بخش فعالیت نمیکند. بر آن شدیم تا از این شماره این سر مقالات را ادامه بدهیم و در هر شماره شما را با تعدادی از دستورات جدید سیستم عامل گنو/لینوکس در قالب نکتهها و ترفندها آشنا کنیم. در این شماره شما را با چند ترفند در ابزارهای شبکه آشنا میکنیم.


1.تنطیم ip برای کارت شبکه

برای دادن یک IP به کارت شبکهی خود میتوانید از دستور ifconfig استفاده کنید. این دستور مخفف Interface Configure است. برای نمونه اگر IP کارت شبکهی شما 192.168.3.77 است و Netmask آن 255.255.255.0 است، میتوانید از این دستور استفاده کنید.




#ifconfig eth0 192.168.3.77 netmask 255.255.255.0 up

دقت کنید که کارت شبکهی ما eth0 است، در برخی از سیستمها برای نامگذاری کارت شبکه از lan0 استفاده می شود. کارت شبکهی دوم شما eth1 یا lan1 خواهد بود. اگر میخواهید کارت شبکه را غیر فعال کنید میتوانید از این دستور استفاده کنید:

#ifconfig eth0 down

دقت داشته باشید که این IP تا زمانی قابل استفاده است که شما سیستم خود را Restart نکرده باشید. پس از Restart کردن سیستم باید از ابتدا به کارت شبکهی خود IP بدهید. (برای اجرای این دستور به مجوز ریشه یا root نیاز دارید)


2.استفاده از DHCP

اگر در شبکهی شما سرویس dhcp در حال اجرا و استفاده است، برای دریافت ip از سرور dhcp نمیتوانید از ifconfig استفاده کنید و باید از دستور زیر استفاده کنید:


#dhclient eth0​


پس از چند پیغام و درخواست IP کارت شبکهی شما IP و تنطیمات شبکه را از سرور DHCP دریافت خواهد کرد. در برخی توزیعهای لینوکس dhclient با نام dhclient3 قابل دسترسی است. (برای استفاده از این دستور در اغلب توزیعها به مجوز ریشه نیاز خواهید داشت)


3.اضافه کردن Default Gateway

برای افزودن Default Gateway به تنطیمات شبکه میتانید از دستور route استفاده کنید. برای نمونه اگر Default Gateway شما 192.168.3.2 باشد به این ترتیب اقدام میکنیم:


#route add default gw 192.168.3.2​


اگر اشتباهی در وارد کردن آدرس IP رخ داده و یا دیگر به Default Gateway نیاز ندارید میتوانید کلمهی add را به del تغییر بدهید و دستور را دوباره اجرا کنید.

#route del default gw 192.168.3.2​


برای اضافه کردن و یا کاستن یک Route به جدول مسیریابی هسته نیاز به مجوز ریشه دارید.



4.دیدن جدول مسیربابی شبکه

در صورتی که به اینترنت متصل هستید ولی ارسال و دریافت ندارید یا در شبکه نمیتوانید آدرسهایی را که در subnetهای دیگر هستند ببینید ممکن است مشکل از جدول مسیر یابی هسته یا Kernel Routing Table باشد. برای دیدن این جدول کافیست از دستور route -n استفاده کنید.

برای نمونه به این دستور دقت کنید:

$route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

10.0.0.0 255.0.0.0 U 0 0 0 eth0

0.0.0.0 10.1.0.0 U 0 0 0 eth0


روش دیگر استفاده از دستور netstat -rn میباشد. دقت داشته باشید که نتایج همسان خواهد بود.


$ netstat -rn

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

10.0.0.0 255.0.0.0 U 0 0 0 eth0

0.0.0.0 10.1.0.0 U 0 0 0 eth0



در صورتی که در دستور netstat -rn گزینهی n- را استفاده نکنید، آدرسها از طریق سیستم DNS شما ترجمه میشوند.


5. دیدن کانکشنهای فعال

در صورتی که مایل به دیدن کانکشنهای فعال در سیستم خود هستید و میخواهید ببینید کدام ابزار از چه پورتی استفاده میکند میتوانید از دستور netstat -ta استفاده کنید. در این دستور به Netstat میگوییم، تمام ورودیها را نمایش بدهد. (a-) و نیز از او میخواهیم فقط کانکشنهای نوع TCP را نمایش بدهد.(t-) البته میتوانید با افزودن گزینهی u- از netstat بخواهید تا کانکشنها یا اتصالاتی را که از پروتوکل UDP استفاده میکنند را نیز نمایش دهد.

برای نمونه به خروجی دستور زیر دقت کنید:


$netstat -ta

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 diz.navid:mysql *:* LISTEN

tcp 0 0 *:sunrpc *:* LISTEN

tcp 0 0 diz.navid:1111 *:* LISTEN

tcp 1 0 201.11.44.67:45464 192.169.22.11:www CLOSE_WAIT

tcp6 0 0 *:9418 *:* LISTEN

tcp6 0 0 *:www *:* LISTEN


و مقایشه کنید با netstat -u :


netstat -ua

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

udp 0 0 *:sunrpc *:*


6. پیگیری مسیر

ممکن است تمام تنطیمات شما صحیح باشد اما نمیتوانید به آدرس خواسی دسترسی داشته باشید. در چنین مواردی میتوانید مسیری را که بستهی شما طی میکند، پیگیری یا ردگیری کنید. برای این کار از دستور traceroute استفاده میکنند. برای نمونه برای آنکه بدانید از چه مسیری به سایت irantux.com متصل میشوید کافیست این دستور را وارد کنید:


$traceroute irantux.com

traceroute to irantux.com (80.68.87.19), 30 hops max, 40 byte packets

1 210.217.29.19 (210.217.29.19) 128.340 ms 190.858 ms 114.928 ms

2 210.27.29.10 (210.27.29.10) 106.911 ms 204.885 ms 111.903 ms

3 * * *

4 81.91.128.121 (81.91.128.121) 110.924 ms 106.936 ms 364.832 ms

5 81.91.128.233 (81.91.128.233) 121.896 ms 118.867 ms 122.971 ms

6 195.146.63.209 (195.146.63.209) 339.909 ms 129.945 ms 114.943 ms

7 pos4-11.ar03.ldn01.pccwbtn.net (63.218.52.9) 277.943 ms * 284.589 ms

8 pos11-1.br02.ldn01.pccwbtn.net (63.218.12.182) 277.318 ms 277.901 ms 266.932 ms

9 linx-224-gw.rbsov.bogons.net (195.66.224.228) 276.973 ms linx-226-gw.thdo.bogons.net (195.66.226.228) 330.901 ms 257.786 ms

10 193.178.223.218 (193.178.223.218) 322.894 ms 43-242.rbsov.bogons.net (85.158.43.242) 331.905 ms 193.178.223.218 (193.178.223.218) 320.900 ms

11 43-242.rbsov.bogons.net (85.158.43.242) 324.928 ms 272.918 ms 336.950 ms

12 80.68.80.90 (80.68.80.90) 327.929 ms 324.903 ms zeus.dh.bytemark.co.uk (80.68.87.195) 405.940 ms


همان طور که مشاهده میکنید اطلاعات بسیار مفیدی برای عیبیابی در مسیر شبکه میتوان از این دستور دریافت نمود. با استفاده از خروجیهای این دستور میدانید که چند Routing Node در مسیر شما تا مقصد قرار دارد، برای رسیدن به هر نقطهی مسیریابی چقدر زمان طول میکشد و آدرس Ipهای هر نقطهی مسیریابی مشخص میشود. البته ممکن است گاهی با *** مواجه شوید که دلیل بر مشکلی نیست. فقط مسئولین شبکه در آن قسمت صلاح دیدهاند تا IP خود را به صورت عمومی اعلام نکنند.

7.تغییر آدرس MAC

در صورتی که بنا بر هر دلیل نمیخواهید از آدرس MAC حال حاضر خود استفاده کنید میتوانید به سادگی این آدرس را تغییر دهید. برای این کار نیاز به نصب هیچ برنامهی جدیدی نیست. دستور ifconfig را که به خاظر دارید. میتوانید از طریق این دستور آدرس کنونی MAC خود را بیابید. برای نمونه:




$ ifconfig eth0

eth0 Link encap:Ethernet HWaddr 00:BB:CE:13:E4:1A

inet addr:10.0.0.1 Bcast:10.255.255.255 Mask:255



همان طور که در خروجی نمونهی بالا میبینید آدرس سختافزاری کارت شبکه یا MAC آدرس برابر مقدار زیر است:

«00:BB:CE:13:E4:1A»
خوب برای تغییر آدرس MAC میتوانید، از دستور ifconfig به این ترتیب استفاده کنید:

#ifconfig eth0 hw ether 002244:55

توجه داشته باشید که قبل از اعمال تغییرات بایداز طرق دستور ifconfig eth0 down و یا ifdown eth0 کارت شبکهی مورد نظر را غیر فعال کنید. سپس MAC را تغییر بدهید و دوباره با استفاده از روشی که در قسمت 1. ذکر شد، کارت شبکه را فعال کنید. برای تغییر آدرس MAC کارت شبکه (اینترفیس شبکه) نیاز به مجوز کاربر ریشه یا root خواهید داشت.
 
بالا