Hello,
I have an issue when I develop NetworkExtension in Monterey and Safari.
I want find a caller process name when metadata that sourceAppAuditToken is not exist.
I compare blocked content with process fd information using IP:PORT.
// 0. Input blockedSrc, blockedDest
if([[blockedPacket metadata] sourceAppAuditToken] == nil )
{
// 1. get a list of process pid.
sysctl( procList ... );
kinfo_proc proc = procList[procIdx];
// 2. get process fd Information
proc_pidinfo(proc.kp_proc.p_pid, PROC_PIDLISTFDS, socketInfo, ...);
// 3. get IP, Port in process information.
srcIP = (struct in_addr *)&socketInfo.psi.soi_proto.pri_tcp.tcpsi_ini.insi_laddr.ina_46.i46a_addr4;
srcPort = (int)socketInfo.psi.soi_proto.pri_tcp.tcpsi_ini.insi_lport;
destIP = (struct in_addr *)&socketInfo.psi.soi_proto.pri_tcp.tcpsi_ini.insi_faddr.ina_46.i46a_addr4;
destPort = (int)socketInfo.psi.soi_proto.pri_tcp.tcpsi_ini.insi_fport;
...
// 4. compare blocked content with information using srcIP:Port and destIP:Port
if( blockedSrc == src && blockedDest == dest )
{
// 5. found process name
proc_pidpath(proc.kp_proc.p_pid, pathBuffer, sizeof(pathBuffer)-1);
}
}
In BigSur Chrome, Safari and Monterey Chrome is working same routine.
and In these case, I can found list of process that open TCP using terminal("lsof -i -P")
But it is not works when use Safari in Monterey.
So, I have checked a list of process that open TCP in Monterey. I have couldn't found it.
How can I found caller process name in Monterey when Safari web is blocking?
Thank you for reading.
Post
Replies
Boosts
Views
Activity
I want to make API return the defined version in static library.
How I get defined current library version on xcode "Build Setting - linking or versioning"?
like VERSION : Clang version.
some preprocessor macro? or static char was defined?
If anyone knows, please share.
DisplayPort(DP) to USB-C Monitor is not Working in iMAC 2019 Intel after update macOS14 Sonoma
I used it before update. It was completly ok. but after update OS. 13 to 14.
It never work.
Hello, I Use NetworkExtension NEFilterSocketFlow description.
I received it to String, or UsafeMutableBufferPointer etc ...
It always has memory leak.
So, I just call it NEFilterSocketFlow.description or description.utf8String, and It was not received as any variable.
But, It also has memoryleak.
What do I do for?