Home
About
Contact
UnicastCacheCheckARPRequestsUnicastTargetMAC
Looks like: StandardARPRequest but with a specific MAC in Ethernet dst - expects confirmation from the specific target host.
Means: the sender is checking that an entry it already has is still correct. Linux does this routinely, and some network monitors poll this way.
Unicast cache check naming the cached MAC in Target MAC
Some network stacks fill in Target MAC since they already have an address they believe is right
Ethernet src matches Sender MAC. When it doesn’t, see UnicastCacheCheckARPRequestsUnicastTargetMACSenderMACMismatch
Both UnicastCacheCheckARPRequestsUnicastTargetMAC and UnicastCacheCheckARPRequestsBlankTargetMAC are normal. Neither ARP standard requires a value there, and a device answering a request ignores the field.
Rows:
Profile:
Ethernet dst = unicast
Ethernet src = unicast
Ethernet type = 0x0806 (ARP)
ARP Opcode = 1
ARP Sender MAC = unicast
Ethernet src matches Sender MAC = yes
ARP Target MAC = unicast
ARP Sender IP vs Target IP = different
Valid = yes
BPF filter: arp and not (ether dst ff:ff:ff:ff:ff:ff or ether dst 00:00:00:00:00:00) and not (ether src ff:ff:ff:ff:ff:ff or ether src 00:00:00:00:00:00) and arp[6:2] = 1 and not ((arp[8:4] = 0xffffffff and arp[12:2] = 0xffff) or (arp[8:4] = 0 and arp[12:2] = 0)) and ether[6:4] = arp[8:4] and ether[10:2] = arp[12:2] and not ((arp[18:4] = 0xffffffff and arp[22:2] = 0xffff) or (arp[18:4] = 0 and arp[22:2] = 0)) and arp[14:4] != arp[24:4] and arp[14:4] != 0 and arp[24:4] != 0
Wireshark display filter: arp && !(eth.dst == ff:ff:ff:ff:ff:ff || eth.dst == 00:00:00:00:00:00) && !(eth.src == ff:ff:ff:ff:ff:ff || eth.src == 00:00:00:00:00:00) && arp.opcode == 1 && !(arp.src.hw_mac == ff:ff:ff:ff:ff:ff || arp.src.hw_mac == 00:00:00:00:00:00) && eth.src == arp.src.hw_mac && !(arp.dst.hw_mac == ff:ff:ff:ff:ff:ff || arp.dst.hw_mac == 00:00:00:00:00:00) && arp.src.proto_ipv4 != arp.dst.proto_ipv4 && arp.src.proto_ipv4 != 0.0.0.0 && arp.dst.proto_ipv4 != 0.0.0.0