Wifi based heuristics#1042
Open
jacklund wants to merge 7 commits into
Open
Conversation
EFForg#1000 Added ability to scan wifi networks (with a change to the wifi-station library, which I will PR once I get this working). Trying to integrate it into the analysis setup didn't work well, because that's pretty much only set up for packet analysis, so I'm instead sending the change to the display state directly from the wifi analysis function, which probably isn't really what's needed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First pass at a solution for issue #1000.
Some notes:
I've managed to shoehorn my code into the analysis flow, although whether it's in the best place I'll leave up to y'all. I've added a
WifiOUIAnalyzertype, which implementsAnalyzer, and which gets added to the analyzer harness by default (and is configurable). I've also added the configured OUIs to theAnalyzerConfigwhich felt weird, since everything else on that are booleans, but there didn't seem to be a better place to put that and still have it available in the Harness code.I've added a config line to specify the target OUIs as a comma-separated list of strings. I don't currently validate the OUIs (which should be done), because I'm not certain that's the best way to specify them. At some point there should probably be lists of well-known OUIs for specific types of target devices (similar to what Colonel Panic does in his OUI-spy apps), but until we have those lists, this might have to do.
I've also marked a OUI match as a
HIGHevent type, which might not be what is wanted here, it just seemed like a good place to start.There's some code duplicated from
DiagTask::process_containerwhere I send the information to the notification channel and the display, which is not great, but I figured that some refactoring of the analysis flow to make this code fit better might make that go away anyway.Also, I'm using my fork of
wifi-stationfor this PR - I have a PR pending on that repo which will add the BSSID to the list of items returned when scanning. Hopefully when/if that PR is merged, we can put that back.Pull Request Checklist
cargo fmt.You must check one of: