basic Man-in-the-Middle extension to the Relay-Card #181
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.
This PR extends the Relay class in such a way that it can be flexibly used as a Man-in-the-Middle.
It adds a new Command-Line Flag (--mitm) which takes a path to a Python File that contains a function
get_MitM()
, which, when called, produces an object with ahandleInPDU
and ahandleOutPDU
method. This object is then used by the Relay-VICC as a Man-in-the-Middel, meaning it passes any packets to thesehandle
-Methods and relays the result of them (instead of the original packets).For the MitM flag to work properly, the path which is given to it needs to be in Python's load path (eg PYTHONPATH).
The --mitm flag only applies when the Relay type is used. If the Relay is used without specifying a MitM-Module, the default
RelayMiddleman
is used, which does nothing at all. TheRelayMiddleman
class may be used by the user to create custom middlemans by inheriting from it.