リクエストを送ってXFF / X-Forwarded-For のヘッダー情報を確認する方法

こんにちはやまぱんです。

XFF / X-Forwarded-For についての検証をする際にそもそもどうやって確認するんだっけ?っていうのを調べたのでメモする。
普通はWebサーバーを立ててそこのログを見るのがセオリーな気がしますが、便利な方法がありました。

XFF / X-Forwarded-For については下記の記事を読んでください~!

こんにちはやまぱんです。 今回は XFF / X-Forwarded-For についてメモしておきます。 XFF の検証は参考に別記事にのリ...

XFF ヘッダーを付加してリクエストを送る方法

テストするために今回はXFFヘッダーを追加して httpリクエストを curl コマンドで送ります。(Windows環境でもLinux環境でも可能)

curl -H もしくは -head を利用して、HTTPヘッダにHEADERを追加もしくは変更します。

コマンド例:)

curl -H "X-Forwarded-For: 117.117" <宛先URL>

でもこれじゃ実際にヘッダーにXFFの情報がついているかが確認できません。

参考

https://qiita.com/ryuichi1208/items/e4e1b27ff7d54a66dcd9

XFF / X-Forwarded-For のヘッダー情報を確認する方法(その1)

結論からいうと、 https://httpbin.org を利用します。
Docker Image も公開されているのでローカルでも使うことができます。

GET/POSTだけでなくPUT/DELETE/PATCHのHTTPリクエストも確認することができます。
また、URLを変更することで画像のダウンロードのリクエストができたり、ステータスコードを500エラーや400エラーをサーバから返却させることもできます。
なので、エラーケースの動作を確認することもできちゃいますね。

詳細は下記のURLを見て頂ければと思います。
参考:

今回は返却結果の比較のため下記の2つのコマンドを打ちます。

$curl https://httpbin.org/get?show_env=1

$curl -H "X-Forwarded-For: 117.117" https://httpbin.org/get?show_env=1

一つ目のコマンドはXFFを追加しておらず、二つ目のコメントはXFFに ”117.117” を追加しています。

実行結果(Windows11)

*一部グローバルIPにモザイクをかけています。
以下のように117.117が追加されていることが分かります。
これでFWやLBなどを経由してここにリクエストを送ることできればこの方法でXFFの確認ができることが分かります。

XFF実行結果

実行結果(Ubuntu22.04)

Windows の結果と同じ結果になりました。
画面ショットは割愛

WindowsのcurlはInvoke-Web-RequestのaliasなのでLinuxのCurlと多少結果が異なることがあったりする認識だったけど、今回は同じでした。
(もしかしたら同じ結果になるようにだんだん近づいているのかもしれない。詳しいことはワカラン)

XFF / X-Forwarded-For のヘッダー情報を確認する方法(その2)

準備

まずはダウンロードし、権限を変更します。

wget https://github.com/kongou-ae/light-ip-echo/releases/download/v0.0.7/light-ip-echo_linux_amd64 -O light-ip-echo

アクセス権限の変更

chmod 744 light-ip-echo

確認方法

下記でWebサーバーをたてて、リクエストを投げます。
レスポンスでも確認できますし、サーバー側のログでも確認することができます。

root権限

sudo su

実行

./light-ip-echo

実行結果

今回は 単一 ubuntu サーバー内で行うため、ループバックアドレス (127.2.1.1) に対してリクエストを投げて結果を比較します。

コマンド例

curl 127.2.1.1
curl -H "X-Forwarded-For: 117.117" 127.1.1.1

レスポンスをみてるとXFFに設定の有無がきちんと確認できます。

またサーバー側では標準出力でログが出力されるのでサーバー側(今回でいえばウェブサーバーを起動したコンソール画面)でも確認可能です。

関連

こんにちはやまぱんです。 今回は Windows(IIS)でHTTPリクエストヘッダー(XFFなど)を確認する方法について書きます *関連記...
こんにちはやまぱんです。 今回は XFF / X-Forwarded-For についてメモしておきます。 XFF の検証は参考に別記事にのリ...
こんにちはやまぱんです。 今回は Curl コマンドを使ってヘッダー情報を送ってみる検証をしてみます。 理解の足りない部分があるかもしれませ...

以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする