در این آموزش به چند دستورکاربردی شبکه در لینوکس می پردازیم که برای عیب یابی شبکه سیستم عامل لینوکس موردنیاز و کاربردی خواهد بود.
این دستور یک درخواست echo یا چاپ به پروتکل ICMP سروری که در دستور IP یا آدرس آن را مشخص می کنید می فرستد و بسته های داده را هم می فرسد. در صورتی که بسته ها دریافت شوند، آن ها را باز پس می فرستد و مشخص می کند که اتصال برقرار است و مدت زمان این رفت و برگشت را نشان خواهد داد.
در این بخش خط اول کد و خطوط بعدی خروجی کد می باشد. مثال:
# ping 192.168.1.5
PING 192.168.1.2 (192.168.1.5) 56(84) bytes of data.
۶۴ bytes from 192.168.1.5: icmp_seq=1 ttl=64 time=0.150 ms
۶۴ bytes from 192.168.1.5: icmp_seq=2 ttl=64 time=0.140 ms
۶۴ bytes from 192.168.1.5: icmp_seq=3 ttl=64 time=0.123 ms
لطفا با این موضوع توجه داشته باشید که دستور ping راه قابل اطمینانی برای آزمایش اتصال شبکه نیست. زیرا بسیاری از سرور های موجود در سطح اینترنت به طور پیش فرض بسته های echo ICMP را مسدود می کنند. بنابراین در صورتی که یک سرور به دستور ping پاسخ ندهد همیشه به این معنی نخواهد بود که در دسترس نیست.
دستور NetStat مخفف Network Statistic می باشد که برای نمایش اطلاعات آماری مانند اتصالات شبکه و جداول مسیریابی(routing) استفاده می شود.
netstat -tunlp | less
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp ۰ ۰ ۰.۰.۰.۰:۲۲ ۰.۰.۰.۰:* LISTEN ۱۵۵۰۱/sshd
tcp ۰ ۰ ۰.۰.۰.۰:۸۰ ۰.۰.۰.۰:* LISTEN ۲۹۷۰۹/httpd
پارامتر های این دستور عبارت اند از:
u- : لیست تمام پورت های udp
n- : نمایش آدرس های عددی هاست.
l- : نمایش listening sockets.
p- : نمایش PID و عنوان هر برنامه و سوکتی که به آن تعلق دارد.
این دستور یک ابزار عیب یابی شبکه است که تعداد گام یا نود هایی که بسته برای رسیدن مقصد از آن ها عبور می کند و مدت زمان طی شدن برای رسیدن بسته به مقصد را نشان می دهد.
# traceroute 192.168.1.3
traceroute to 192.168.1.3 (192.168.1.3), 30 hops max, 60 byte packets
۱ ۱۹۲.۱۶۸.۱.۳ (۱۹۲.۱۶۸.۱.۳) ۰.۴۹۱ ms ۰.۴۰۱ ms ۰.۴۳۲ ms
با این دستور می توانیم HostName فعلی سرور را مشاهده کنیم و همچنین یک هاست نیم برای سرور بگذاریم و یا هاست نیم فعلی سرور را تعویض کنیم.
# hostname
ezhost.ir
برای ست کردن هاست نیم جدید می توانید از این دستور استفاده کنید.
#sudo hostname new-ezhost.ir
یک ابزار شبکه است که برای نمایش و یا اصلاح جدول مسیریابی (Routing) مورد استفاده قرار می گیرد.
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
۱۹۲.۱۶۸.۱.۰ * ۲۵۵.۲۵۵.۲۵۵.۰ U ۰ ۰ ۰ eth0
link-local * ۲۵۵.۲۵۵.۰.۰ U ۱۰۰۲ ۰ ۰ eth0
default ۱۹۲.۱۶۸.۱.۱ ۰.۰.۰.۰ UG ۰ ۰ ۰ eth0
برای ایجاد یک route جدید می توانید از این دستور استفاده کنید.
# route add -net 172.0.0.0 netmask 255.255.255.0 dev eth0
همچنین برای حذف route از این دستور استفاده کنید.
# route del -net 172.0.0.0 netmask 255.255.255.0 dev eth0
برای حذف Default Gateway و اضافه کردن یک Gateway جدید از این دستور استفاده کنید.
# route delete default gw 192.168.1.1 eth0
# route add default gw 192.168.10.254 eth0
DIG مخفف عبارت domain information groper یک ابزار عیب یابی است که بیشتر برای پرس و جو از اطلاعات مربوط به DNS مانند A Record, NS,MX, CNAME ,… استفاده می شود.
# dig google.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.4 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25916
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. ۱۰۶ IN A ۲۱۶.۵۸.۲۱۶.۷۸
;; AUTHORITY SECTION:
google.com. ۳۳۹۵۹ IN NS ns4.google.com.
google.com. ۳۳۹۵۹ IN NS ns3.google.com.
google.com. ۳۳۹۵۹ IN NS ns2.google.com.
google.com. ۳۳۹۵۹ IN NS ns1.google.com.
;; ADDITIONAL SECTION:
ns3.google.com. ۲۰۶۸۱۶ IN A ۲۱۶.۲۳۹.۳۶.۱۰
ns4.google.com. ۲۰۶۸۱۶ IN A ۲۱۶.۲۳۹.۳۸.۱۰
ns2.google.com. ۲۰۶۸۱۶ IN A ۲۱۶.۲۳۹.۳۴.۱۰
ns1.google.com. ۲۰۶۸۱۶ IN A ۲۱۶.۲۳۹.۳۲.۱۰
;; Query time: 0 msec
;; SERVER: 209.135.140.42#53(209.135.140.42)
;; WHEN: Sun Mar ۵ ۱۸:۳۷:۲۱ ۲۰۱۷
;; MSG SIZE rcvd: 180
امیدوارم این دستورات برای شما مفید واقع شود. البته این دستورات به صورت خلاصه بیان شد و هرکدام دارای بخش های مختلفی می باشند که در یک مطلب نمی گنجد.
با جستجو می توانید زیر دستور های آن ها را مشاهده و تست کنید.