Trying to get Ignore Expression to work


#1

Hello everyone. I been trying my butt off to make this work, but going off the wiki I should be about to do something like this on the ignore list base off what it says. Personally, I think there should be more examples as they are kind of all over the place really. Then again, maybe this isn’t something that can be done just yet.

–ignore -src IP_Address & -dst google.com

What I am looking to do is from source IP - if they are trying to head to google.com - simply ignore it and allow the connection to be made. Other src locations would still be control by the proxy like normal.

What I would like to do is still have some control over it before it ignore it completely. For example, I would still like to log said dst url so I might still be able to track where it was ignore if at all possible… If it can’t be done by the ignore list - I would still like to be able to do something like this as a work around. I already expose self.master.options.ignore_hosts to the script so I might add items in and out as needed.

Thanks for any help!


#2

Hi,

The syntax for --ignore is much simpler and does not allow a distinction by source IP: http://docs.mitmproxy.org/en/stable/features/passthrough.html#how-it-works,


#3

I see. Yea I was looking into the code myself and seeing what I was doing wrong. I guess the talk between the two filter and ignore is a bit confusing base off what the site says. Ignore could be fix to be a lot more powerful/flexible in that case and maybe something we could look into the future to improve on.

For now, I would still like to make this work in a way that might be possible to pass both a dst and a src location. I think I might have a work around for now.


#4

Just adding onto this - what is the logic behind updating variables when calling them on updates. I’m a bit confused when I add in a vairable under the options file - it seems that the option doesn’t update to the rest of the project unless I update the vairable by replacing the whole vairable.

For example:
My_List = My_List[:4] + My_List[5:]

But if I do:
My_List.append()
OR
My_Dict[“ip”] = {}

It doesn’t update through out the project? Is there a way to force an update on changes like these? Why not just have it update anyways without this caching idea?