0

私は単純なクライアント サーバー アプリケーションを構築しており、ある種のブラックリスト検証を実装したいと考えていました。

現在、ファイル (blacklist.txt) から文字列を読み取り、それをソケット IP アドレスと比較する IP ブラックリスト検証が機能しています。等しい場合、クライアントは拒否されます。

私が今実装したかったのは、IP の代わりにある種のネットワーク ブラックリスト検証です。

「blacklist.txt」に 192.168.1.0/24 があるとします。192.168.1.1 から 192.168.1.255 への接続をブロックする必要がありました。

これは、現時点で IP ブラックリストの検証用に持っているコードです。

        BufferedReader reader = new BufferedReader(new FileReader("C:\\Users\\Joao\\git\\ProjectoRedes\\lists\\blacklist.txt"));
        String line = null;
        socket = server.accept();

        // Blacklist verification - Do in single thread
        while ((line = reader.readLine()) != null) {
            if (line.equals(socket.getInetAddress().toString())) {
                System.out.println("IP Blacklisted: " + socket.getInetAddress().toString());
                System.out.println("Closing connection to " + socket.getInetAddress().toString());
                PrintStream checkBlack = new PrintStream(socket.getOutputStream(),true);
                checkBlack.println("***BLACKLISTED***");
                reader.close();

                socket.close();
                break; 
            }
        }

その後、出力はクライアントに送信され、クライアントはソケットを閉じて接続を終了します。

上記のことを簡単に行う方法があれば知りたいです。

助けていただければ幸いです。

4

1 に答える 1