ICMP リクエストに IP アドレスが含まれていることはわかっています。クライアントの MAC アドレスは ICMP 要求に含まれていますか? ping 要求に含まれるその他の情報 (ある場合) は?
3 に答える
ICMP リクエストは、インターネット経由で送信されるレイヤード パケットです。これには、ターゲットとソースの MAC アドレスを持つ Ether 層が含まれています。また、ソース IP とターゲット IP、およびいくつかのフラグが含まれる IP レイヤーも含まれています。最後に、ICMP データが含まれています。これには、タイプ、サブタイプ、チェックサム、および残りのヘッダーが含まれ、タイプとサブタイプによって異なる場合があります (たとえば、echo のコードは 8 で、reply は 0 です)。
ネットワーク パケットには多くの情報が含まれています。また、ICMP は IPv4 プロトコルの一部であるため、他のプロトコルで公式に使用することはできません。ただし、IP プロトコルは、イーサネット プロトコルとは異なるプロトコルで実行できます。
MAC アドレスは、ルーターを通過するたびに変更されます。したがって、これは決してインターネット上の送信元 IP アドレスの MAC アドレスではありません。しかし、IP アドレスは確実に含まれており、ローカル ネットワークでは、クライアントの MAC アドレスは依然として Ether 層のパケットに含まれています。
ウィキペディアには、ICMP パケットに関する読みやすい記事があります。icmp メッセージとさまざまなプロトコルと読みやすい図があります。
いくつかのライブ リクエストを確認したい場合は、wiresharkをインストールできます。これにより、すべてのネットワーク トラフィックが表示され、分析されます。とても便利でクールなツールです。
通常、IP アドレスだけからコンピュータの MAC アドレスを取得することはできません。これら 2 つのアドレスは、異なるソースから発信されています。簡単に言うと、コンピューター自体のハードウェア構成によって MAC アドレスが決まり、接続先のネットワークの構成によって IP アドレスが決まります。ただし、同じ TCP/IP ローカル ネットワークに接続されているコンピュータは、互いの MAC アドレスを判別できます。
完全な ICMP フィールドについては、RFC 792を参照してください。