如何拦截来自我的 C 应用程序的所有网络调用?

How can I intercept all network calls coming out of my C app?

我正在处理一个大型遗留项目,出于某些复杂的原因,我希望看到所有网络请求都出来了。我尝试挂钩 socket(1),但它似乎并没有捕获所有内容。我正在为 Apple 设备(UNIX-y,BSD 和 POSIX 调用)执行此操作。

I want to see all the network requests coming out.

我会用Wireshark

不知strace是否对您有用。它将把给定程序发出的所有系统调用打印到控制台。在这种情况下,可以用来过滤socket相关的系统调用。

strace -e socket,connect,send,etc... /your/program