1

My program is sending custom 802.11 frames for WPA handshake, like authentication, association or acknowledgement. Yet the operating resend the same packet with modifying its radiotapheader and removing the FCS. A screenshot from wireshark:

enter image description here

the ack and auth packets are 40 and 60 bytes in length. Yet they are resent automatically by linux OS. OS modifies the packet header as can be seen below. This is the original radiotap header flags:

enter image description here

This is the header of the modified and the one sent by the OS.

enter image description here

It sets data retries and TX flags... So the resulting header size shrink by 13... Also it removes the 4 byte Frame Check Sequence at the end of the frame so in total 17 bytes are removed as seen in the wireshark picture. Now, why does my OS send the same packet by modifying its radiotap headers and possibly setting TX to failed like below? How do I prevent this?

Also this is one of the resent packet's log on wireshark. It was a ack packet, it shows like this. I capture these from the same adapter the packets gets sent from.

Frame 552: 23 bytes on wire (184 bits), 23 bytes captured (184 bits) on interface wlan1, id 0
Radiotap Header v0, Length 13
    Header revision: 0
    Header pad: 0
    Header length: 13
    Present flags
        Present flags word: 0x00028004
    Data Rate: 1.0 Mb/s
    TX flags: 0x0001, Fail
    data retries: 0
802.11 radio information
    PHY type: 802.11b (HR/DSSS) (4)
    Data rate: 1.0 Mb/s
    [Duration: 176µs]
        [Expert Info (Warning/Assumption): No preamble length information was available, assuming short preamble.]
        [Preamble: 96µs]
IEEE 802.11 Acknowledgement, Flags: ........
1
  • I tried this both on ubuntu and kali linux.. same thing...
    – C.Unbay
    Commented Apr 24 at 10:38

0

You must log in to answer this question.

Browse other questions tagged .