توسعه وب سایت 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.143.247.50 )

بررسی باز بودن پورت IP یا یک آدرس اینترنتی

https://api.dnslab.link/IP/IsIPAndPortOpen?hostOrIPAddress={IP_or_Host}&port={Port}

برای مثال آدرس گوگل و بررسی باز بودن پورت 80

برای مثال آی پی شما ( 3.143.247.50 ) و پورت 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"
    }
]
An unhandled error has occurred. Reload 🗙