چطور میتوان به آدرس DNS یک وبسایت رسید؟ چگونه از طریق خط فرمان لینوکس یا مک DNS های یک دامنه یا وبسایت را پیدا کنیم؟ با استفاده از bash چگونه این کار ممکن میشود؟ اینها سوالاتی هستند که در این مطلب قصد داریم بهشون پاسخ بدیم…
DNS مخفف عبارت “Domain Name System“ است. در واقع DNS یک سیستم نامگذاری برای همه کامپیوترها، سرورها و سایر دستگاههای آنلاین موجود در شبکه اینترنت است. فلسفه ایجاد DNS کمک به انسانها برای سهولت یادآوری آدرسهای موجود در شبکه اینترنت است. در واقع، این سرورهای DNS هستند که نامها و عبارات استفاده شده در دامنههای اینترنتی را به آدرس آیپی وبسایت مورد نظر ما ترجمه میکنند. بدین ترتیب ما میتوانیم به وبسایت مورد نظرمان دسترسی پیدا کنیم. با ما همراه باشید…
چگونه آدرس DNS یک وبسایت را پیدا کنیم؟
مراحل بررسی DNS وبسایت یا دامنه مورد نظر شما، در خط فرمان لینوکس یا Unix/macOS:
1) ترمینال را باز کنید.
2) برای بدست آوردن آدرس DNS فعلی دامنه مورد نظرتون دستور زیر را در ترمینال تایپ کنید:
host -t ns domain-name-com-here
3) راه دیگری که برای اینکار وجود دارد که استفاده از دستور زیر است:
dig ns your-domain-name
4) برای پیدا کردن delegation path دستور زیر را در ترمینال تایپ کنید:
dig +trace your-domain-name
5) دستور فوقالذکر اطلاعات مفصلی درباره نام دامنه، از جمله نیمسرورها (DNS) به شما خواهد داد.
بررسی سرورهای DNS فعلی یک دامنه:
اگر میخواهید آدرس DNS های سایتی با دامنه ariaservice.net را از طریق خط فرمان بدست بیاورید، کافیه که توی ترمینال دستور زیر را وارد کنید:
dig ns website-domain dig ns google.com dig ns ariaservice.net
خروجی دستور فوق بصورت پیشفرض آدرس DNS ها را با جزئیات کامل به شما نمایش داده میدهد. اگر میخواهید یک خروجی چکیده و خلاصه داشته باشید دستور را اینگونه بنویسید:
dig +short ns ariaservice.net
نمونه خروجی:
fay.ns.cloudflare.com. clay.ns.cloudflare.com.
برای بدست آوردن آیپی آدرسهای واقعی نیمسرورها نیز میتوانید از دستورات زیر استفاده کنید:
dig +short a fay.ns.cloudflare.com. // Output: 173.245.58.115 dig +short aaaa fay.ns.cloudflare.com. // Output: 2400:cb00:2049:1::adf5:3a73
چگونه مسیر طی شده در DNS سرورها را تریس کنیم؟
تریسینگ (Tracing) بصورت پیشفرض غیر فعال است. برای فعال کردن این قابلیت از دستور زیر استفاده کنید:
dig +trace ariaservice.net
با اجرای این دستور یک سلسله کوئریها بصورت تکراری اجرا خواهند شد تا در نهایت به آدرس DNS دامنه مورد نظر شما دستیابی حاصل شود. در واقع این دستور تمامی نتایج نیمسرورهایی که برای دستیابی به نام دامنه مورد نظر شما به آنها ارجاع شدهاست را از اولین نیمسرور تا آخرین دنبال میکند.
در صورتی که از دستور dig با فرمت زیر استفاده کنید. تنها تفاوتش در اولین کوئری اجرا شده در این حالت است. در واقع اولین نیمسرور در زنجیره نیمسرورهایی که به منظور دستیابی به نام دامنه مورد نظر شما استفاده میشود، در این دستور از پیش قابل مشخص کردن است.
dig +trace ariaservice.net @8.8.8.8
نمونه خروجی:
. 7313 IN NS a.root-servers.net. . 7313 IN NS b.root-servers.net. . 7313 IN NS c.root-servers.net. . 7313 IN NS d.root-servers.net. . 7313 IN NS e.root-servers.net. . 7313 IN NS f.root-servers.net. . 7313 IN NS g.root-servers.net. . 7313 IN NS h.root-servers.net. . 7313 IN NS i.root-servers.net. . 7313 IN NS j.root-servers.net. . 7313 IN NS k.root-servers.net. . 7313 IN NS l.root-servers.net. . 7313 IN NS m.root-servers.net. . 7313 IN RRSIG NS 8 0 518400 20191115050000 20191102040000 22545 . Z14B+vD/MKz0X1UBwu04kzwQNajhg1AflK7j5Jvd9NZac1HZ/M9xdSGN F85s/5ITxEiWWeiBhRghy9PkdOmN3ZzhzS5E8ZeIibm0DdIse+qlPNas sfmNZEsIRbXEOER98eQ+Ieb0hjOlu7Y5l6Mo3dnuyE203IxXZTmtD9QH zMRbX8gOrBnee1XYe7kxw+S2AN6BBeRHNFPHuT5nBCwWQlDVFao2ICrV 0oU97YJE7fwDNzyBgb89G++GjVKhQoM/0Bmr4D2vUAqCz7Nt9Gb28TOt A+FpA6Ax9MpjZSCH8dOvz1nytjWfRMYyF5LVGEN6oPW6BKX2fWrfhIC4 TWIfWA== ;; Received 525 bytes from 8.8.8.8#53(8.8.8.8) in 7 ms biz. 172800 IN NS a.gtld.biz. biz. 172800 IN NS b.gtld.biz. biz. 172800 IN NS c.gtld.biz. biz. 172800 IN NS e.gtld.biz. biz. 172800 IN NS f.gtld.biz. biz. 172800 IN NS k.gtld.biz. biz. 86400 IN DS 12385 8 2 AE03B95863B999FC84B725DF5C903511FF96D53825F0454CE6880987 E96F5D20 biz. 86400 IN DS 12385 8 1 E917523077754FB03308402D76144EAF0D4F6778 biz. 86400 IN DS 28450 8 1 D9C2F912C657E4005CF0C13BA55C5AAA291AEF56 biz. 86400 IN DS 28450 8 2 403F234609C56B3A221BC4CFB694948AB5DDF4A26AE17439BF1279CF C5CF21AB biz. 86400 IN RRSIG DS 8 1 86400 20191116050000 20191103040000 22545 . i3J7qFB7/r4bUrZgZg8OcjcfguFXlSWJbgSzWJyFb+04qKWOFks4HwI9 uYKbr35anabpF2DfHlwKurmO/0HN/7uRC5da5VPMild2gUiJmXKjcN73 Gx/8F3zo3fVAjNxi+/JWicUgpCAY4iKfDq21YNV1CZopAn7QPw3+OUoo Haewp4MEF0T+omyMirn1RxBbK6+P2FNFxgGysJsUUNt1yz7Ax2tR/otY DllMPu6sLhY8MvThBVXmZCrpVTXmd/+VUlim8m/BUz/E7fumnrrraFam Khf3skCrfuLlHgemOz/pugUx8qnJ3BtsQKQzsL2cAY34I3g0kA7ckC6c moAEFA== ;; Received 778 bytes from 193.0.14.129#53(k.root-servers.net) in 191 ms cyberciti.biz. 7200 IN NS clay.ns.cloudflare.com. cyberciti.biz. 7200 IN NS fay.ns.cloudflare.com. 9ivsa0gimv18nm4si1tkf2r78navcdut.biz. 86400 IN NSEC3 1 1 1 E3C15F5F 9J0FSB5H124LGRSLHHGR0RDCP0RTEF1N NS SOA RRSIG DNSKEY NSEC3PARAM 9ivsa0gimv18nm4si1tkf2r78navcdut.biz. 86400 IN RRSIG NSEC3 8 2 86400 20191203045447 20191103042210 24963 biz. wkpoTyfFje28GBCJSTzgpV3Cr0Kbknw0n+WTv8/CpXUxG5CiKAfb2qmA KRClCT5oBelSA0FE1GekCjiEWFStCrnW2JOsLsSNWA3QKf8oWPhtBjLq Ij1+YEBFDVC67b0Kdeg6ndM3OZVlb7q9Xvi3n1PIUHS3fbuNF1MyYqMu V10e1Zfn8elyC4fEtJ6YmUhsm4oxHKkhk1NIUG8FQNg0YQ== 91phatls11fhcqsue6s1v6pi3rvttmnn.biz. 86400 IN NSEC3 1 1 1 E3C15F5F 91U8FRHJGMNHK5TPH2253L6LFIU8HM5A NS DS RRSIG 91phatls11fhcqsue6s1v6pi3rvttmnn.biz. 86400 IN RRSIG NSEC3 8 2 86400 20191127183100 20191028181200 24963 biz. YbrRM0lxpgF4rhRe4rfDAMrRq4ifiM9MkIlPuV0XYEY9NpyUNAc19xoi MRqbyUl56YlKiIlrhZPzUedDdkObt3Zz4mXI5tz5DhNPE6t4l4tNEjzH hnagx8TeCLI19S3GBE3tFzlF5zC/1ccOrl2bkYIMBHXssLkJwEGaqX9B VTRGAS1JDOxE0bXG2iEZtWotzu3Jgv+zeXG0HnCALyLFmQ== ;; Received 653 bytes from 156.154.126.65#53(e.gtld.biz) in 30 ms cyberciti.biz. 300 IN A 104.20.186.5 cyberciti.biz. 300 IN A 104.20.187.5 ;; Received 74 bytes from 173.245.58.115#53(fay.ns.cloudflare.com) in 65 ms
پیدا کردن آدرس DNS یک وبسایت با استفاده از دستور host:
سینتکس استفاده از دستور host:
host -t ns domain-name-here host -t ns google.com host -t ns ariaservice.net
نمونه خروجی حاصل از اجرای:
ariaservice.net name server fay.ns.cloudflare.com. ariaservice.net name server clay.ns.cloudflare.com.
استفاده از دستور host برای بدست آوردن آیپی آدرسِ واقعیِ نیمسرور clay.ns.cloudflare.com:
host -t a clay.ns.cloudflare.com // Output: clay.ns.cloudflare.com has address 173.245.59.88 host -t aaaa clay.ns.cloudflare.com //Output: clay.ns.cloudflare.com has IPv6 address 2400:cb00:2049:1::adf5:3b58
یک نکته برای کاربران ویندوزی:
کاربران ویندوزی میتوانند برای بدست آوردن آدرس DNS مورد نظرشان روی ویندوز نسخه دسکتاپ یا سرور، از دستور nslookup در cmd استفاده کنند. همانطور که میدانید cmd را میتوانید از منوی استارت با نوشتن نامش در فیلد جستجو به راحتی پیدا کنید. نحوه استفاده از دستور nslookup نیز به فرمت زیر است:
nslookup domain-name nslookup cyberciti.biz
نمونه خروجی:
Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: cyberciti.biz Address: 104.20.187.5 Name: cyberciti.biz Address: 104.20.186.5 Name: cyberciti.biz Address: 2606:4700:10::6814:bb05 Name: cyberciti.biz Address: 2606:4700:10::6814:ba05
همچنین میتوانید به روش زیر هم از این دستور استفاده کنید:
لیستی از انواع رکوردهای DNS:
host -t a nixcraft.com // Type: A , Description: Host address host -t aaaa nixcraft.com // Type: AAAA , Description: IPv6 host address host -t alias ariaservice.net // Type: ALIAS , Description: Auto resolved alias host -t cname ariaservice.net // Type: CNAME , Description: Canonical name for an alias host -t mx google.com // Type: MX , Description: Mail eXchange host -t ns nixcraft.com // Type: NS , Description: Name Server host -t ptr 216.58.200.147 // Type: PTR , Description: Pointer host -t soa nixcraft.com // Type: SOA , Description: Start Of Authority host -t srv server1.cyberciti.biz // Type: SRV , Description: Location of service host -t txt nixcraft.com // Type: TXT , Description: Descriptive text
شما میتوانید این رکوردها را با دستورات nslookup | dig | host بکار ببرید:
نتیجهگیری:
شما در این مطلب آموزشی با دستورات nslookup | dig | host آشنا شدید. همچنین، توانستید با اجرای این دستورات اطلاعاتی را درباره آدرس DNS دامنههای اینترنتی مورد نظرتون پیدا کنید. علاوه بر این، شما الان میدانید که رکوردهای DNS انواع مختلفی دارند. با استفاده از هر کدام از این رکوردها میتوانید اطلاعات مد نظر خودتان را در مورد زیرساخت DNS یک دامنه اینترنتی مشخص بدست بیاورید. امیدواریم که این مطلب برای شما مفید واقع شده باشد.