]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_firehose.xml.fr
XML update.
[apache] / docs / manual / mod / mod_firehose.xml.fr
1 <?xml version="1.0"?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision : 1673947 -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- $LastChangedRevision: 2015042601 $ -->
7
8 <!--
9  Licensed to the Apache Software Foundation (ASF) under one or more
10  contributor license agreements.  See the NOTICE file distributed with
11  this work for additional information regarding copyright ownership.
12  The ASF licenses this file to You under the Apache License, Version 2.0
13  (the "License"); you may not use this file except in compliance with
14  the License.  You may obtain a copy of the License at
15
16      http://www.apache.org/licenses/LICENSE-2.0
17
18  Unless required by applicable law or agreed to in writing, software
19  distributed under the License is distributed on an "AS IS" BASIS,
20  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  See the License for the specific language governing permissions and
22  limitations under the License.
23 -->
24
25 <modulesynopsis metafile="mod_firehose.xml.meta">
26
27 <name>mod_firehose</name>
28 <description>Multiplexage des entr&eacute;es/sorties vers un fichier ou un pipe.</description>
29 <status>Extension</status>
30 <sourcefile>mod_firehose.c</sourcefile>
31 <identifier>firehose_module</identifier>
32
33 <summary>
34     <p><code>mod_firehose</code> fournit un m&eacute;canisme permettant
35     d'enregistrer les donn&eacute;es transmises entre le serveur httpd et le
36     client au niveau &eacute;l&eacute;mentaire de la connexion dans un fichier ou un
37     pipe, de fa&ccedil;on &agrave; ce que les donn&eacute;es puissent &ecirc;tre analys&eacute;es ou
38     rejou&eacute;es ult&eacute;rieurement par le serveur. Il s'apparente &agrave; un "tcpdump
39     pour httpd".</p>
40
41     <p>Les connexions sont enregistr&eacute;es apr&egrave;s d&eacute;codage de la couche SSL,
42     et peuvent ainsi &ecirc;tre utilis&eacute;es dans le cadre d'une r&eacute;quisition
43     l&eacute;gale.</p>
44
45     <p>L'utilitaire <program>firehose</program> permet en retour de
46     d&eacute;multiplexer le flux enregistr&eacute; dans des fichiers individuels pour
47     analyse ou rejeu via des outils tels que <code>netcat</code>.</p>
48
49     <note><title>AVERTISSEMENT</title>Ce module ignore tout m&eacute;canisme
50     invoqu&eacute; au niveau de la requ&ecirc;te pour rendre les donn&eacute;es priv&eacute;es. Il
51     est donc de la responsabilit&eacute; de l'administrateur de s'assurer que
52     les donn&eacute;es priv&eacute;es ne seront pas compromises par son utilisation.
53     </note>
54
55 </summary>
56 <seealso><program>firehose</program></seealso>
57
58 <section id="enable">
59     <title>Activation de la "Lance &agrave; incendie" (Firehose)</title>
60
61     <p>Pour activer ce module, il doit &ecirc;tre compil&eacute; et charg&eacute; via la
62     configuration de votre instance httpd courante, et les directives
63     ci-dessous permettent de s&eacute;lectionner les donn&eacute;es que vous souhaitez
64     enregistrer.</p>
65     
66     <p>Il est possible d'enregistrer les donn&eacute;es entrantes et sortantes
67     dans le m&ecirc;me fichier, car la direction du flux est indiqu&eacute;e dans
68     chaque fragment.</p>
69
70     <p>Il est possible d'&eacute;crire vers des fichiers normaux ou des listes
71     fifos (pipes). Dans le cas des listes fifos, mod_firehose fait en
72     sorte que la taille des paquets ne d&eacute;passe pas la valeur de PIPE_BUF
73     afin de s'assurer que l'&eacute;criture de ces derniers s'effectue en une
74     seule fois.</p>
75
76     <p>Si une liste fifo sous forme de pipe doit &ecirc;tre utilis&eacute;e, pour que
77     cette derni&egrave;re soit ouverte en &eacute;criture, certaines donn&eacute;es doivent
78     en &ecirc;tre extraites avant le d&eacute;marrage de httpd. Si l'ouverture du
79     pipe &eacute;choue, mod_firehose ne sera pas activ&eacute;, et le serveur sera
80     lanc&eacute; normalement.</p>
81
82     <p>Par d&eacute;faut, toute tentative d'&eacute;criture bloque le serveur. Si le
83     serveur a &eacute;t&eacute; compil&eacute; avec APR version 2.0 ou sup&eacute;rieure, et si le
84     param&egrave;tre "nonblock" a &eacute;t&eacute; sp&eacute;cifi&eacute;, les &eacute;critures dans les fichiers
85     seront non blocantes, et tout d&eacute;passement de tampon entra&icirc;nera la
86     perte des donn&eacute;es de d&eacute;bogage. Dans ce cas, il est possible donner
87     la priorit&eacute; &agrave; l'ex&eacute;cution du serveur sur l'enregistrement des
88     donn&eacute;es firehose.</p>
89
90 </section>
91
92 <section id="format">
93     <title>Format du flux</title>
94
95     <p>En g&eacute;n&eacute;ral, le serveur g&egrave;re plusieurs connexions simultan&eacute;ment,
96     et de ce fait, les requ&ecirc;tes et les r&eacute;ponses doivent &ecirc;tre
97     multiplex&eacute;es avant d'&ecirc;tre &eacute;crites dans le firehose.</p>
98     
99     <p>Chaque fragment se pr&eacute;sente sous la forme d'un texte en clair
100     de fa&ccedil;on &agrave; ce qu'un firehose puisse &ecirc;tre ouvert et inspect&eacute; par un
101     &eacute;diteur de texte standard. Il est aussi possible d'utiliser
102     l'utilitaire <program>firehose</program> pour d&eacute;multiplexer le
103     firehose en requ&ecirc;tes ou connexions individuelles.</p>
104
105     <p>La taille maximale des fragments multiplex&eacute;s est d&eacute;finie par la
106     variable PIPE_BUF. Elle correspond &agrave; la taille maximale d'un
107     &eacute;l&eacute;ment que le syst&egrave;me peut &eacute;crire. Si la taille des fragments
108     multiplex&eacute;s reste en dessous de PIPE_BUF, le module garantit que les
109     contenus des diff&eacute;rents fragments ne se recouperont pas. La valeur
110     de PIPE_BUF varie en fonction du syst&egrave;me d'exploitation.</p>
111
112     <p>La BNF du format du fragment est la suivante :</p>
113
114     <pre>
115  stream = 0*(fragment)
116
117  fragment = header CRLF body CRLF
118
119  header = length SPC timestamp SPC ( request | response ) SPC uuid SPC count
120
121  length = &lt;longueur de fragment sur 16 octets hexad&eacute;cimaux>
122  timestamp = &lt;temps depuis 1970 en microsecondes sur 16 octets hexad&eacute;cimaux>
123  request = "&lt;"
124  response = ">"
125  uuid = &lt;uuid format&eacute; de la connexion>
126  count = &lt;num&eacute;ro hexad&eacute;cimal du fragment dans la connexion>
127
128  body = &lt;contenu binaire du fragment>
129
130  SPC = &lt;un espace>
131  CRLF = &lt;un retour chariot suivi d'une nouvelle ligne>
132     </pre>
133
134     <p>Tous les fragments d'une connexion ou d'une requ&ecirc;te partagent le
135     m&ecirc;me UUID, selon que les connexions ou les requ&ecirc;tes sont
136     enregistr&eacute;es ou non. Si les connexions sont enregistr&eacute;es, plusieurs
137     requ&ecirc;tes peuvent appara&icirc;tre dans la m&ecirc;me connexion. Un fragment de
138     longueur nulle indique la fin de la connexion.</p>
139
140     <p>Certains fragments peuvent manquer ou &ecirc;tre supprim&eacute;s si le
141     processus qui les lit est trop lent. Si cela se produit, il y aura
142     des trous dans le comptage des connections. Un avertissement
143     indiquant l'UUID et le num&eacute;ro du fragment supprim&eacute; sera enregistr&eacute;
144     dans le journal des erreurs.</p>
145
146     <p>En cas de crash ou d'arr&ecirc;t forc&eacute; du processus httpd, il est
147     possible que le fragment vide de terminaison n'apparaisse pas. Cela
148     peut aussi se produire si le processus qui lit les fragments n'est
149     pas assez rapide.</p>
150
151 </section>
152
153 <directivesynopsis>
154
155 <name>FirehoseConnectionInput</name>
156 <description>Capture le trafic entrant dans le serveur &agrave; chaque
157 connexion.</description>
158 <syntax>FirehoseConnectionInput <var>[ block | nonblock ]</var> <var>filename</var></syntax>
159 <default>none</default>
160 <contextlist><context>server config</context></contextlist>
161 <compatibility>Disponible &agrave; partir de la version 2.5.0 du serveur HTTP
162 Apache.</compatibility>
163
164 <usage>
165     <p>Capture le trafic entrant dans le serveur &agrave; chaque connexion.
166     Plusieurs requ&ecirc;tes seront captur&eacute;es pour la m&ecirc;me connexion si les
167     connexions persistantes sont activ&eacute;es.</p>
168
169     <example><title>Exemple</title>
170     <highlight language="config">
171       FirehoseConnectionInput connection-input.firehose
172       </highlight>
173     </example>
174 </usage>
175
176 </directivesynopsis>
177
178 <directivesynopsis>
179
180 <name>FirehoseConnectionOutput</name>
181 <description>Capture le trafic sortant du serveur &agrave; chaque connexion</description>
182 <syntax>FirehoseConnectionOutput <var>[ block | nonblock ]</var> <var>filename</var></syntax>
183 <default>none</default>
184 <contextlist><context>server config</context></contextlist>
185 <compatibility>Disponible &agrave; partir de la version 2.5.0 du serveur HTTP
186 Apache.</compatibility>
187
188 <usage>
189     <p>Capture le trafic sortant du serveur &agrave; chaque connexion.
190     Plusieurs requ&ecirc;tes seront captur&eacute;es pour la m&ecirc;me connexion si les
191     connexions persistantes sont activ&eacute;es.
192     </p>
193
194     <example><title>Exemple</title>
195     <highlight language="config">
196       FirehoseConnectionOutput connection-output.firehose
197       </highlight>
198     </example>
199 </usage>
200
201 </directivesynopsis>
202
203 <directivesynopsis>
204
205 <name>FirehoseRequestInput</name>
206 <description>Capture le trafic entrant dans le serveur &agrave; chaque requ&ecirc;te</description>
207 <syntax>FirehoseRequestInput <var>[ block | nonblock ]</var> <var>filename</var></syntax>
208 <default>none</default>
209 <contextlist><context>server config</context></contextlist>
210 <compatibility>Disponible &agrave; partir de la version 2.5.0 du serveur HTTP
211 Apache.</compatibility>
212
213 <usage>
214     <p>Capture le trafic entrant dans le serveur &agrave; chaque requ&ecirc;te. Les
215     requ&ecirc;tes sont captur&eacute;es s&eacute;par&eacute;ment, que les connexions persistantes
216     soient activ&eacute;es ou non.</p>
217
218     <example><title>Exemple</title>
219     <highlight language="config">
220       FirehoseRequestInput request-input.firehose
221       </highlight>
222     </example>
223 </usage>
224
225 </directivesynopsis>
226
227 <directivesynopsis>
228
229 <name>FirehoseRequestOutput</name>
230 <description>Capture le trafic sortant du serveur &agrave; chaque requ&ecirc;te</description>
231 <syntax>FirehoseRequestOutput <var>[ block | nonblock ]</var> <var>filename</var></syntax>
232 <default>none</default>
233 <contextlist><context>server config</context></contextlist>
234 <compatibility>Disponible &agrave; partir de la version 2.5.0 du serveur HTTP
235 Apache.</compatibility>
236
237 <usage>
238     <p>Capture le trafic sortant du serveur &agrave; chaque requ&ecirc;te. Les
239     requ&ecirc;tes sont captur&eacute;es s&eacute;par&eacute;ment, que les connexions persistantes
240     soient activ&eacute;es ou non.</p>
241
242     <example><title>Exemple</title>
243     <highlight language="config">
244       FirehoseRequestOutput request-output.firehose
245       </highlight>
246     </example>
247 </usage>
248
249 </directivesynopsis>
250
251 <directivesynopsis>
252
253 <name>FirehoseProxyConnectionInput</name>
254 <description>Capture le trafic entrant dans mod_proxy</description>
255 <syntax>FirehoseProxyConnectionInput <var>[ block | nonblock ]</var> <var>filename</var></syntax>
256 <default>none</default>
257 <contextlist><context>server config</context></contextlist>
258 <compatibility></compatibility>
259
260 <usage>
261     <p>Capture le trafic re&ccedil;u par mod_proxy.</p>
262
263     <example><title>Exemple</title>
264     <highlight language="config">
265       FirehoseProxyConnectionInput proxy-input.firehose
266       </highlight>
267     </example>
268 </usage>
269
270 </directivesynopsis>
271
272 <directivesynopsis>
273
274 <name>FirehoseProxyConnectionOutput</name>
275 <description>Capture le trafic envoy&eacute; par mod_proxy</description>
276 <syntax>FirehoseProxyConnectionOutput <var>[ block | nonblock ]</var> <var>filename</var></syntax>
277 <default>none</default>
278 <contextlist><context>server config</context></contextlist>
279 <compatibility>Disponible &agrave; partir de la version 2.5.0 du serveur HTTP
280 Apache.</compatibility>
281
282 <usage>
283     <p>Capture le trafic envoy&eacute; par mod_proxy.</p>
284
285     <example><title>Exemple</title>
286     <highlight language="config">
287       FirehoseProxyConnectionOutput proxy-output.firehose
288       </highlight>
289     </example>
290 </usage>
291
292 </directivesynopsis>
293
294 </modulesynopsis>