MCPcopy Index your code
hub / github.com/Ragnt/AngryTrainer

github.com/Ragnt/AngryTrainer @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
513 symbols 948 edges 77 files 184 documented · 36%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

AngryTrainer

This is an easy to use, simple version of AngryOxide that fires one-shot attacks (one at a time) and can be used to teach people these attacks.

Hint: Open WireShark on the same interface this is running to watch the traffic.

All attacks are exclusive - you can only select one.

Help

Usage: angrytrainer [OPTIONS] --interface <INTERFACE> --target <TARGET>

Options:
  -i, --interface <INTERFACE>          Interface to use
  -c, --channel <CHANNEL>              Channel to scan
  -t, --target <TARGET>                Target (MAC or SSID) to attack
  -o, --output <OUTPUT>                Optional - Output filename
  -m, --mac <MAC>                      Optional - Tx MAC for rogue-based attacks - will randomize if excluded
      --deauth-all                     Attack - Send a deauth to broadcast
      --deauth-client <DEAUTH_CLIENT>  Attack - Send a deauth to a client MAC
      --deauth-code <DEAUTH_CODE>      Attack - Which Deauthenticaation Reason Code to use
      --csa                            Attack - Tx MAC for rogue-based attacks - will randomize if excluded
      --anon-reassoc                   Attack - Send an Anonymous Reassociation attack to target
      --rogue                          Attack - Attack a station that is probing for this target (MUST BE SSID)
      --pmkid                          Attack - Attempt to retrieve PMKID (if available) from access point
  -h, --help                           Print help
  -V, --version                        Print version

Deauthentication Codes:

UnspecifiedReason = 1,
PreviousAuthenticationNoLongerValid = 2,
DeauthenticatedBecauseSTAIsLeaving = 3,
DisassociatedDueToInactivity = 4,
DisassociatedBecauseAPUnableToHandleAllSTAs = 5,
Class2FrameReceivedFromNonauthenticatedSTA = 6,
Class3FrameReceivedFromNonassociatedSTA = 7,
DisassociatedBecauseSTALeavingBSS = 8,
STARequestingReassociationNotAuthenticated = 9,
DisassociatedBecauseOfPowerCapability = 10,
DisassociatedBecauseOfSupportedChannels = 11,
InvalidInformationElement = 13,
MICFailure = 14,
FourWayHandshakeTimeout = 15,
GroupKeyHandshakeTimeout = 16,
InformationElementInFourWayHandshakeDifferent = 17,
InvalidGroupCipher = 18,
InvalidPairwiseCipher = 19,
InvalidAKMP = 20,
UnsupportedRSNInformationElementVersion = 21,
InvalidRSNInformationElementCapabilities = 22,
IEEE8021XAuthenticationFailed = 23,
CipherSuiteRejectedBecauseOfSecurityPolicy = 24,
TDLSUnreachable = 25,
TDLSUnspecifiedReason = 26,
TDLSRejected = 27,
TDLSRequestedTearDown = 28,
TDLSChannelSwitching = 30,
UnauthorizedAccessPoint = 31,
PriorAuthenticationValid = 32,
ExternalServiceRequirements = 33,
InvalidFTActionFrameCount = 34,
InvalidPMKID = 35,
InvalidMDE = 36,
InvalidFTE = 37,
SMECancelsAuthentication = 38,
PeerUnreachable = 39,
PeerDeauthenticatedForListenIntervalTooLarge = 41,
DisassociatedForReasonUnspecified = 42,
PeerDeauthenticatedForReasonUnspecified = 43,
DisassociatedForSensorStation = 44,
DisassociatedForPoorChannelConditions = 45,
DisassociatedForBSSTransitionManagement = 46,
DeauthenticatedForReasonUnspecified = 47,
SessionInformationUnavailable = 48,
DisassociatedForSCPRequestUnsuccessful = 49,
DeauthenticatedForSCPRequestUnsuccessful = 50,

Extension points exported contracts — how you extend this code

PcapNgOption (Interface)
Common fonctions of the PcapNg options [6 implementers]
libs/pcap-file/src/pcapng/blocks/opt_common.rs
Addresses (Interface)
(no doc) [7 implementers]
libs/libwifi/src/traits.rs
WiFiDeviceType (Interface)
Trait to restrict WiFiDeviceList [2 implementers]
src/devices.rs
IsTarget (Interface)
(no doc) [2 implementers]
src/targets.rs
PcapNgBlock (Interface)
Common interface for the PcapNg blocks [9 implementers]
libs/pcap-file/src/pcapng/blocks/block_common.rs
DataFrame (Interface)
(no doc) [8 implementers]
libs/libwifi/src/frame/data/mod.rs
HasSSID (Interface)
(no doc) [1 implementers]
src/devices.rs
WriteOptTo (Interface)
(no doc) [9 implementers]
libs/pcap-file/src/pcapng/blocks/opt_common.rs

Core symbols most depended-on inside this repo

add_or_update_device
called by 31
src/devices.rs
add_message
called by 23
src/status.rs
is_real_device
called by 20
libs/libwifi/src/frame/components/mac_address.rs
to_ds
called by 19
libs/libwifi/src/frame/components/frame_control.rs
from_ds
called by 19
libs/libwifi/src/frame/components/frame_control.rs
encode
called by 17
libs/libwifi/src/frame/data/data.rs
write_packet
called by 16
src/main.rs
header
called by 15
libs/pcap-file/src/pcap/parser.rs

Shape

Method 274
Function 109
Class 90
Enum 30
Interface 10

Languages

Rust100%

Modules by API surface

src/devices.rs39 symbols
src/main.rs27 symbols
libs/libwifi/src/frame/components/mac_address.rs24 symbols
src/auth.rs23 symbols
libs/libwifi/src/frame/data/qos_data.rs20 symbols
src/targets.rs19 symbols
src/tx.rs17 symbols
libs/pcap-file/src/pcapng/blocks/block_common.rs17 symbols
libs/libwifi/src/parsers/frame_types/data.rs16 symbols
libs/libwifi/src/frame/components/frame_control.rs14 symbols
libs/pcap-file/src/pcapng/writer.rs13 symbols
libs/libwifi/src/frame/data/data.rs12 symbols

For agents

$ claude mcp add AngryTrainer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact