xscope
Maggiori info
- Autore
- James Peterson (MCC)
- Anno
- Tipo
- Strumento di debug
- Codice sorgente
- gitlab.freedesktop.org
Uno sniffer di protocollo per X11: si pone come proxy tra client e server e stampa in chiaro ogni richiesta, risposta, evento ed errore.
xscope fu scritto da James Peterson presso il consorzio di ricerca MCC di Austin nel 1988 e viveva nell'albero contrib di X11. Ascolta su un numero di display proprio, inoltra al vero server e decodifica il traffico in entrambe le direzioni: xscope -i1 -o0 accetta su :1 e invia a :0, e il client da analizzare si avvia con DISPLAY=:1. L'output è il protocollo X disposto come nella specifica: CreateWindow con tutti i suoi attributi, GetProperty con la risposta, eventi Expose con i rettangoli ed errori con i numeri di sequenza, che è esattamente ciò che serve quando il gestore degli errori di Xlib si limita a dire BadMatch a proposito di una richiesta inviata molto tempo prima.
Lo strumento appartiene alla stessa famiglia di strace e tcpdump, ma per un solo protocollo, e rimase il modo pratico per vedere che cosa facesse davvero un'applicazione Xt o Motif: quanti round trip costasse l'avvio, o perché una finestra venisse ridisegnata tre volte. Ha generato discendenti, xmon con un'interfaccia grafica e xtrace del 2005 con supporto per le estensioni più recenti, e Wireshark sa decodificare X11 da un file pcap, ma xscope è ancora mantenuto da X.Org e gestisce la maggior parte di ciò che un server comprende.