ARP (arp)
- Layer: L2 (data link)
- Header: 28 octets (fixed)
Reached from
| Lower layer | Selector | Value |
|---|---|---|
ethernet2 | ethertype | 2054 (0x0806) |
dot1q | ethertype | 2054 (0x0806) |
dot1ad | ethertype | 2054 (0x0806) |
snap | pid | 2054 (0x0806) |
Fields
| Field | Type | Default | Auto | Description |
|---|---|---|---|---|
htype | enum(16) | 1 (ethernet) | Hardware type (1 = Ethernet). | |
ptype | enum(16) | 2048 (ipv4) | Protocol type (EtherType, 0x0800 = IPv4). | |
hlen | uint(8) | 6 | Hardware address length in bytes (6 for Ethernet). | |
plen | uint(8) | 4 | Protocol address length in bytes (4 for IPv4). | |
oper | enum(16) | 1 (request) | Operation (1 = request, 2 = reply). | |
sha | mac | 02:00:00:00:00:01 | Sender hardware address. | |
spa | ipv4 | 192.0.2.1 | Sender protocol address. | |
tha | mac | 00:00:00:00:00:00 | Target hardware address. | |
tpa | ipv4 | 192.0.2.2 | Target protocol address. |
htype
| Value | Name |
|---|---|
| 1 (0x0001) | ethernet |
| 6 (0x0006) | ieee802 |
| 15 (0x000f) | frame_relay |
| 16 (0x0010) | atm |
ptype
| Value | Name |
|---|---|
| 2048 (0x0800) | ipv4 |
| 34525 (0x86dd) | ipv6 |
oper
| Value | Name |
|---|---|
| 1 (0x0001) | request |
| 2 (0x0002) | reply |
| 3 (0x0003) | rarp_request |
| 4 (0x0004) | rarp_reply |
| 8 (0x0008) | inarp_request |
| 9 (0x0009) | inarp_reply |
Constraints
| Level | Rule |
|---|---|
| warning | hlen = 6 |
| warning | plen = 4 |
| warning | oper within 1..2 |
Sample templates
- arp-bad-address-lengths —
templates/malformed/arp-bad-lengths.wpg.yaml - min-frame-padded —
templates/protocols/frame/min-frame-60.wpg.yaml - runt-frame-unpadded —
templates/protocols/frame/no-padding-runt.wpg.yaml - arp-gratuitous —
templates/protocols/l2/arp-gratuitous.wpg.yaml - arp-reply —
templates/protocols/l2/arp-reply.wpg.yaml - arp-request —
templates/protocols/l2/arp-request.wpg.yaml - srv6-end-dx2-hmac —
templates/protocols/srv6/srv6-end-dx2-hmac.wpg.yaml - scenario-arp-sweep-slash22 —
templates/scenarios/arp-sweep-slash22.wpg.yaml - scenario-vlan-arp-sweep —
templates/scenarios/vlan-arp-sweep.wpg.yaml