Unix Snoop命令

现在在服务器上进行testing。 客户端和服务器都在我的机器上。 我试图窥探他们之间的数据包,但没有任何运气。 这些是我尝试过的一些变化:

sudo snoop host myHost and port 443 or port 8443 sudo snoop to host myHost from host myHost 

这些都不会返回任何结果。 这是否表明:

  1. snoop无法获取同一主机之间的数据包
  2. 我正在使用snoop错误
  3. 我的客户和服务器正在做一些奇怪的事情

这些命令都返回大量的信息(所以我假设它的工作原理和configuration正确)

 sudo snoop sudo snoop host myHost 

据我所知,Solaris不允许在本地环回接口(lo0,在你的情况下)上捕获。 例如, 这个页面平坦地表明,在Solaris上不能完成内核重新编译。

因此,您必须在不同的机器上设置客户机和服务器,或者查看是否有方法通过networking路由stream量(以便通过非回送接口)。

我对snoop并不是很熟悉,但也许你会比wireshark更好的运气?

您正在监听以太网接口之一,但是通过环回进行通话。 从snoop手册页:

     -d设备使用接收来自networking的数据包
                    设备指定的接口。 通常le0
                    或ie0。 程序netstat(1M)的时候
                    用-i标志调用,列出所有的
                    机器所具有的接口。 一般,
                     snoop会自动select第一个
                    它find的非回送接口。

所以如果你想窃听本地通信,使用-d选项添加你的回送接口。

  1. 以root用户身份login到您的机器。
  2. 运行snoop命令,如下所示:

    root @ psp-2#snoop -o /export/home/john/file.pcap

    使用设备vnet0(混杂模式)

  3. 按下Ctrl + C停止数据包捕获。

  4. 您可以在提到的path中检查所需的数据包捕获。