1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
4 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 This file is generated from xml source: DO NOT EDIT
8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 <title>mod_firehose - Serveur Apache HTTP Version 2.5</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <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" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
19 <div id="page-header">
20 <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>
21 <p class="apache">Serveur Apache HTTP Version 2.5</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
25 <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>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_firehose</h1>
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_firehose.html" hreflang="en" rel="alternate" title="English"> en </a> |
30 <a href="../fr/mod/mod_firehose.html" title="Français"> fr </a></p>
32 <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>
33 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
34 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>firehose_module</td></tr>
35 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_firehose.c</td></tr></table>
38 <p><code>mod_firehose</code> fournit un mécanisme permettant
39 d'enregistrer les données transmises entre le serveur httpd et le
40 client au niveau élémentaire de la connexion dans un fichier ou un
41 pipe, de façon à ce que les données puissent être analysées ou
42 rejouées ultérieurement par le serveur. Il s'apparente à un "tcpdump
45 <p>Les connexions sont enregistrées après décodage de la couche SSL,
46 et peuvent ainsi être utilisées dans le cadre d'une réquisition
49 <p>L'utilitaire <code class="program"><a href="../programs/firehose.html">firehose</a></code> permet en retour de
50 démultiplexer le flux enregistré dans des fichiers individuels pour
51 analyse ou rejeu via des outils tels que <code>netcat</code>.</p>
53 <div class="note"><h3>AVERTISSEMENT</h3>Ce module ignore tout mécanisme
54 invoqué au niveau de la requête pour rendre les données privées. Il
55 est donc de la responsabilité de l'administrateur de s'assurer que
56 les données privées ne seront pas compromises par son utilisation.
60 <div id="quickview"><h3>Sujets</h3>
62 <li><img alt="" src="../images/down.gif" /> <a href="#enable">Activation de la "Lance à incendie" (Firehose)</a></li>
63 <li><img alt="" src="../images/down.gif" /> <a href="#format">Format du flux</a></li>
64 </ul><h3 class="directives">Directives</h3>
66 <li><img alt="" src="../images/down.gif" /> <a href="#firehoseconnectioninput">FirehoseConnectionInput</a></li>
67 <li><img alt="" src="../images/down.gif" /> <a href="#firehoseconnectionoutput">FirehoseConnectionOutput</a></li>
68 <li><img alt="" src="../images/down.gif" /> <a href="#firehoseproxyconnectioninput">FirehoseProxyConnectionInput</a></li>
69 <li><img alt="" src="../images/down.gif" /> <a href="#firehoseproxyconnectionoutput">FirehoseProxyConnectionOutput</a></li>
70 <li><img alt="" src="../images/down.gif" /> <a href="#firehoserequestinput">FirehoseRequestInput</a></li>
71 <li><img alt="" src="../images/down.gif" /> <a href="#firehoserequestoutput">FirehoseRequestOutput</a></li>
73 <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>
75 <li><code class="program"><a href="../programs/firehose.html">firehose</a></code></li>
76 <li><a href="#comments_section">Commentaires</a></li></ul></div>
77 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
79 <h2><a name="enable" id="enable">Activation de la "Lance à incendie" (Firehose)</a><a title="Lien permanent" href="#enable" class="permalink">¶</a></h2>
82 <p>Pour activer ce module, il doit être compilé et chargé via la
83 configuration de votre instance httpd courante, et les directives
84 ci-dessous permettent de sélectionner les données que vous souhaitez
87 <p>Il est possible d'enregistrer les données entrantes et sortantes
88 dans le même fichier, car la direction du flux est indiquée dans
91 <p>Il est possible d'écrire vers des fichiers normaux ou des listes
92 fifos (pipes). Dans le cas des listes fifos, mod_firehose fait en
93 sorte que la taille des paquets ne dépasse pas la valeur de PIPE_BUF
94 afin de s'assurer que l'écriture de ces derniers s'effectue en une
97 <p>Si une liste fifo sous forme de pipe doit être utilisée, pour que
98 cette dernière soit ouverte en écriture, certaines données doivent
99 en être extraites avant le démarrage de httpd. Si l'ouverture du
100 pipe échoue, mod_firehose ne sera pas activé, et le serveur sera
101 lancé normalement.</p>
103 <p>Par défaut, toute tentative d'écriture bloque le serveur. Si le
104 serveur a été compilé avec APR version 2.0 ou supérieure, et si le
105 paramètre "nonblock" a été spécifié, les écritures dans les fichiers
106 seront non blocantes, et tout dépassement de tampon entraînera la
107 perte des données de débogage. Dans ce cas, il est possible donner
108 la priorité à l'exécution du serveur sur l'enregistrement des
109 données firehose.</p>
111 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
112 <div class="section">
113 <h2><a name="format" id="format">Format du flux</a><a title="Lien permanent" href="#format" class="permalink">¶</a></h2>
116 <p>En général, le serveur gère plusieurs connexions simultanément,
117 et de ce fait, les requêtes et les réponses doivent être
118 multiplexées avant d'être écrites dans le firehose.</p>
120 <p>Chaque fragment se présente sous la forme d'un texte en clair
121 de façon à ce qu'un firehose puisse être ouvert et inspecté par un
122 éditeur de texte standard. Il est aussi possible d'utiliser
123 l'utilitaire <code class="program"><a href="../programs/firehose.html">firehose</a></code> pour démultiplexer le
124 firehose en requêtes ou connexions individuelles.</p>
126 <p>La taille maximale des fragments multiplexés est définie par la
127 variable PIPE_BUF. Elle correspond à la taille maximale d'un
128 élément que le système peut écrire. Si la taille des fragments
129 multiplexés reste en dessous de PIPE_BUF, le module garantit que les
130 contenus des différents fragments ne se recouperont pas. La valeur
131 de PIPE_BUF varie en fonction du système d'exploitation.</p>
133 <p>La BNF du format du fragment est la suivante :</p>
135 <pre> stream = 0*(fragment)
137 fragment = header CRLF body CRLF
139 header = length SPC timestamp SPC ( request | response ) SPC uuid SPC count
141 length = <longueur de fragment sur 16 octets hexadécimaux>
142 timestamp = <temps depuis 1970 en microsecondes sur 16 octets hexadécimaux>
145 uuid = <uuid formaté de la connexion>
146 count = <numéro hexadécimal du fragment dans la connexion>
148 body = <contenu binaire du fragment>
150 SPC = <un espace>
151 CRLF = <un retour chariot suivi d'une nouvelle ligne></pre>
153 <p>Tous les fragments d'une connexion ou d'une requête partagent le
154 même UUID, selon que les connexions ou les requêtes sont
155 enregistrées ou non. Si les connexions sont enregistrées, plusieurs
156 requêtes peuvent apparaître dans la même connexion. Un fragment de
157 longueur nulle indique la fin de la connexion.</p>
159 <p>Certains fragments peuvent manquer ou être supprimés si le
160 processus qui les lit est trop lent. Si cela se produit, il y aura
161 des trous dans le comptage des connections. Un avertissement
162 indiquant l'UUID et le numéro du fragment supprimé sera enregistré
163 dans le journal des erreurs.</p>
165 <p>En cas de crash ou d'arrêt forcé du processus httpd, il est
166 possible que le fragment vide de terminaison n'apparaisse pas. Cela
167 peut aussi se produire si le processus qui lit les fragments n'est
168 pas assez rapide.</p>
171 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
172 <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>
173 <table class="directive">
174 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic entrant dans le serveur à chaque
176 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseConnectionInput <var>[ block | nonblock ]</var> <var>filename</var></code></td></tr>
177 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
178 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
179 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
180 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr>
181 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
184 <p>Capture le trafic entrant dans le serveur à chaque connexion.
185 Plusieurs requêtes seront capturées pour la même connexion si les
186 connexions persistantes sont activées.</p>
188 <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseConnectionInput connection-input.firehose</pre>
192 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
193 <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>
194 <table class="directive">
195 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic sortant du serveur à chaque connexion</td></tr>
196 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseConnectionOutput <var>[ block | nonblock ]</var> <var>filename</var></code></td></tr>
197 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
198 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
199 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
200 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr>
201 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
204 <p>Capture le trafic sortant du serveur à chaque connexion.
205 Plusieurs requêtes seront capturées pour la même connexion si les
206 connexions persistantes sont activées.
209 <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseConnectionOutput connection-output.firehose</pre>
213 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
214 <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>
215 <table class="directive">
216 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic entrant dans mod_proxy</td></tr>
217 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseProxyConnectionInput <var>[ block | nonblock ]</var> <var>filename</var></code></td></tr>
218 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
219 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
220 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
221 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr>
222 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td /></tr>
224 <p>Capture le trafic reçu par mod_proxy.</p>
226 <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseProxyConnectionInput proxy-input.firehose</pre>
230 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
231 <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>
232 <table class="directive">
233 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic envoyé par mod_proxy</td></tr>
234 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseProxyConnectionOutput <var>[ block | nonblock ]</var> <var>filename</var></code></td></tr>
235 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
236 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
237 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
238 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr>
239 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
242 <p>Capture le trafic envoyé par mod_proxy.</p>
244 <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseProxyConnectionOutput proxy-output.firehose</pre>
248 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
249 <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>
250 <table class="directive">
251 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic entrant dans le serveur à chaque requête</td></tr>
252 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseRequestInput <var>[ block | nonblock ]</var> <var>filename</var></code></td></tr>
253 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
254 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
255 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
256 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr>
257 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
260 <p>Capture le trafic entrant dans le serveur à chaque requête. Les
261 requêtes sont capturées séparément, que les connexions persistantes
262 soient activées ou non.</p>
264 <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseRequestInput request-input.firehose</pre>
268 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
269 <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>
270 <table class="directive">
271 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic sortant du serveur à chaque requête</td></tr>
272 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseRequestOutput <var>[ block | nonblock ]</var> <var>filename</var></code></td></tr>
273 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
274 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
275 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
276 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr>
277 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
280 <p>Capture le trafic sortant du serveur à chaque requête. Les
281 requêtes sont capturées séparément, que les connexions persistantes
282 soient activées ou non.</p>
284 <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseRequestOutput request-output.firehose</pre>
289 <div class="bottomlang">
290 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_firehose.html" hreflang="en" rel="alternate" title="English"> en </a> |
291 <a href="../fr/mod/mod_firehose.html" title="Français"> fr </a></p>
292 </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 again 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 Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
293 <script type="text/javascript"><!--//--><![CDATA[//><!--
294 var comments_shortname = 'httpd';
295 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_firehose.html';
297 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
298 d.write('<div id="comments_thread"><\/div>');
299 var s = d.createElement('script');
300 s.type = 'text/javascript';
302 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
303 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
306 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
308 })(window, document);
309 //--><!]]></script></div><div id="footer">
310 <p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
311 <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[//><!--
312 if (typeof(prettyPrint) !== 'undefined') {