记录我的电脑访问的网站/远程服务器

记录我的电脑访问的网站/远程服务器

问题摘要和描述

我想记录从我的计算机(在本例中是 Mac)向任何网站或远程服务器发出的所有传出请求。

我主要编写 magento 应用程序,通过它您可以创建所谓的观察者,它可以在调用特定的 class->function() 时自动调用。例如,如果将产品添加到购物车中,您可以编写一个观察者,将客户姓名添加到数据库中。

我正在尝试找到一种在我的计算机上执行类似操作的方法,以便每次计算机向路由器发送请求时,我的应用程序都可以监听该请求并将其添加到 csv 文件中。

我知道有一些浏览器扩展可以做这样的事情,但我希望浏览器不相关并且与来自客户端的请求的最终点一起工作。

我的问题基于以下几点:

  • 也许我过度简化了这个任务,但它听起来像是通过命令行输入就可以完成的事情,这是正确的还是我错了?

  • 如果不是,我首选的语言是 php 和 javascript,但我很乐意尝试最适合这项工作的任何语言。我必须使用这部分操作系统软件所用的语言吗?如果是,那是什么语言?我如何将我的代码与这部分操作系统结合起来?

  • 一旦我弄清楚了如何做到这一点,我是否可能会遇到持续的权限问题?

  • 关于这些要点,如果要在 Windows 机器上运行该应用程序,我需要考虑哪些不同的因素?

答案1

在 Windows 和 OSX 上,都有一个名为 NETSTAT 的命令行实用程序。它的输出实际上是到网络位置的所有开放网络连接。

输出如下所示:

TCP    10.99.1.155:51551      lhr14s23-in-f2:https   ESTABLISHED
TCP    10.99.1.155:51555      stackoverflow:http     ESTABLISHED
TCP    10.99.1.155:51556      stackoverflow:http     ESTABLISHED
TCP    10.99.1.155:51557      stackoverflow:http     ESTABLISHED

如果您熟悉 Python,那么捕获 stdOut 和解析外部地址应该很简单。

您可以添加命令行参数以包含进程 ID、进程名称并使其连续运行等等。

答案2

我认为 Magneto 是某种在线 CMS?如果是这样,您是否尝试过使用浏览器的开发人员工具网络选项卡?火狐铬合金&IE浏览器都有。

如果你想找到一切从你的机器出去,你想Wireshark。而其他三个不需要特殊权限,Wireshark 则需要某种管理员权限来监视您的网络接口。

所有这些都将让你过滤掉你看到的内容以限制信息过载。特别是在 Wireshark 的情况下,你可能对 DNS 查询等不感兴趣!

相关内容