Je jure que X était un moyen de commencer à capturer tout le trafic du terminal vers un fichier sur votre hôte. C'était peut-être une extension HummingBird, mais je pensais que c'était standard. Maintenant, je ne peux pas trouver l'astuce. Suis-je halluciné (arrive quand tu deviens vieux), ou est-ce possible?
Je ne parle pas de 'tee'. Je veux être en mesure d'envoyer une séquence de contrôle xterm à stdout, donnant un nom de fichier, et avoir tout montré dans la fenêtre à partir de ce moment sauvegardé dans le fichier (jusqu'à ce que l'annulation du livre est émise).La séquence de contrôle Xterm vers la sortie «T» vers un fichier
Répondre
Cette fonction est appelée exploitation forestière et existe dans le code source, mais est désactivé par défaut pour des raisons de sécurité. Voulez-vous vraiment tout le monde avec la possibilité d'écrire des séquences de contrôle sur votre terminal (par exemple, l'auteur de tout fichier que vous pourriez un jour cat
) pour pouvoir écrire des données arbitraires dans des fichiers arbitrairement nommés sous votre compte? Par exemple, un attaquant pourrait facilement utiliser cette fonctionnalité pour modifier votre ~/.ssh/authorized_keys
afin d'accorder l'accès à l'attaquant, et changer votre ~/.profile
pour envoyer une requête ping à l'attaquant avec votre adresse IP.
Cela dit, si vous compilez xterm avec --enable-logging
ET vous #define ALLOWLOGFILECHANGES
, puis selon le manuel Xterm Control Sequences, vous gagnerez accès aux séquences de contrôle suivantes:
^[[?46h Start logging
^[[?46l Stop logging
^[]46;filename\007 Change log file to `filename`
Le nom du fichier journal sera par défaut appelé Xterm.log.hostname.yyyy.mm.dd.hh.mm.ss.XXXXXX
.
Il existe également une option pour activer la journalisation via un tuyau, ce qui est également très dangereux si vous autorisez le changement de l'enregistreur via des séquences de contrôle. Cela permettrait également à quiconque d'exécuter son code sur votre système.
Je suis un peu confus par la façon dont vous avez posé votre question. D'abord vous mentionnez Xterm puis X puis terminal, recherchez-vous simplement la commande "tee" (man tee
)?
Merci pour les commentaires - question édité et amélioré, j'espère. –
La question est plutôt vague.
Essayez de regarder:
- "ttyrec/ttyplay" pour enregistrer un texte en mode "film" de votre session de terminal
- "écran" pour enregistrer un journal sur la sortie standard de votre session entière
- « T » pour l'enregistrement d'un stdout/stderr d'une seule commande
"L'écran -L" est proche, mais ne peut pas être démarré/arrêté via des séquences de contrôle. Mais, il peut être aussi proche que je peux obtenir ... –
- 1. Comment savoir si stderr dirige la sortie vers un fichier?
- 2. windbg: Sortie de la commande vers le fichier texte
- 3. Rediriger la sortie audio vers la ligne
- 4. Rediriger la sortie Trace vers la console
- 5. Rediriger la sortie standard vers syslog
- 6. Piping Batch Fichier de sortie vers un script Python
- 7. Rediriger la sortie de la commande "puts" vers un fichier journal
- 8. Rediriger la sortie shell VxWorks vers un socket
- 9. Impossible de rediriger la sortie vers/var/lib/varlibfile, mais je peux copier un fichier varlib vers/var/lib
- 10. Sortie de tuyauterie de subprocess.call vers la barre de progression
- 11. La sortie de la console de redirection vers la zone de texte dans un programme distinct
- 12. Comment rediriger la sortie de .exe vers un fichier en python?
- 13. Puis-je rediriger la sortie d'un programme vers gvim?
- 14. Sortie de redirection PSEXEC vers le fichier local
- 15. Navigation vers un fichier .html dans l'assembly
- 16. Comment rediriger la sortie stdout et stderr d'un script Perl vers un fichier sous Windows?
- 17. Trouvez la stdout actuelle ou comment rediriger la sortie vers la console
- 18. Sortir vers un fichier texte
- 19. Comment rediriger la sortie vers stderr dans groovy?
- 20. Comment puis-je rediriger la sortie de la console vers une page ASP.NET telle qu'elle apparaît?
- 21. C# Classe de processus rediriger la sortie vers le fichier vidéo
- 22. Contrôle UpdatePanel et déplacement vers le haut de la page
- 23. Contrôle d'impression HTML vers PDF Ajaxian
- 24. HTML vers la bibliothèque DOM
- 25. Rediriger la sortie vers plusieurs fichiers et stdout simultanément dans la ligne de commande win XP
- 26. Redirection de la sortie vers un argument de ligne de commande d'une autre commande dans Windows
- 27. Sortie Flash Trace vers Firebug Console
- 28. WSDL PolicyReference vers un fichier externe
- 29. Routage des événements de clé vers un autre contrôle
- 30. Rediriger la sortie du fichier de commandes exe
Soupçonné cela ... Je ne vais pas compromettre la sécurité de xterm juste pour obtenir ce petit avantage. Je suis allé à un schéma de script à deux niveaux où la journalisation complète du script interne est une option donnée au script externe. Merci! –
Pour construire xterm-314 avec le contrôle de la séquence d'échappement de la journalisation, vous devez configurer '--enable-logging' et éditer le' Makefile' résultant pour définir 'EXTRA_CFLAGS = -DALLOWLOGFILEONOFF'. – garyjohn