ホームページ > ウェブフロントエンド > フロントエンドQ&A > nodejsネットワークセグメント変換

nodejsネットワークセグメント変換

WBOY
リリース: 2023-05-27 19:46:37
オリジナル
718 人が閲覧しました

ネットワーク通信において、IPアドレスは非常に重要な情報です。 IP アドレスには IPv4 と IPv6 の 2 種類があり、IPv4 は 32 ビットのアドレス形式を使用し、IPv6 は 128 ビットのアドレス形式を使用します。実際のアプリケーションでは、多くの場合、IP アドレスをネットワーク セグメントに分割して変換する必要があります。この記事では、nodejsを使ってIPv4アドレスをネットワークセグメントに分割・変換する方法を紹介します。

1. IP アドレスの形式

IPv4 アドレスでは、IP アドレスの形式は、ドットで区切られた 8 桁の 2 進数の 4 つのグループで構成されます。 「192.168.1.1」など。 IPv6 アドレスでは、IP アドレスの形式は 16 桁の 2 進数の 8 つのグループで構成され、各グループはコロンで区切られます。たとえば、「2001:0db8:85a3:0000:0000:8a2e:0370:7334」です。

2. IP アドレスのサブネット マスク

IP アドレスのサブネット マスクは、IP アドレスが配置されているネットワーク セグメントを示すために使用され、32 ビットの 2 進数です。このうち、1ビットがネットワーク番号、0ビットがホスト番号を表します。

たとえば、IP アドレス 10.0.0.0 のサブネット マスクが 255.255.255.0 の場合、その IP アドレスが存在するネットワーク セグメントは 10.0.0.0/24 であることを意味します。つまり、ネットワーク番号は 10.0.0、ホスト番号は 3 番目の 8 桁の 2 進数です。さらに、CIDR 表現など、サブネット マスクの表現は他にも多数あります。

3. nodejs の ipaddr モジュール

nodejs の ipaddr モジュールは、IPv4 および IPv6 アドレスを解析して変換するメソッドを提供し、ネットワーク セグメントの分割と変換も簡単に行うことができます。

1. ipaddr モジュールをインストールする

npm install ipaddr コマンドを使用して ipaddr モジュールをインストールします。このモジュールは、プロジェクト フォルダーの下の node_modules フォルダーにあります。

2.ipaddr モジュールの導入

ipaddr モジュールを使用する必要があるファイルで、const ipaddr = require('ipaddr.js') コマンドを使用して ipaddr モジュールを導入します。

3. IP アドレスを ipaddr オブジェクトに変換する

ipaddr.parse() メソッドを使用して、IPv4 および IPv6 アドレスを ipaddr オブジェクトに変換します。

たとえば、「192.168.1.1」を ipaddr オブジェクトに変換するには、次のコードを使用できます:

const ip = ipaddr.parse('192.168.1.1');

4. IP アドレスのタイプを確認します。

ipaddr.IPv4.isValid() メソッドと ipaddr.IPv6.isValid() メソッドを使用して、IP アドレスが IPv4 アドレスであるか IPv6 アドレスであるかを確認します。戻り値は true または false です。

たとえば、「192.168.1.1」が IPv4 アドレスであるかどうかを判断するには、次のコードを使用できます:

const ip = ipaddr.parse('192.168.1.1');
if(ipaddr .IPv4.isValid(ip)) {
console.log('IPv4 アドレス');
} else {
console.log('IPv4 アドレスではありません');
}

5. IP アドレスが指定された IP ネットワーク セグメント内にあるかどうかを確認します。

ipaddr.subnetMatch() メソッドを使用して、IP アドレスが指定された IP ネットワーク セグメント内にあるかどうかを確認します。このメソッドは 2 つのパラメータを受け取ります。最初のパラメータは IP アドレスで、2 番目のパラメータはクエリ対象の IP ネットワーク セグメントであり、「ネットワーク セグメント アドレス/サブネット マスク」の形式で表されます。

たとえば、「192.168.1.1」が IP ネットワーク セグメント「192.168.1.0/24」にあるかどうかを確認するには、次のコードを使用できます:

const ip = ipaddr.parse ('192.168. 1.1');
const subnet = ipaddr.parseCIDR('192.168.1.0/24');
if(ipaddr.subnetMatch(ip, subnet)) {
console.log('指定された IP ネットワーク セグメント内');
} else {
console.log('指定された IP ネットワーク セグメント内にありません');
}

6. IP を変換しますネットワーク セグメントを CIDR 表記に変換するメソッド

ipaddr.subnetMatch() メソッドを使用して、IP ネットワーク セグメントを CIDR 表記に変換します。このメソッドは 2 つのパラメーターを受け取ります。最初のパラメーターは IP ネットワーク セグメント アドレス、2 番目のパラメーターはサブネット マスクです。

たとえば、「192.168.1.0/255.255.255.0」を CIDR 表記「192.168.1.0/24」に変換するには、次のコードを使用できます:

const subnet = ipaddr。 parseCIDR( '192.168.1.0/255.255.255.0');
const cidr = subnet.toString();
console.log(cidr);

4.概要

上記の内容を通じて、IP アドレスとサブネット マスクの基本概念と、nodejs の ipaddr モジュールを使用して IPv4 アドレスをネットワーク セグメントに分割および変換する方法を学習しました。

ネットワークの急速な発展により、IP アドレスとネットワーク セグメントの管理に対する要件がさらに高まっています。この記事が、皆様が IP アドレス変換を理解して適用するのに役立つことを願っています。

以上がnodejsネットワークセグメント変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート