LoginSignup
0
0

[Linux] tracerouteのオプションごとにパケットキャプチャした

Posted at

この記事は

Linuxのtracerouteがオプションごとに
どんなパケットを投げているのか調べる

パケットの中身はtcpdumpコマンドでキャプチャし、WireSharkで閲覧する

Windowsのtracertではない

バージョン traceroute --version

tracerouteコマンドにもバージョンが存在し、今回使うバージョンはversion 2.1.0らしい

Modern traceroute for Linux, version 2.1.0
Copyright (c) 2016  Dmitry Butskoy,   License: GPL v2 or any later

オプションの種類 traceroute --help

tracerouteコマンドのヘルプを一部抜粋する
今回はオプション無しに加えて、下記3つのオプョンを試す

Options:
  -I  --icmp                  Use ICMP ECHO for tracerouting
  -T  --tcp                   Use TCP SYN for tracerouting (default port is 80)
  -U  --udp                   Use UDP to particular port for tracerouting
                              (instead of increasing the port per each probe),
                              default port is 53

次章からさっそくキャプチャの中身を見ていく

traceroute (オプション無し)

問い合わせ 応答
UDP ICMP Port unreachable

無茶苦茶なポーへのUDP問い合わせに対して、ポート到達不可の応答が返される

image.png

ICMP応答の詳細 Port unreachable

image.png

port unreachableはサーバーまで通信が出来ていますが、サーバーのポートが解放されていない時に使われます。この場合、サーバーまでパケットは届いている事が分かります。
ICMPヘッダーの構造

traceroute -U

問い合わせ 応答
UDP 53 ICMP Port unreachable
  • --helpdefault port is 80と記載があるとおりの問い合わせ
  • 応答の種類は、先ほどのオプション無しtracerouteと同じ

image.png

traceroute -T

問い合わせ 応答
TCP 80 TCP ACK
  • --helpdefault port is 80と記載があるとおりの問い合わせ
  • SYNに対するSYN/ACKまたはRST/ACKが応答として返される

相手がウェブサーバーの場合(ポート80が開いている場合)

ウェブサーバーの場合は80番ポートで実際に通信が可能であるため
通信を継続しようとする応答SYN/ACKが返ってくる

image.png

相手がウェブサーバーではない場合(ポート80が開いていない場合)

相手がウェブサーバーではない場合は、普通は80番ポートは閉まっている
そのため80番ポートとコネクションを拒否するためにリセット(RST/ACK)が返ってくる

image.png

traceroute -I

問い合わせ 応答
ICMP Request ICMP Reply

PINGによる疎通確認と同じ内容

image.png

まとめ

Linuxのtracerouteの様子をWireSharkでキャプチャした

WindowsマシンのファイアウォールではICMPに応答を返さない設定にされていることが多々ある
また、途中のファイアウォール機器によって特定ポート以外のパケットを拒否していたりすることもある

さらには、過去に自分もハマったTCPオフロードの機能のオン/オフによっては
チェックサムが無効であるとUDPのパケットが破棄されて
「Port unreachableの応答が返ってこないが、ICMPリプライとSYN/ACKは返ってくる」といったケースもある・・・その時の様子

「tracerouteから応答が返ってこない!!」など困ったときは
オプションを変更すると返ってくるかもしれない

以上

参考

糸冬了!!

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