LoginSignup
4
4

More than 5 years have passed since last update.

Node.jsでブロードキャストアドレスを取得する

Posted at

Node.jsを実行している環境でネットワークのブロードキャストアドレスを取得したかったので、やり方を調べてみました。ipモジュールを使うと簡単にできました。
参考:Stackoverflow - Get local IP address in node.js
複数のネットワークが存在することを考慮して、配列で返すようにしています。

const ip = require('ip');
const os = require('os');

function getBroadcastAddresses() {
  let ifaces = os.networkInterfaces();

  let results = []

  Object.keys(ifaces).forEach(function (ifname) {

    ifaces[ifname].forEach(function (iface) {
      if ('IPv4' !== iface.family || iface.internal !== false) {
        // skip over internal (i.e. 127.0.0.1) and non-ipv4 addresses
        return;
      }

      let broadcastAddress = ip.or(iface.address, ip.not(iface.netmask))
      results.push(broadcastAddress)
    });
  });

  return results
}
使い方
let broadcastAddress = getBroadcastAddresses()
console.log(broadcastAddress) // ['192.168.10.255'] とかが取れる
4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4