如何查找进程访问的 URL

Mar*_*tus 4 linux networking ubuntu

有没有办法监控和获取本地机器上运行的进程通过 HTTP 访问的 URL 列表?否则,什么会更接近上述信息?我的用例是我有一个有效的不透明实用程序,我怀疑它正在通过网络下载一些信息,我想看看它通过网络获取的究竟是什么。

Chr*_*own 6

您可以使用tcpflow来执行此操作。从网站:

tcpflow 是一个程序,它捕获作为 TCP 连接(流)的一部分传输的数据,并以方便协议分析或调试的方式存储数据。像“tcpdump”这样的程序会显示在线路上看到的数据包的摘要,但通常不存储实际传输的数据。相比之下,tcpflow 重建实际数据流并将每个流存储在单独的文件中以供以后分析。

它将以 [ip].[port]-[ip].[port] 格式将日志转储到当前工作目录中。

# mkdir http_logs
# cd http_logs
# tcpflow dst port 80
Run Code Online (Sandbox Code Playgroud)

本示例记录所有去往 80 端口的 TCP 数据包,并将它们保存在当前目录中,以便于调试。您还可以使用pcap 过滤器进一步过滤

您可能还会发现该-a开关很有用,它可以启用后期处理。例如,它将 HTTP 标头和正文放在单独的文件中。


Fab*_*bby 5

如果它是一个开源项目,明显的答案是看源代码;-) 但是,如果你要监视其网络使用封闭源代码的程序,最好做的是同时连接包含可疑应用程序的机器和包含像Wireshark这样的网络嗅探器的机器进入集线器

为什么是外机? 过去有一些应用程序会在检测到在同一台机器上运行的嗅探器时禁用某些“隐藏功能”。

PS 随着集线器越来越成为工业考古学,您还可以在(专业)交换机上使用跨接端口。

跨越端口

不幸的是,在消费级交换机上,跨度通常不可用。