Linuxでtracerouteを実行して見ていると、ICMPのtime exceededが返ってくるたびに宛先ポート番号が変わっている(インクリメントされている)みたいなのですが、これはどういう意図でこのようになっているのでしょうか?
例
IP 192.168.1.1.33781 > 192.168.10.0.33434: UDP, length 32
IP 192.168.1.2 > 192.168.1.1: ICMP time exceeded in-transit, length 68
IP 192.168.1.1.51585 > 192.168.10.0.33435: UDP, length 32
IP 192.168.2.2 > 192.168.1.1: ICMP time exceeded in-transit, length 68
IP 192.168.1.1.58491 > 192.168.10.0.33436: UDP, length 32
IP 192.168.3.2 > 192.168.1.1: ICMP time exceeded in-transit, length 68
No.1ベストアンサー
- 回答日時:
tracerouteが送信するUDPパケットのポート番号を変化させているのは、受信したICMP time exceedが、自分送信したどのUDPパケットに対応するものか認識する必要があるためです。
(自分がUDPパケットを送信した順番で、それぞれのUDPパケットに対応するICMP time exceed が返ってくるとは限らないため。さらにtraceroute を複数同時に動かした場合の考慮も必要です。)
どのように自分が送信したUDPと、受信したICMPの照合をとるかというと、
ICMP time exceed パケットの中には、それの原因となった
UDPパケットのIPヘッダ+UDPヘッダの先頭8バイトがコピーされている(RFC972)
ということを利用しています。つまり、tracerouteはTTLを増やしながら送信するUDPパケットヘッダの内容を色々変えながら送信しつつ、その内容を覚えておき、受信したICMPパケットにくっついていたIP/UDPヘッダと照合することで認識します。
ここで、アプリケーションが自由に変更でき、重複が発生しない程度に十分広い空間を持つフィールドは、UDPヘッダのポート番号くらいです。他のヘッダフィールドは、ほとんどいじる余地がありません(いじるとだいたい不正なパケットになってしまいます)。UDPポート番号が変化する理由はこれです。
どのように変化させているかの詳細は、tracerouteのソースコードのコメントに記載されています(参考URL)。
参考URL:http://svn.freebsd.org/viewvc/base/head/contrib/ …
回答ありがとうございます。
>自分がUDPパケットを送信した順番で、それぞれのUDPパケットに対応するICMP time exceed が返ってくるとは限らないため。
なるほど順番が違って届くことを考えていませんでした。
とてもわかりやすい解説ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 An increase in implant length (7.5 mm) did not exh 1 2022/07/20 13:43
- 英語 Length stoppers are provided in the kit and their 4 2022/04/22 00:51
- 英語 英語で「5億年ぶりに〜した」みたいな表現はありますか? 4 2023/07/05 23:28
- 英語 SPECS の所の LENGTH というのは、BARREL LENGTH なのか?全体の長さなのか? 1 2022/04/27 20:05
- 英語 No significant differences between the studied gro 5 2022/10/25 22:53
- 固定電話・IP電話・FAX 050番号で使えるIP電話アプリが、いくつか存在します。 昔、050番号で使えるIP電話アプリは、基 2 2023/03/12 11:05
- FX・外国為替取引 pine scriptのコードが動作しない 1 2023/02/01 19:03
- Windows 10 リモートデスクトップ接続 1 2022/07/12 14:30
- 統計学 生物統計学の質問 7 2022/05/17 13:59
- Android(アンドロイド) Google ではスマホの電話番号も情報が抜かれて名前など分かるのでしょうか IP アドレスもわかる 4 2022/03/30 11:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
iPhoneメールに受信拒否したメ...
-
Yahoo!メールなのですが、1日に...
-
メルカリを装った迷惑メールが...
-
0671678689は迷惑電話ですか?┐...
-
メールボムに困っています。
-
詐欺メールでしょうか?
-
+288142622612 この電話番号か...
-
詐欺メールに引っかかって免許...
-
ウイルス? マルウエア? スパ...
-
ポップアップ広告を表示しなく...
-
迷惑メールがウザいです。 メー...
-
Amazon での買い物後に来るスパ...
-
gooからのメール
-
これは「偽メール」ですか???
-
三井住友カード?これは迷惑メ...
-
ソフトバンクのメール使ってま...
-
+メッセージのフィルタについて
-
詐欺メール?。認証情報の意味...
-
誹謗中傷について 会社のメール...
-
何通連続でメールしたら迷惑メ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同セグメント内に流れているパ...
-
「239.255.255.250:1900」宛の...
-
マルチキャストのExcludeモード...
-
WindowsUpdateをするために必要...
-
ルータとブリッジの違い?
-
「IPパケットのチェックサムが...
-
tracetコマンド
-
tracerouteコマンドとポート番号
-
ルーターのセキュリティログにて
-
空きIPアドレスからパケットがくる
-
NT Kernel System(ntoskrnl.exe...
-
Tiny Personal Firewallの設定...
-
ルーターへの外部からの不正ア...
-
スイッチングハブ
-
ICMPは通るのにTCP/UDPが通らない
-
telnetの時にタイムアウトが発...
-
8個のグローバルIPをRTX1200に...
-
プライベートIPアドレスは通信...
-
友達と遊ぶ為にMinecraftの鯖を...
-
ポート開放ができるWi-Fiルータ...
おすすめ情報