现在正在服务器上进行测试。客户端和服务器都在我的机器上。我试图监听它们之间的数据包,但没有成功。以下是我尝试过的一些变体:
sudo snoop host myHost and port 443 or port 8443
sudo snoop to host myHost from host myHost
这些均未返回任何结果。这是否意味着:
- snoop 无法拾取同一主机之间的数据包
- 我错误地使用了 snoop
- 我的客户端和服务器正在做一些奇怪的事情
这些命令都返回大量信息(所以我假设它有效并且配置正确)
sudo snoop
sudo snoop host myHost
答案1
据我所知,Solaris 不允许你在本地环回接口(在你的情况下是 lo0)上进行捕获。例如,这一页明确指出,如果不重新编译内核,则无法在 Solaris 上完成此操作。
因此,您必须在不同的机器上设置客户端和服务器,或者查看是否有某种方法可以通过您的网络路由流量(以便它通过非环回接口)。
答案2
我不太熟悉 snoop,但也许你会更喜欢wireshark?
答案3
您正在监听以太网接口之一,但正在通过环回进行通信。从snoop
手册页中:
-d 设备使用以下设备从网络接收数据包 设备指定的接口。通常为 le0 或 ie0。程序 netstat(1M),当 使用 -i 标志调用,列出所有 机器所具有的接口。通常, snoop 会自动选择第一个 找到的非环回接口。
因此,如果您想窃听本地通信,请使用该-d
选项添加您的环回接口。
答案4
- 以 root 用户身份登录您的机器。
运行snoop命令,如下所示:
root@psp-2 # snoop -o /export/home/john/file.pcap
使用设备 vnet0(混杂模式)
按 Ctrl+C 停止数据包捕获。
- 您可以在所提及的路径检查所需的数据包捕获。