有没有办法监视并获取本地计算机上运行的进程通过 HTTP 访问的 URL 列表?如果做不到这一点,什么信息更接近上述信息?我的用例是,我有一个实际上不透明的实用程序,我怀疑它正在通过网络下载一些信息,我想看看它到底通过网络获取了什么。
答案1
您可以使用TCP流去做这个。来自网站:
tcpflow 是一个捕获作为 TCP 连接(流)一部分传输的数据的程序,并以方便协议分析或调试的方式存储数据。像“tcpdump”这样的程序显示在线路上看到的数据包的摘要,但通常不存储实际传输的数据。相反,tcpflow 重建实际的数据流并将每个流存储在单独的文件中以供以后分析。
它将日志以 [ip].[port]-[ip].[port] 格式转储到当前工作目录。
# mkdir http_logs
# cd http_logs
# tcpflow dst port 80
此示例记录所有发送到端口 80 的 TCP 数据包,并将它们保存在当前目录中,以便于调试。您还可以使用进一步过滤投射式电容过滤器。
您可能还会发现该-a
开关很有用,它可以进行后处理。例如,它将 HTTP 标头和正文放在单独的文件中。