diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2013-06-16 16:23:36 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2013-06-16 16:23:36 +1200 |
commit | 886970040ba3a61ecfd20efbe15cb3e3855437c5 (patch) | |
tree | ad1ca2c6efd520b6f0889c1410f07f675777848d /libmproxy/platform/pf.py | |
parent | c1a60a1f6b4713f93c27052937759a01db72c428 (diff) | |
download | mitmproxy-886970040ba3a61ecfd20efbe15cb3e3855437c5.tar.gz mitmproxy-886970040ba3a61ecfd20efbe15cb3e3855437c5.tar.bz2 mitmproxy-886970040ba3a61ecfd20efbe15cb3e3855437c5.zip |
Revert "Use lsof instead of pfctl to find target host on OSX in transparent mode."
This reverts commit ffeede9b39c8d269766fd56d02eb7e78d8d13bb2.
Diffstat (limited to 'libmproxy/platform/pf.py')
-rw-r--r-- | libmproxy/platform/pf.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libmproxy/platform/pf.py b/libmproxy/platform/pf.py new file mode 100644 index 00000000..062d3311 --- /dev/null +++ b/libmproxy/platform/pf.py @@ -0,0 +1,16 @@ + +def lookup(address, port, s): + """ + Parse the pfctl state output s, to look up the destination host + matching the client (address, port). + + Returns an (address, port) tuple, or None. + """ + spec = "%s:%s"%(address, port) + for i in s.split("\n"): + if "ESTABLISHED:ESTABLISHED" in i and spec in i: + s = i.split() + if len(s) > 4: + s = s[4].split(":") + if len(s) == 2: + return s[0], int(s[1]) |