私は単純なクライアント サーバー アプリケーションを構築しており、ある種のブラックリスト検証を実装したいと考えていました。
現在、ファイル (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;
}
}
その後、出力はクライアントに送信され、クライアントはソケットを閉じて接続を終了します。
上記のことを簡単に行う方法があれば知りたいです。
助けていただければ幸いです。