5

是否可以使用工具跟踪 XWindow 协议?我认为wireshark 将是一个很好的框架来承载这样的想法,但似乎没有支持。应该怎么做才能实现这个目标?

4

4 回答 4

4

原则上可以使用strace. 然后可以使用text2pcap.

例子:

在文件描述符为 41 的 unix 套接字上捕获带有 pid 1998 的 X-server 的 X-window 协议帧:

bash$  sudo strace -e trace=read,write -e read=41  -p 1998 2>&1 | grep '^[ ]|' >/tmp/xdata.log

为wireshark准备捕获的数据:

bash$ text2pcap -T 1234,6000 /tmp/xdata.log /tmp/xdata.dump

现在可以在/tmp/xdata.dump.

于 2012-09-25T15:35:41.337 回答
4

Wireshark确实有能力剖析 X-Window 协议。

但是:您首先必须能够捕获 X 客户端(应用程序)和 X 服务器之间的实际 X 窗口流量,然后 Wireshark 才能剖析它。

应用程序(X-Windows 客户端)和 X-Windows 服务器之间的 X-Windows 流量都在本地计算机上运行,​​可能使用“Unix 域套接字”在客户端和服务器之间进行直接的进程间通信 (IPC)。没有使用底层网络协议,因此(AFAIK)无法捕获流量以供 Wireshark 进行剖析)。

自从我处理 X 以来已经有一段时间了,但我认为基本上需要的是 X-Server 运行在一个盒子上,这样服务器正在侦听(并愿意接受)网络连接。如果远程节点(或本地节点?)上的 Xclient 应用程序随后通过网络连接到 XServer,那么您将能够捕获该流量以供 Wireshark 分析。

X 是复杂的;如果您不熟悉运行 X 的详细信息,则需要阅读或询问更多信息。我早就忽略了与 X 相关的细节。

于 2011-02-14T02:34:04.983 回答
0

早在 80 年代,就有一个开源 Xwindow 代理程序可以放置在服务器和客户端之间。它是用“C”语言编写的,可以轻松修改以计算消息类型或每个方向传递的数据量。当人们在中断处理程序中使用错误的函数时,它还识别出格式错误的 Xprotocol。我不记得名字了,但也许搜索“Xwindow 代理”可能会有所帮助......

于 2014-09-10T16:07:21.667 回答
-1

我不确定 XWindow 协议是什么,但你可以为 Wireshark 制作一个 Lua Dissector:

http://wiki.wireshark.org/Lua

于 2010-12-05T17:15:53.573 回答