توسعه وب سایت DNSLab
وب سایت بصورت متن باز (Open Source) در مخزن DNSLab در اختیار برنامه نویسان قرار گرفته است برای حمایت از پروژه میتونید ⭐ بدید.
DNSLab CLI's
توسعه دهندگان و کاربران همچنین میتوانند برای استفاده از API های این صفحه از این CLI که با زبان Go توسط دوست عزیزمون F . Sarmaly نوشته شده است استفاده نمایند.
راهنمای API های سایت برای توسعه دهندگان
توسعه دهندگان گرامی میتوانند از خدمات زیر بصورت رایگان استفاده نماییند
برای دریافت آی پی عمومی از این سرویس استفاده نمایند
بررسی پینگ IP یا یک آدرس اینترنتی
ساختار کلی بصورت زیر میباشد
https://api.dnslab.link/IP/Ping?hostOrIPAddress={IP_or_Host}
خروجی بصورت زیر میباشد
{
"bufferSize": 32,
"ip": "216.239.38.120",
"ttl": 104,
"time": 108,
"success": true
}
برای مثال
برای مثال آی پی شما ( 3.144.31.64
)
بررسی باز بودن پورت IP یا یک آدرس اینترنتی
https://api.dnslab.link/IP/IsIPAndPortOpen?hostOrIPAddress={IP_or_Host}&port={Port}
برای مثال آدرس گوگل و بررسی باز بودن پورت 80
برای مثال آی پی شما ( 3.144.31.64
) و پورت 80
جستجوی معکوس IP برای بدست آوردن آدرس DNS
https://api.dnslab.link/DNSLookUp/QueryReverse?IPAddress={IP}
برای مثال آدرس IP دیاناس گوگل
پرس و جو دیاناس
ساختار کلی بصورت زیر میباشد
https://api.dnslab.link/DNSLookUp/Query?Query={"query"}&queryType={"queryType"}
در اینجا query
برابر است با آدرس مورد نظر که میخواید DNS های آن را پرس و چو کنید (مانند
google.com).
و queryType
برابر است با نوع پرس و جو که در ادامه توضیح داده شده است (باید بصورت عدد صحیح
وارد شود).
برای نوع رکورد A (queryType = 1)
خروجی :
[
{
"recordType": "A",
"domainName": "dnslab.link.",
"ttl": 41,
"address": "194.147.142.136"
}
]
برای نوع رکورد AAAA (queryType = 28)
خروجی :
[
{
"recordType": "AAAA",
"domainName": "sample-aaaa.dnslab.link.",
"ttl": 41,
"address": "sample-aaaa.dnslab.link."
}
]
برای نوع رکورد NS (queryType = 2)
خروجی :
[
{
"recordType": "NS",
"domainName": "dnslab.link.",
"ttl": 20862,
"nsdName": "ns1.dnslab.link."
},
{
"recordType": "NS",
"domainName": "dnslab.link.",
"ttl": 20862,
"nsdName": "ns2.dnslab.link."
}
]
برای نوع رکورد CNAME (queryType = 5)
خروجی :
[
{
"recordType": "CNAME",
"domainName": "home.dnslab.link.",
"ttl": 60,
"canonicalName": "local.dnslab.link."
}
]
برای نوع رکورد SOA (queryType = 6)
خروجی :
[
{
"recordType": "SOA",
"domainName": "dnslab.link.",
"ttl": 60,
"expire": 86400,
"minimum": 60,
"mName": "ns1.dnslab.link.",
"refresh": 15,
"retry": 10,
"rName": "hostmaster.",
"serial": 9828
}
]
برای نوع رکورد MX (queryType = 15)
خروجی :
[
{
"recordType": "MX",
"domainName": "yahoo.com.",
"ttl": 625,
"exchange": "mta7.am0.yahoodns.net.",
"preference": 1
},
{
"recordType": "MX",
"domainName": "yahoo.com.",
"ttl": 625,
"exchange": "mta5.am0.yahoodns.net.",
"preference": 1
},
{
"recordType": "MX",
"domainName": "yahoo.com.",
"ttl": 625,
"exchange": "mta6.am0.yahoodns.net.",
"preference": 1
}
]
برای نوع رکورد TXT (queryType = 16)
خروجی :
[
{
"recordType": "TXT",
"domainName": "dnslab.link.",
"ttl": 60,
"escapedText": "google-site-verification=KAI1-4asUW3fXYa1JVxMh9w66s3-7ccKzT4sgJFysqc",
"text": "google-site-verification=KAI1-4asUW3fXYa1JVxMh9w66s3-7ccKzT4sgJFysqc"
}
]