Отслеживание протокола XWindow - PullRequest
4 голосов
/ 18 ноября 2010

Можно ли отслеживать протокол XWindow с помощью инструмента? Я думал, что Wireshark будет хорошей основой для такой идеи, но, похоже, поддержки нет. Что нужно сделать для достижения этой цели?

Ответы [ 4 ]

4 голосов
/ 25 сентября 2012

В принципе возможно захватить протокол X-Window, который проходит через сокет Unix, используя strace.Затем можно обернуть этот пакет для Wireshark, используя text2pcap.

Пример:

захватывать кадры протокола X-Window, которые отправляются на X-сервер с pid 1998 на сокете unix с файловым дескриптором41:

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

Теперь можно использовать wireshark на /tmp/xdata.dump.

3 голосов
/ 14 февраля 2011

Wireshark имеет возможность анализировать протокол X-Window.

Однако: прежде чем Wireshark сможет его проанализировать, вы должны сначала получить реальный трафик X-Window между X-клиентом (приложение) и X-сервером.

Трафик X-Windows между приложением (клиент X-Windows) и сервером X-Windows, работающими на локальном компьютере, вероятно, использует «доменные сокеты Unix» для прямой межпроцессной связи (IPC) между клиентом и сервером. Основной используемый сетевой протокол не используется, поэтому трафик (AFAIK) не может быть перехвачен Wireshark для анализа).

Прошло много времени с тех пор, как я имел дело с X, но я думаю, что в основном необходимо, чтобы X-сервер работал на такой коробке, чтобы сервер прослушивал (и готов принимать) сетевые соединения. Если приложение Xclient на удаленном узле (или локальном узле?) Затем подключается к XServer по сети, вы сможете захватывать этот трафик для его рассылки в Wireshark.

Х сложный; Если вы не знакомы с деталями запуска X, вам нужно немного почитать или попросить дополнительную информацию. Я давно скрыл детали, связанные с X.

0 голосов
/ 10 сентября 2014

Еще в 80-х годах существовала прокси-программа с открытым исходным кодом Xwindow, которая размещалась между сервером и клиентом.Он был написан на «С» и легко изменялся для подсчета типов сообщений или объема данных, передаваемых в каждом направлении.Он также распознал искаженный протокол Xprotocol, который возникал, когда люди использовали неправильные функции в обработчиках прерываний.Я не могу вспомнить имя, но, возможно, поиск по "прокси Xwindow" может помочь ...

0 голосов
/ 05 декабря 2010

Я не уверен, что такое протокол XWindow, но вы можете сделать Lua Dissector для Wireshark:

http://wiki.wireshark.org/Lua

...