Friday, May 21, 2021

Sending raw 802.11 frames

So this is a question about networking but also about C and Linux so I don't know if this is the right place.

What I've got so far: A C program using raw sockets to send frames and a beacon frame copied from wireshark with changed SSID.

I have several questions.

First: Do I need to be in monitor mode to do packet injection? I believe aireplay-ng does packet injections in monitor mode but I noticed that the mac address of interfaces in monitor mode changes and my C program gets the wrong mac address (with the SIOCGIFHWADDR ioctl). There is also a permaddr listed but that doesn't work either.

Second: When I send the frame with hardcoded mac address through a monitor mode interface the packet shows up in wireshark but not on the list of available access points on my computer or phone etc. Do I have to change anything else than the SSID in the frame i copied?

I am not trying to build a practical program or library for packet injection. I am only interested in the low level/learning experience and therefor don't use any libraries for this.



No comments:

Post a Comment