私はプロトコルについて学び始めたばかりです。 Wiresharkでパケットを調べているときに、自分のマシンから自分のIPに送信されたARP要求に遭遇しました。パケットの詳細は次のとおりです。
No. Time Source Destination Protocol Info
15 1.463563 IntelCor_aa:aa:aa Broadcast ARP Who has 192.168.1.34? Tell 0.0.0.0
Frame 15: 42 bytes on wire (336 bits), 42 bytes captured (336 bits)
Arrival Time: Jan 7, 2011 18:51:43.886089000 India Standard Time
Epoch Time: 1294406503.886089000 seconds
[Time delta from previous captured frame: 0.123389000 seconds]
[Time delta from previous displayed frame: 0.123389000 seconds]
[Time since reference or first frame: 1.463563000 seconds]
Frame Number: 15
Frame Length: 42 bytes (336 bits)
Capture Length: 42 bytes (336 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:arp]
[Coloring Rule Name: ARP]
[Coloring Rule String: arp]
Ethernet II, Src: IntelCor_aa:aa:aa (aa:aa:aa:aa:aa:aa), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Destination: Broadcast (ff:ff:ff:ff:ff:ff)
Address: Broadcast (ff:ff:ff:ff:ff:ff)
.... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
.... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
Source: IntelCor_aa:aa:aa (aa:aa:aa:aa:aa:aa)
Address: IntelCor_aa:aa:aa (aa:aa:aa:aa:aa:aa)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Type: ARP (0x0806)
Address Resolution Protocol (request)
Hardware type: Ethernet (0x0001)
Protocol type: IP (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: request (0x0001)
[Is gratuitous: False]
Sender MAC address: IntelCor_aa:aa:aa (aa:aa:aa:aa:aa:aa)
Sender IP address: 0.0.0.0 (0.0.0.0)
Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)
Target IP address: 192.168.1.34 (192.168.1.34)
ここで、送信者のMACアドレスは私のものです(ここでは、MACアドレスを非表示にしています)。ターゲットIPは私のものです。自分のマシンがARP要求を自分に送信しているのはなぜですか?このタイプのパケットが3つ見つかりました。これらのパケットに対するARP応答はありませんでした。なぜ誰かが私にそれを説明できるでしょうか? (私のオペレーティングシステムはWindows 7です。Wi-Fiモデムに直接接続しています。接続を開始するとすぐにこれらのパケットを受け取りました。)
私も一つの提案が欲しいです。私が読んだ多くの場所で、RFCはプロトコルについての研究に十分であると述べています。 ARPでRFC 826を勉強しました。個人的にはそれだけでは不十分だと感じています。これに関する提案はありますか?プロトコルには1つ以上のRFCがありますか?プロトコルについて詳しく調べたい。誰かがこれを案内してくれますか?前もって感謝します。
この動作は、潜在的な重複IPを見つけるための非常に良い方法です。
コンピュータが応答しない場合、そのIPを持つのはコンピュータのみです。あなたのコンピュータが答えを得るならば、明らかに問題である同じIPを持つ別のコンピュータがあります。
RFCに関して、私はそれらを読むのは恐ろしいと思います。特定の問題に関する参照用にのみ使用します。私はおそらく最初から最後までたった1つ読んだことでしょう。残りはビットごとに読みました。 IMO、何かについて学ぶ最善の方法は、O'Reillyまたは類似の紙の本を手に取り、それを読むことです。
1つのプロトコルに対して複数のRFCが存在する場合があります。たとえば、IPv6には、IPv4からv6への移行メカニズムに関する10の異なるRFCがあります。隣人発見など、他にもたくさんあります。 [〜#〜] sctp [〜#〜] も4 RFCでカバーされています。
これは、IPの競合を防ぐための標準的な動作です。 RFC 5227 IPv4アドレスの競合の検出で説明されています。また、ルーターとネイバーがARPテーブルを更新して、コンピューターと通信できるようにします。
IPアドレスを持っている人に尋ねることで、IPアドレスが使用されているかどうかを判断できます。これにより、コンピュータは、競合が存在する場合、少なくともその存在をログに記録できます。
コンピュータが169.254.0.0/16アドレスブロックを使用して機能するために自動IPアドレス構成を使用できるようにするのは、このメカニズムです。コンピューターはこの範囲のアドレスを生成し、APRを使用して、それが使用可能かどうかを確認します。そうでない場合、利用可能なアドレスが見つかるまで、他のアドレスを試します。ネットワークは通常小さく、アドレス範囲は65000を超えるアドレスをカバーしているため、アドレスをすばやく見つけることができます。
arpwatch
ユーティリティは、arpメッセージに基づいてデータベースを構築します。これは、アドレスが競合しているか、新しいハードウェアに移動されているかどうかを管理者に通知するために使用できます。