0
0

UnknownHostExceptionsを発生させる

Posted at

初めに

この記事では、意図的に UnknownHostException を発生させる環境を作り出す方法について調査した結果を共有します。これにより、ネットワーク設定やDNSに関連する例外が発生する状況を再現できます。

手順

1. JavaでS3へのファイル配置プログラムの作成

以下は、S3バケットにファイルをアップロードするシンプルなJavaプログラムです。UnknownHostException を発生させる実験に使用します。

try {
        var filename = //ファイル名
        var region = //AWSのRegion
        var bucket = //バケット名
        S3Client s3 = S3Client.builder().region(region).build();
        PutObjectRequest putOb = PutObjectRequest.builder().bucket(bucket).key(filename).build();
        s3.putObject(putOb, RequestBody.empty());
    } catch (Exception e){
        e.printStackTrace();
    }

このプログラムは、指定されたS3バケットに対してファイルをアップロードします。後述する手順でDNS設定を変更し、UnknownHostException を発生させます。

2. WidnwosPCのDNSを設定する

  1. [設定] ⇒ [ネットワークとインターネット] ⇒ [Wi-Fi] ⇒ [アダプターのオプションを変更する] に移動します
  2. 使用しているネットワークアダプターのプロパティを開き、[インターネットプロトコルバージョン4 (TCP/IPv4)] を選択してプロパティを開きます
    image.png
  3. [次のDNSサーバーのアドレスを使う] を選択し、存在しないDNSサーバーのIPアドレスを入力します。これにより、ネットワークが正しいDNSにアクセスできなくなり、エラーが発生します
    image.png

まとめ

この手順を使用して、意図的に UnknownHostException を発生させることができました。このエラーは、DNSが正しく解決できない場合に発生しますが、他にもネットワーク設定やサーバーの応答に問題がある場合にも発生します。ネットワークやDNS周りの問題を再現したい場合に、この方法が有効です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0