You don't see the ethernet header because you are not capturing traffic on an Ethernet interface.
You are using the Linux cooked-mode capture. As per this answer on StackOverflow, which itself refers to The Wireshark Wiki this mode doesn't provide the link-layer header.
From the above Wiki page:
When capturing from the "any" device, or from one of those other
devices, in Linux, the libpcap doesn't supply the link-layer header
for the real "hardware protocol" like Ethernet, but instead supplies a
fake link-layer header for this pseudo-protocol.
So to get the data you want you need to capture traffic on the ethernet interface itself.