我正在寻找一种方法来转储由应用程序生成的网络数据的 pcap,以类似的方式strace转储系统调用等,例如:
net-strace somecommand -args
Run Code Online (Sandbox Code Playgroud)
somecommand会通过网络做一些事情,并net-strace保存该应用程序生成的所有流量的 pcap 转储(+ 回复和相关流量)。
这能实现吗?
小智 2
您可以通过不同的方法转储应用程序生成的流量:
如果您知道应用程序正在使用的端口,则可以运行tcpdump或wireshark,并为这些端口指定特定的过滤规则。
如果这不是一个选项,您可以使用iptables规则标记应用程序数据包,以匹配进程的所有者。您可能需要创建一个新的用户帐户来完全隔离该过程。然后您就可以捕获仅匹配规则的流量。
您可以找到有关此相关主题的更完整信息:https://askubuntu.com/questions/11709/how-can-i-capture-network-traffic-of-a-single-process
您可能还会发现这个程序tracedump很有趣,如上一主题所述。http://mutrics.iitis.pl/tracedump