监视Java中的流量

监视Java中的流量,java,sockets,network-programming,packet-capture,Java,Sockets,Network Programming,Packet Capture,我在搞一个追踪我上网习惯的程序,我在想最好的办法。我有一些想法,但我不确定它们是否可行 以某种方式连接到firefox。我认为没有一个API可以将java挂接到firefox上。我听说有一个FirefoxJavaRMI插件,我可以从java访问它,但我什么也找不到。这将限制我使用firefox,这很好,因为我只使用firefox 以某种方式模拟Windows“netstat”。我不想调用netstat,因为这限制了我使用Windows。这将是最后一种情况 套接字编程。我可以设置一个ServerS

我在搞一个追踪我上网习惯的程序,我在想最好的办法。我有一些想法,但我不确定它们是否可行

  • 以某种方式连接到firefox。我认为没有一个API可以将java挂接到firefox上。我听说有一个FirefoxJavaRMI插件,我可以从java访问它,但我什么也找不到。这将限制我使用firefox,这很好,因为我只使用firefox
  • 以某种方式模拟Windows“netstat”。我不想调用netstat,因为这限制了我使用Windows。这将是最后一种情况
  • 套接字编程。我可以设置一个ServerSocket在端口80上侦听,但如果已经有什么东西在使用该端口,则无法设置,因此它不执行我希望它执行的操作,而是侦听端口80上已经发生的操作
  • 使用数据包捕获库。这似乎太过分了

  • 还有其他想法吗?

    使用java本地代理来监视来自任何浏览器的任何请求

    当然

    检查具有监视、嗅探和过滤功能的java代理

    解决此问题的另一种方法可能是定期查看前景窗口的标题。例如,我知道在Win32中很容易做到这一点。当然,但如果我想使用Win32调用,我也可以使用netstat命令。为什么使用netstat会限制您使用Windows?我不必通过Runtime.exec调用它吗?这不是windows调用吗?netstat几乎存在于所有现代操作系统(windows、Mac OS X、Linux等)上。然而,我不确定netstat的输出会给你什么,因为它只显示活动连接(并且在浏览器中读取页面通常不会在页面加载后保持与服务器的活动连接)。我不熟悉这个概念。你能给我指一个教程吗?你可以编辑你以前的帖子来澄清你的答案。因此,这与常规论坛不同;-)我试试看。你成功地使用过它吗?它使用起来非常简单,非常健壮和快速,它的nio实现非常简单。您可以获取源代码,在那里您可以找到一些示例,以便使用许多配置选项进行过滤、阻止/重定向。无论您的具体项目是什么,我认为它比其他解决方案更好,因为您不依赖于平台或低层网络库的存在和安装。