How to do network address translation

In KEXT, I changed the target connection information using the socketFilter.

ex) run program > connect network > check destination ip and port > if need to change then change destination ip and port

Which features can be used to change destination access information in MacOS Catalina's Network Extensions?

I need your help.

What is your end goal? Are you building a Content Filter application or are you building an App Proxy application? Can you tell me a little more?


Matt Eaton

DTS Engineering, CoreOS

meaton3 at apple.com

I Want to make like below

1. user try to connect to server01

2. network extensions -> check connect destination is server01

3. then change destination (server01 -> server02)

----------

ex) user -- try connect --> server01 then

user -- connect address change --> server02


thank you

Accepted Answer

Based on what you have described it sounds like you want an App Proxy or possibly a Transparent Proxy. When your NetworkExtension has a new flow to handle, you can perform logic on it and decide how to handle or discard it. This then leads you down the path of proxying a flow to a new endpoint if needed or letting it continue as normal. See NEAppProxyProvider for more information to see if this fits your application requirements.



Matt Eaton

DTS Engineering, CoreOS

meaton3 at apple.com

thank you very much

I will try it

How to do network address translation
 
 
Q