質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
IPv4

IPv4(Internet Protocol version 4)は、インターネットプロトコルの一つ。インターネットに繋がったコンピューターや機器を識別するためのIPアドレスを32ビット表記で表わします。しかしIPv4は、限界があるため、IPv6が次世代プロトコルとして注目されています。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

解決済

2回答

3566閲覧

IPアドレスが指定範囲に含まれているか算出する方法

taharasan

総合スコア55

IPv4

IPv4(Internet Protocol version 4)は、インターネットプロトコルの一つ。インターネットに繋がったコンピューターや機器を識別するためのIPアドレスを32ビット表記で表わします。しかしIPv4は、限界があるため、IPv6が次世代プロトコルとして注目されています。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

0クリップ

投稿2021/04/24 04:55

編集2021/04/24 07:41

ターゲットとなるアドレスが開始終了の範囲内に含まれているか判断するには、
どのような方法で算出するのでしょうか?

現行はVBSで作成していますが、他の言語でも構いません。


例)
IP範囲開始: 192.168.0.1
IP範囲終了: 192.168.1.254
ターゲットIP:192.168.1.100

192.168.1.100は、192.168.0.1-192.168.1.254に含まれているか?


気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

.で分割して4つの整数にして、順に256倍しながら足して、1つの整数値にして、大小比較する。

投稿2021/04/24 07:12

otn

総合スコア84555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taharasan

2021/04/24 07:42 編集

こういうことでしょうか? 192.168.0.1 → 6039798016 192.168.1.254 → 6039923820 192.168.1.100 → 6039888896 6039888896 は 6039798016-6039923820間の為、「含まれている」 又、 192.168.2.100 → 6039954432 は「含まれない」 勘違いしていましたら指摘願います。
otn

2021/04/24 08:02

192.168.0.1 → ((192*256+168)*256+0)*256+1 → 3232235521 あるいは、 192.168.0.1 → 192*256*256*256+168*256*256+0*256+1 → 3232235521 では?どういう式で計算をしたんでしょうか?
taharasan

2021/04/24 08:14

ご丁寧にありがとうございます。 やはり勘違いしていました。 ベストアンサーにてクローズさせていただきます。
guest

0

そのIPアドレスを32ビットのバイナリに変換して、大小関係で判定すればよろしい

投稿2021/04/24 04:56

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問