3000文字Tips - 知ると便利なTipsをみんなへ届けよう の参加記事です。
タイトル通りです。
同じようなことはこのサイトでも可能です。
しかし、IP制限されているサーバーの場合、こういった外部サイトでは取得できません。
そのため、手元で試す方法を調べました。
環境
$ node -v
v13.11.0
$ npm -v dns
6.13.7
結論
ドメイン名→IPアドレス (v4)
const dns = require("dns");
const dnsPromises = dns.promises;
dnsPromises.lookup("google.com").then(({ address, family }) => {
console.log("address: %j family: IPv%s", address, family);
// address: "172.217.25.110" family: IPv4
});
ドメイン名→IPアドレス (v6)
const dns = require("dns");
const dnsPromises = dns.promises;
const options = {
family: 6,
hints: dns.ADDRCONFIG | dns.V4MAPPED,
};
dnsPromises.lookup("google.com", options).then((result) => {
console.log("address: %j family: IPv%s", result.address, result.family);
// address: "::ffff:216.58.220.142" family: IPv6
});