I used a packet generator called "Ostinato" to send a ping (Echo Request) packet from a Windows 7 virtual machine to a Windows 2012 virtual machine. Both virtual machines are in the same subnet. Sender (Win7) IP is 192.168.21.22. Receiver (Win2012) IP is 192.168.21.21.
I got the reply (Echo Reply) as expected. But interesting thing is - once the Win7 machine received the "Echo Reply", it will send a "Protocol Unreachable" message to the Win2012 machine.
It didn't happen if I initiated the ping from Windows command prompt. So it must be the way that the ICMP request packet was constructed. But I was not able to figure out why.
To further isolate the problem. I used PlayCap to replay the packets. Here's what I observed:
1) If the Win2012 sent the Echo Reply to Win7 (without Echo Request), it will not trigger the "Protocol Unreachable" message.
2) If the Win7 sent Echo Request to Win2012 and received a "Echo Reply" it will trigger the "Protocol Unreachable" message.
Attached is the packet capture. Anyone know why "Protocol Unreachable" was triggered? Thanks!