Protocol
These are the requirements and ideas about the aircrack-ng protocol used by the Server and Client for communicating with each other.
- Should to be tcp based, as it is essential to assure that all packets arrived at destination.
- Authentication support in later releases, so we need to distinguish different versions (need a version tag).
- At least 3 kinds of frames: authentication, control and data frames
(De)Authentication Frames
- 3 way handshake when joining
- C->S Hello $Client_name $Client_version
- S->C Welcome $Client_name $Client_version
- C->S Ack Frame
- 2 way when leaving
- C->S Bye $Client_name $Client_version
- S->C Ack Frame
Control Frames
- Injection
- C->S Directly send this packet (Speed / Interface? / Packet)
- C->S Send packets on top of this clients packet stack (Number of packets / Speed / Interface?)
- C->S Stop sending packets
- Monitor
- C->S Request packets (Filter)
- C->S Change request filter (New filter)
- C->S Stop packet request
- Configuration
- C->S Open tun interface (Filter / Key)
- C->S Change tun interface filter/key (New filter / New key)
- C->S Close tun interface
- C->S Add keystream (BSSID / Keystream / Length)
- C->S Change interface (Interface/Channel/Hopping/Txpower)
- Information
- C->S Request AP informations (Filter)
- C->S Request statistic (Filter)
- C->S Request keystream (BSSID / Min length)
- C->S Request interface information
- Cracking
- C->S Contact server for distributed cracking (IP / Port)
- C->S Start cracking (BSSID / Encryption / Length / Dictionary / Fudge factor / Attacks disabled)
- C->S Stop cracking
- C->S Pause cracking
- C->S Resume cracking
- Success/failure of previous command
Data Frames
May contain:
- IEEE 802.11 Packet
- Keystream / Length
- Information about AP
- Information about client
- Information about interface
- Statistics
- Server configuration
Packet description
Will be added later.
Field descriptions
Defines the coding.
