2010-11-18 6 views
4

XWindow 프로토콜을 도구로 추적 할 수 있습니까? wireshark는 이러한 아이디어를 수용하기위한 좋은 틀이 될 것이라고 생각했지만 아무런 도움이되지 않습니다. 이 목표를 달성하기 위해해야 ​​할 일은 무엇입니까?추적 XWindow 프로토콜

답변

3

와이어 샤크 는 X 창 프로토콜을 해부 할 수있는 능력을 가지고있다.

그러나 : 먼저 와이어 샤크가 그것을 해부 할 수 있습니다 전에 X-클라이언트 (응용 프로그램)와 X-서버 사이에 실제 X-윈도우 트래픽을 캡처 할 수 있어야합니다.

로컬 컴퓨터에서 실행되는 응용 프로그램 (X-Windows 클라이언트)과 X-Windows 서버 간의 X-Windows 트래픽은 "Unix 도메인 소켓"을 사용하여 클라이언트와 서버간에 직접 프로세스 간 통신 (IPC)을 수행합니다 . 사용되는 기본 네트워크 프로토콜이 없으므로 트래픽은 Wireshark의 해부 (AFAIK)로 캡처 할 수 없습니다.

X를 다루었지만 기본적으로 필요한 것은 X 서버가 서버에서 네트워크 연결을 수신하고 받아 들일 수 있도록 실행되고 있다는 것입니다. 원격 노드 (또는 로컬 노드?)의 Xclient 응용 프로그램이 네트워크를 통해 XServer에 연결하면 Wireshark를 통해 해당 트래픽을 캡처 할 수 있습니다.

X는 복잡하다. X를 실행하는 세부 사항에 익숙하지 않은 경우 몇 가지 독서를하거나 추가 정보를 요청해야합니다. 나는 오래 전부터 X.

-1

은 내가 X 창 프로토콜이 무엇인지 확실하지 않다,하지만 당신은 Wireshark를 위해 루아 해부학자를 만들 수 :

http://wiki.wireshark.org/Lua

+0

이것은 X 윈도우 시스템의 프로토콜이며 Wireshark *는 이미 그것을위한 해부학자가 있습니다. GUI 프로그램과 디스플레이가 동일한 컴퓨터에 있고 트래픽이 스니핑을 지원하는 네트워크 인터페이스를 거치지 않는다면 UN \ * X 시스템에서 트래픽을 캡처하는 것이 어려울 것입니다. 스니핑 (sniffing)을 지원하지 않는 "유닉스 도메인 소켓 (unix-domain socket)". –

3

원칙적으로 strace를 사용하여 유닉스 소켓을 통과 X-윈도우 프로토콜을 캡처 할 수 있습니다에 관한 세부 사항을 지워졌습니다. 그런 다음 text2pcap을 사용하여 Wireshark에 대해이 패킷을 래핑 할 수 있습니다.

예 :

파일 기술자 (41)와 유닉스 소켓 PID 1998으로 X 서버로 이동

캡쳐 X 윈도우 프로토콜 프레임 :

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에서 wireshark를 사용할 수 있습니다.

0

위로 80 년대에는 서버와 클라이언트 사이에 배치되는 오픈 소스 Xwindow 프록시 프로그램이있었습니다. 그것은 'C'로 쓰여졌고 메시지 유형이나 각 방향으로 전달되는 데이터의 양을 계산하기 위해 쉽게 수정할 수 있습니다. 또한 사람들이 인터럽트 핸들러에서 잘못된 기능을 사용했을 때 잘못된 Xprotocol을 인식했습니다. 이름을 기억할 수는 없지만 아마도 "Xwindow proxy"를 검색하면 도움이 될 것입니다 ...

+0

아마'xtrace'에 대해 생각하고 있습니까? 여전히 작동합니다 : http://xtrace.alioth.debian.org/ – pestophagous