如何查找进程访问的 URL

如何查找进程访问的 URL

有没有办法监视并获取本地计算机上运行的进程通过 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 标头和正文放在单独的文件中。

答案2

如果它是一个开源程序,那么显而易见的答案是查看源代码......;-) 然而,如果您有一个闭源程序,您想要监视其网络使用情况,最好的办法是连接包含可疑应用程序的计算机和包含网络嗅探器的计算机,例如Wireshark变成一个中心

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

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

跨接端口

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

相关内容