![观察应用程序的本地和网络活动?](https://linux22.com/image/1528240/%E8%A7%82%E5%AF%9F%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E6%9C%AC%E5%9C%B0%E5%92%8C%E7%BD%91%E7%BB%9C%E6%B4%BB%E5%8A%A8%EF%BC%9F.png)
对于软件包,例如 debian.deb
文件。安装后,如何查看其本地和网络活动?对于本地活动,我想查看其文件如何相互交互以及与系统中的其他程序交互。对于网络活动,我想查看它尝试通信的 IP 以及它尝试发送和接收的数据。
最终目标是查看程序是否修改了任何内容;或者发送和接收了意外的内容。
我想知道为什么没有很多工具可用于此目的?Wireshark 似乎能够处理我的问题中的网络活动部分。但似乎需要做很多工作才能获取信息。
我问错了问题吗?还是我应该使用不同的方法?或者这有可能吗?
一个真实的例子,我想查看这个应用程序:http://terashare.net/在使用前。
答案1
strace
您可以尝试使用(跟踪系统调用)或(跟踪库调用)来运行应用程序ltrace
。做好准备,您现在可以看到“如果程序修改了任何内容”,那就是很多的信息。
如果您只想监控网络交互,请在网络命名空间中运行它,并将 veth 对连接到主命名空间(可能还有 NAT),然后在一个 veth 上运行 wireshark。同样,如果程序需要进行网络交互,您将得到一个很多数据的。