The Swiss Army knife for 802.11, BLE and Ethernet networks reconnaissance and MITM attacks. - this is a fork of bettercap/bettercap with multiple hot fixes and performance improvements available before they are available upstream
This can be adjusted to use NewTimer and call stop
However due to the way its used, we can probably refactor this function to use a ticker, and it would be vastly more efficient
General Comments
There are repeated lookups to check for binaries. For example everytime a channel hop occurs, we lookup whether or not the binaries exist to allow us to trigger a channel hop. This is a bit redundant, as we can pre-populate this lookup table once at startup. This would likely lead to massively faster channel hoping.
Slice Optimization Of Functions like Stations::List
try slice = slice[:0] that truncates slice and leaves allocated space
so you can append egan
CPU Profiles
1
This I recorded on my RPi3 doing a simple wifi network scan, no associations or any deauths
Notable mentions:
stationPrunner
spends a lot of time sleepingstationPrunner
,channelHopper
spend some measurable time allocating slicesView
function spends a lot of time printing2
This I recorded on my RPi3 doing a simple network scan, along with mass association every 5 seconds via ticker
Notable mentions:
stationPrunner
spends measurable time within listMemory Profiles
1
Captured alongside
#2
from cpu profiles