| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> |
| <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> |
| <!-- |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| This file is generated from xml source: DO NOT EDIT |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| --> |
| <title>mod_firehose - Serveur HTTP Apache Version 2.5</title> |
| <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> |
| <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> |
| <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> |
| <script src="../style/scripts/prettify.min.js" type="text/javascript"> |
| </script> |
| |
| <link href="../images/favicon.ico" rel="shortcut icon" /></head> |
| <body> |
| <div id="page-header"> |
| <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> |
| <p class="apache">Serveur HTTP Apache Version 2.5</p> |
| <img alt="" src="../images/feather.png" /></div> |
| <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> |
| <div id="path"> |
| <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> |
| <div id="page-content"> |
| <div id="preamble"><h1>Module Apache mod_firehose</h1> |
| <div class="toplang"> |
| <p><span>Langues Disponibles: </span><a href="../en/mod/mod_firehose.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../fr/mod/mod_firehose.html" title="Français"> fr </a></p> |
| </div> |
| <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Multiplexage des entrées/sorties vers un fichier ou un pipe.</td></tr> |
| <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> |
| <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>firehose_module</td></tr> |
| <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_firehose.c</td></tr></table> |
| <h3>Sommaire</h3> |
| |
| <p><code>mod_firehose</code> fournit un mécanisme permettant |
| d'enregistrer les données transmises entre le serveur httpd et le |
| client au niveau élémentaire de la connexion dans un fichier ou un |
| pipe, de façon à ce que les données puissent être analysées ou |
| rejouées ultérieurement par le serveur. Il s'apparente à un "tcpdump |
| pour httpd".</p> |
| |
| <p>Les connexions sont enregistrées après décodage de la couche SSL, |
| et peuvent ainsi être utilisées dans le cadre d'une réquisition |
| légale.</p> |
| |
| <p>L'utilitaire <code class="program"><a href="../programs/firehose.html">firehose</a></code> permet en retour de |
| démultiplexer le flux enregistré dans des fichiers individuels pour |
| analyse ou rejeu via des outils tels que <code>netcat</code>.</p> |
| |
| <div class="note"><h3>AVERTISSEMENT</h3>Ce module ignore tout mécanisme |
| invoqué au niveau de la requête pour rendre les données privées. Il |
| est donc de la responsabilité de l'administrateur de s'assurer que |
| les données privées ne seront pas compromises par son utilisation. |
| </div> |
| |
| </div> |
| <div id="quickview"><h3>Sujets</h3> |
| <ul id="topics"> |
| <li><img alt="" src="../images/down.gif" /> <a href="#enable">Activation de la "Lance à incendie" (Firehose)</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#format">Format du flux</a></li> |
| </ul><h3 class="directives">Directives</h3> |
| <ul id="toc"> |
| <li><img alt="" src="../images/down.gif" /> <a href="#firehoseconnectioninput">FirehoseConnectionInput</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#firehoseconnectionoutput">FirehoseConnectionOutput</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#firehoseproxyconnectioninput">FirehoseProxyConnectionInput</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#firehoseproxyconnectionoutput">FirehoseProxyConnectionOutput</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#firehoserequestinput">FirehoseRequestInput</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#firehoserequestoutput">FirehoseRequestOutput</a></li> |
| </ul> |
| <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_firehose">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_firehose">Signaler un bug</a></li></ul><h3>Voir aussi</h3> |
| <ul class="seealso"> |
| <li><code class="program"><a href="../programs/firehose.html">firehose</a></code></li> |
| <li><a href="#comments_section">Commentaires</a></li></ul></div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="enable" id="enable">Activation de la "Lance à incendie" (Firehose)</a> <a title="Lien permanent" href="#enable" class="permalink">¶</a></h2> |
| |
| |
| <p>Pour activer ce module, il doit être compilé et chargé via la |
| configuration de votre instance httpd courante, et les directives |
| ci-dessous permettent de sélectionner les données que vous souhaitez |
| enregistrer.</p> |
| |
| <p>Il est possible d'enregistrer les données entrantes et sortantes |
| dans le même fichier, car la direction du flux est indiquée dans |
| chaque fragment.</p> |
| |
| <p>Il est possible d'écrire vers des fichiers normaux ou des listes |
| fifos (pipes). Dans le cas des listes fifos, mod_firehose fait en |
| sorte que la taille des paquets ne dépasse pas la valeur de PIPE_BUF |
| afin de s'assurer que l'écriture de ces derniers s'effectue en une |
| seule fois.</p> |
| |
| <p>Si une liste fifo sous forme de pipe doit être utilisée, pour que |
| cette dernière soit ouverte en écriture, certaines données doivent |
| en être extraites avant le démarrage de httpd. Si l'ouverture du |
| pipe échoue, mod_firehose ne sera pas activé, et le serveur sera |
| lancé normalement.</p> |
| |
| <p>Par défaut, toute tentative d'écriture bloque le serveur. Si le |
| serveur a été compilé avec APR version 2.0 ou supérieure, et si le |
| paramètre "nonblock" a été spécifié, les écritures dans les fichiers |
| seront non blocantes, et tout dépassement de tampon entraînera la |
| perte des données de débogage. Dans ce cas, il est possible donner |
| la priorité à l'exécution du serveur sur l'enregistrement des |
| données firehose.</p> |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="format" id="format">Format du flux</a> <a title="Lien permanent" href="#format" class="permalink">¶</a></h2> |
| |
| |
| <p>En général, le serveur gère plusieurs connexions simultanément, |
| et de ce fait, les requêtes et les réponses doivent être |
| multiplexées avant d'être écrites dans le firehose.</p> |
| |
| <p>Chaque fragment se présente sous la forme d'un texte en clair |
| de façon à ce qu'un firehose puisse être ouvert et inspecté par un |
| éditeur de texte standard. Il est aussi possible d'utiliser |
| l'utilitaire <code class="program"><a href="../programs/firehose.html">firehose</a></code> pour démultiplexer le |
| firehose en requêtes ou connexions individuelles.</p> |
| |
| <p>La taille maximale des fragments multiplexés est définie par la |
| variable PIPE_BUF. Elle correspond à la taille maximale d'un |
| élément que le système peut écrire. Si la taille des fragments |
| multiplexés reste en dessous de PIPE_BUF, le module garantit que les |
| contenus des différents fragments ne se recouperont pas. La valeur |
| de PIPE_BUF varie en fonction du système d'exploitation.</p> |
| |
| <p>La BNF du format du fragment est la suivante :</p> |
| |
| <pre> stream = 0*(fragment) |
| |
| fragment = header CRLF body CRLF |
| |
| header = length SPC timestamp SPC ( request | response ) SPC uuid SPC count |
| |
| length = <longueur de fragment sur 16 octets hexadécimaux> |
| timestamp = <temps depuis 1970 en microsecondes sur 16 octets hexadécimaux> |
| request = "<" |
| response = ">" |
| uuid = <uuid formaté de la connexion> |
| count = <numéro hexadécimal du fragment dans la connexion> |
| |
| body = <contenu binaire du fragment> |
| |
| SPC = <un espace> |
| CRLF = <un retour chariot suivi d'une nouvelle ligne></pre> |
| |
| <p>Tous les fragments d'une connexion ou d'une requête partagent le |
| même UUID, selon que les connexions ou les requêtes sont |
| enregistrées ou non. Si les connexions sont enregistrées, plusieurs |
| requêtes peuvent apparaître dans la même connexion. Un fragment de |
| longueur nulle indique la fin de la connexion.</p> |
| |
| <p>Certains fragments peuvent manquer ou être supprimés si le |
| processus qui les lit est trop lent. Si cela se produit, il y aura |
| des trous dans le comptage des connections. Un avertissement |
| indiquant l'UUID et le numéro du fragment supprimé sera enregistré |
| dans le journal des erreurs.</p> |
| |
| <p>En cas de crash ou d'arrêt forcé du processus httpd, il est |
| possible que le fragment vide de terminaison n'apparaisse pas. Cela |
| peut aussi se produire si le processus qui lit les fragments n'est |
| pas assez rapide.</p> |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="firehoseconnectioninput" id="firehoseconnectioninput">Directive</a> <a name="FirehoseConnectionInput" id="FirehoseConnectionInput">FirehoseConnectionInput</a> <a title="Lien permanent" href="#firehoseconnectioninput" class="permalink">¶</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic entrant dans le serveur à chaque |
| connexion.</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseConnectionInput <var>[ block | nonblock ]</var> <var>filename</var></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr> |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP |
| Apache.</td></tr> |
| </table> |
| <p>Capture le trafic entrant dans le serveur à chaque connexion. |
| Plusieurs requêtes seront capturées pour la même connexion si les |
| connexions persistantes sont activées.</p> |
| |
| <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseConnectionInput connection-input.firehose</pre> |
| </div> |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="firehoseconnectionoutput" id="firehoseconnectionoutput">Directive</a> <a name="FirehoseConnectionOutput" id="FirehoseConnectionOutput">FirehoseConnectionOutput</a> <a title="Lien permanent" href="#firehoseconnectionoutput" class="permalink">¶</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic sortant du serveur à chaque connexion</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseConnectionOutput <var>[ block | nonblock ]</var> <var>filename</var></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr> |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP |
| Apache.</td></tr> |
| </table> |
| <p>Capture le trafic sortant du serveur à chaque connexion. |
| Plusieurs requêtes seront capturées pour la même connexion si les |
| connexions persistantes sont activées. |
| </p> |
| |
| <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseConnectionOutput connection-output.firehose</pre> |
| </div> |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="firehoseproxyconnectioninput" id="firehoseproxyconnectioninput">Directive</a> <a name="FirehoseProxyConnectionInput" id="FirehoseProxyConnectionInput">FirehoseProxyConnectionInput</a> <a title="Lien permanent" href="#firehoseproxyconnectioninput" class="permalink">¶</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic entrant dans mod_proxy</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseProxyConnectionInput <var>[ block | nonblock ]</var> <var>filename</var></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr> |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td /></tr> |
| </table> |
| <p>Capture le trafic reçu par mod_proxy.</p> |
| |
| <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseProxyConnectionInput proxy-input.firehose</pre> |
| </div> |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="firehoseproxyconnectionoutput" id="firehoseproxyconnectionoutput">Directive</a> <a name="FirehoseProxyConnectionOutput" id="FirehoseProxyConnectionOutput">FirehoseProxyConnectionOutput</a> <a title="Lien permanent" href="#firehoseproxyconnectionoutput" class="permalink">¶</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic envoyé par mod_proxy</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseProxyConnectionOutput <var>[ block | nonblock ]</var> <var>filename</var></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr> |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP |
| Apache.</td></tr> |
| </table> |
| <p>Capture le trafic envoyé par mod_proxy.</p> |
| |
| <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseProxyConnectionOutput proxy-output.firehose</pre> |
| </div> |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="firehoserequestinput" id="firehoserequestinput">Directive</a> <a name="FirehoseRequestInput" id="FirehoseRequestInput">FirehoseRequestInput</a> <a title="Lien permanent" href="#firehoserequestinput" class="permalink">¶</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic entrant dans le serveur à chaque requête</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseRequestInput <var>[ block | nonblock ]</var> <var>filename</var></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr> |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP |
| Apache.</td></tr> |
| </table> |
| <p>Capture le trafic entrant dans le serveur à chaque requête. Les |
| requêtes sont capturées séparément, que les connexions persistantes |
| soient activées ou non.</p> |
| |
| <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseRequestInput request-input.firehose</pre> |
| </div> |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="firehoserequestoutput" id="firehoserequestoutput">Directive</a> <a name="FirehoseRequestOutput" id="FirehoseRequestOutput">FirehoseRequestOutput</a> <a title="Lien permanent" href="#firehoserequestoutput" class="permalink">¶</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic sortant du serveur à chaque requête</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseRequestOutput <var>[ block | nonblock ]</var> <var>filename</var></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr> |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP |
| Apache.</td></tr> |
| </table> |
| <p>Capture le trafic sortant du serveur à chaque requête. Les |
| requêtes sont capturées séparément, que les connexions persistantes |
| soient activées ou non.</p> |
| |
| <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseRequestOutput request-output.firehose</pre> |
| </div> |
| |
| </div> |
| </div> |
| <div class="bottomlang"> |
| <p><span>Langues Disponibles: </span><a href="../en/mod/mod_firehose.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../fr/mod/mod_firehose.html" title="Français"> fr </a></p> |
| </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> |
| <script type="text/javascript"><!--//--><![CDATA[//><!-- |
| var comments_shortname = 'httpd'; |
| var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_firehose.html'; |
| (function(w, d) { |
| if (w.location.hostname.toLowerCase() == "httpd.apache.org") { |
| d.write('<div id="comments_thread"><\/div>'); |
| var s = d.createElement('script'); |
| s.type = 'text/javascript'; |
| s.async = true; |
| s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; |
| (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); |
| } |
| else { |
| d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); |
| } |
| })(window, document); |
| //--><!]]></script></div><div id="footer"> |
| <p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> |
| <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- |
| if (typeof(prettyPrint) !== 'undefined') { |
| prettyPrint(); |
| } |
| //--><!]]></script> |
| </body></html> |