I've just started to learn about how wireless network operates, and specifically 802.11 standard. I then thought about how the Linux works it out. In particular, normally when I want to send a ethernet frame over wired network, I use SOCK_RAW and "fill in the form", after which send() is invoked to write those bytes to the NIC.
However, wouldn't it be a problem with 802.11, since the frame header is of different form than Ethernet? How is it resolved then, or does the OS/wireless card do the transformation for me? Woudn't this be a problem with all applications that assumes Ethernet to be Data Link protocol?
Almost the same issue, but expressed differently: I've got a WinXP laptop, with Wireshark installed. The wireless card is Atheros something. When I try to sniff some packets from this interface, they turned out to be of Ethernet, so I'm totally lost on where the transformation happens.
Any experience? And thanks in advance.