Java

Java IPアドレスが指定範囲にあるかの判定

はじめに

事前に以下のライブラリを用意します。

  • Apache James
    • http://james.apache.org/download.cgi#Apache_James_2.3.2_is_the_stable_version
    • Binary (ZIP Format): james-binary-2.3.2.1.zip
  • Avalon Framework API
    • jarファイルをMaven Repositoryから取得すると使いやすいです。
    • http://mvnrepository.com/artifact/org.apache.avalon.framework/avalon-framework-api/4.3.1
    • ※”Download ( JAR ) “のリンクからダウンロード
  • Dnsjava
    • jarファイルをMaven Repositoryから取得すると使いやすいです。
    • http://mvnrepository.com/artifact/dnsjava/dnsjava/2.1.7
    • ※”Download ( JAR ) “のリンクからダウンロード

実装例

サンプルでは、動作確認しやすいようにmainメソッドで実行できるようにしてあります。

MyNetMatcher.java

import org.apache.james.util.NetMatcher;

/**
 *
 * @author tool-taro.com
 */
public class MyNetMatcher {

	public static void main(String[] args) {

		//判定したいIPアドレス
		String source = "192.168.1.5";
		//対象範囲
		String range = "192.168.1.0/24";

		//判定処理
		NetMatcher matcher = new NetMatcher();
		matcher.initInetNetworks(new String[]{range});
		boolean result = matcher.matchInetNetwork(source);
		//標準出力
		System.out.format("判定結果=%1$b", result);
	}
}

動作確認

$ javac MyNetMatcher.java
$ java MyNetMatcher
$ 変換結果=true

環境

  • 開発
    • Windows 10 Pro
    • JDK 1.8.0_74
    • NetBeans IDE 8.1
  • 動作検証
    • CentOS Linux release 7.2
    • JDK 1.8.0_74

Webツールも公開しています。
Web便利ツール@ツールタロウ

スポンサーリンク