Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bertrandmartel/wlan-decoder-java
Java WLAN 802.11 decoder
https://github.com/bertrandmartel/wlan-decoder-java
Last synced: 4 days ago
JSON representation
Java WLAN 802.11 decoder
- Host: GitHub
- URL: https://github.com/bertrandmartel/wlan-decoder-java
- Owner: bertrandmartel
- License: mit
- Created: 2015-05-05T01:11:46.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-01-11T13:00:03.000Z (almost 8 years ago)
- Last Synced: 2023-03-01T16:41:58.787Z (over 1 year ago)
- Language: Java
- Homepage:
- Size: 2.05 MB
- Stars: 9
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Wlan 802.11 Decoder #
http://bertrandmartel.github.io/wlan-decoder-java/
Last update 04/05/2015
Decoder for Wlan 802.11 frame preceding with Radiotap header or not
Radiotap header are parsed with project http://bertrandmartel.github.io/pcapng-decoder-java/
All type of Wlan 802.11 frames are parsed :
* MANAGEMENT_FRAME_TYPE
* CONTROL_FRAME_TYPE
* DATA_FRAME_TYPEBut there are a few of "information element" block parsed for now (tagged parameters) :
* SSID
* HT CAPABILITIES
* SUPPORTED RATE
* TIM
* EXTENDED SUPPORTED RATE
* ERP
* DSSS PARAMETERIt lacks a lot of informations element that will be implemented later
USAGE
The following usage show how to decode a Wlan 802.11 frame preceding with Radiotap frames.
You can also decode only wlan802.11 frames if you dont have radiotap header before
First you need a pcapng file containing :
* your wlan 802.11 frames preceding with radiotap frames
* Or your wlan 802.11 frames only
You can use to parse this file
* the jnetpcap library
* my own lib in http://bertrandmartel.github.io/pcapng-decoder-java/ (pcapng-decoder-java)You dont have to take the jar to you it is already in lib folder
So basically this project use 2 external libs pcapngdecoder.jar and radiotapdecoder.jar
COMMAND LINE SYNTAX
``java -cp wlandecoder-1.0.jar fr.bmartel.wlandecoder.DecodeMain -f ../pcapfile/exemple.pcapng -v``
-f : input file
-v : verbose, will show all section parsing content
This exemple is launched from release folder
PROGRAM SYNTAX for parsing Wlan802.11 frames preceding with radiotap header
``byte[] wlanDataPrecedingWithRadiotapHeader = packet.getPacketData();``
``WlanDecoder dataDecode = new WlanDecoder(packet.getPacketData());``
``dataDecode.decodeWithRadiotap();``
``wlanDecodedFrameList.add(dataDecode);``
Check ``fr.bmartel.wlandecoder.DisplayDecodingInfo.java`` to see how to retrieve data programmatically.
You can retrieve radiotap data too if you want. Go check http://bertrandmartel.github.io/radiotap-decoder-java/ for more precision
PROGRAM SYNTAX for parsing Wlan802.11 frames ONLY
``byte[] wlanDataPrecedingWithRadiotapHeader = packet.getPacketData();``
``WlanDecoder dataDecode = new WlanDecoder(packet.getPacketData());``
``dataDecode.decode();``
``wlanDecodedFrameList.add(dataDecode);``
# Output example
Wlan frame control
-------protocolVersion : 0
-------type : 0
-------subType : 8
-------toDS : false
-------fromDS : false
-------moreFragmentation : false
-------retry : false
-------powerManagement : false
-------moreData : false
-------wep : false
-------order : false
Wlan management frame
-------duration id : 00 | 00
-------destinationAddr : FF | FF | FF | FF | FF | FF
-------sourceAddr : 00 | 24 | D4 | 6B | 0C | 5D
-------bssid : 00 | 24 | D4 | 6B | 0C | 5D
-------sequenceControl : 00 | E5
-------frameBody : 60 | 01 | 25 | DE | 32 | 03 | 00 | 00 | 60 | 00 | 01 | 04 | 00 | 08 | 46 | 72 | 65 | 65 | 57 | 69 | 66 | 69 | 01 | 08 | 82 | 84 | 8B | 96 | 2C | 0C | 12 | 18 | 03 | 01 | 0C | 05 | 04 | 00 | 02 | 00 | 00 | 2A | 01 | 04 | 32 | 05 | 24 | 30 | 48 | 60 | 6C | 2D | 1A | 6C | 00 | 03 | FF | FF | FF | 00 | 01 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 01 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 3D | 16 | 0C | 00 | 13 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 7F | 08 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 40 | DD | 18 | 00 | 50 | F2 | 02 | 01 | 01 | 00 | 00 | 03 | A4 | 00 | 00 | 27 | A4 | 00 | 00 | 42 | 43 | 5E | 00 | 62 | 32 | 2F | 00
-------fcs : A3 | 26 | 13 | 07
-------MANAGEMENT BEACON FRAME
--------------timestamp : 00 | 00 | 03 | 32 | DE | 25 | 01 | 60
--------------beaconInterval : 96
--------------capability information : 04 | 01
---------------------Dynamic Elements
---------------------element id : 0
----------------------------SSID : FreeWifi
---------------------Dynamic Elements
---------------------element id : 1
----------------------------data rates supported :
1000kbps,2000kbps,5500kbps,11000kbps,22000kbps,6000kbps,9000kbps,12000kbps,
---------------------Dynamic Elements
---------------------element id : 3
----------------------------currentChannel : 12
----------------------------frequency : -1
---------------------Dynamic Elements
---------------------element id : 5
----------------------------number of beacon frame before next DTIM : 0
----------------------------number of beacon interval between 2 DTIM : 2
----------------------------TIM bitmapControl : 0
----------------------------TIM partialVirtualBitmap : 00 |
---------------------Dynamic Elements
---------------------element id : 42
----------------------------isErpPresent : false
----------------------------useProtection : false
----------------------------isBarkerPreambleMode : true
---------------------Dynamic Elements
---------------------element id : 50
----------------------------extended data rates supported : 18000kbps,24000kbps,36000kbps,48000kbps,54000kbps,
---------------------Dynamic Elements
---------------------element id : 45
----------------------------support short 20Mhz : true
----------------------------support short 40Mhz : true
----------------------------channel width 20MHz supported : false
----------------------------channel width 40MHz supported : true
----------------------------AMPDU paramters : 3
----------------------------MCS Supported : n°0-BPSK
----------------------------MCS Supported : n°1-QPSK
----------------------------MCS Supported : n°2-QPSK
----------------------------MCS Supported : n°3-16-QAM
----------------------------MCS Supported : n°4-16-QAM
----------------------------MCS Supported : n°5-64-QAM
----------------------------MCS Supported : n°6-64-QAM
----------------------------MCS Supported : n°7-64-QAM
----------------------------MCS Supported : n°8-BPSK
----------------------------MCS Supported : n°9-QPSK
----------------------------MCS Supported : n°10-QPSK
----------------------------MCS Supported : n°11-16-QAM
----------------------------MCS Supported : n°12-16-QAM
----------------------------MCS Supported : n°13-64-QAM
----------------------------MCS Supported : n°14-64-QAM
----------------------------MCS Supported : n°15-64-QAM
----------------------------MCS Supported : n°16-BPSK
----------------------------MCS Supported : n°17-QPSK
----------------------------MCS Supported : n°18-QPSK
----------------------------MCS Supported : n°19-16-QAM
----------------------------MCS Supported : n°20-16-QAM
----------------------------MCS Supported : n°21-64-QAM
----------------------------MCS Supported : n°22-64-QAM
----------------------------MCS Supported : n°23-64-QAM
----------------------------HT Extended capabilities : 00 | 00
----------------------------Transmit beam forming capabilities : 00 | 00 | 00 | 00
----------------------------ASEL capabilitiesElement id not parsed will be displayed at the beginning of the output like this :
* Element id not decoded => 61
* Project is JRE 1.7 compliant
* You can build it with ant => build.xml
* Development on Eclipse
* Specification from https://standards.ieee.org/getieee802/download/802.11-2012.pdf