mageekblog - Mot-clé - portsLe blog personnel de Frédéric Hardy. Au menu, PHP, agilité, FreeBSD, cuisine et photographies.2021-12-02T08:20:54+01:00Frédéric Hardyurn:md5:26874ca5b8cd4cac8d08b0e68e64f63aDotclearMysqlsniffer rentre au port officiellementurn:md5:f00ff08b6ffd089a3f37f3acd7113c832010-06-03T19:18:00+02:002010-06-09T18:14:13+02:00mageekguyFreeBSDFreeBSDmysqlsnifferportports<p>Après une petite semaine de validation, mon <a href="http://www.freebsd.org/ports/">port</a> de <a href="http://blog.mageekbox.net/?post/2010/05/26/Mysqlsniffer-rentre-au-port">mysqlsniffer</a> vient d’être intégré officiellement dans <a href="http://www.freebsd.org">FreeBSD</a>.</p> <blockquote><pre>Synopsis: new port: databases/mysqlsniffer, tcpdump clone specifically for MySQL<br /><br />State-Changed-From-To: open->closed<br />State-Changed-By: miwi<br />State-Changed-When: Thu Jun 3 17:07:45 UTC 2010<br />State-Changed-Why: <br />New port added. Thanks!<br /><br /><a href="http://www.freebsd.org/cgi/query-pr.cgi?pr=147079">http://www.freebsd.org/cgi/query-pr.cgi?pr=14707</a></pre></blockquote>http://blog.mageekbox.net/?post/2010/06/03/Mysqlsniffer-rentre-au-port-officiellement#comment-formhttp://blog.mageekbox.net/?feed/atom/comments/134Mysqlsniffer rentre au porturn:md5:05bb4ecb8b0093a4cb040e13d413b2d72010-05-26T17:18:00+02:002010-05-27T08:26:21+02:00mageekguyFreeBSDFreeBSDmysqlsnifferports<p>Il y a peu de temps, j'ai découvert l'utilitaire <a href="http://www.john-jean.com/blog/sysadmin/tracer-les-requetes-mysql-en-cours-dexecution-330"><code>mysqlsniffer</code></a>, qui permet de capturer le trafic SQL reçu et envoyé par un serveur mysql, même s'il est en production.</p>
<p>Comme il répond à l'une de mes problématques récurrentes, à tel point que je me demande comment j'ai pu ignorer son existence jusqu'ici, j'ai décidé de l'installer sur ma station de travail, pour le tester.</p>
<p>Or, j'utilise FreeBSD comme système d'exploitation au quotidien, et <a href="http://www.john-jean.com/blog/sysadmin/tracer-les-requetes-mysql-en-cours-dexecution-330"><code>mysqlsniffer</code></a> ne figure pas dans les <a href="http://www.freebsd.org/ports/"><code>ports</code></a>.</p> <p>Il ne me restait donc plus qu'à le compiler manuellement.</p>
<p>J'ai donc télécharger les <a href="http://hackmysql.com/code/mysqlsniffer.tgz">sources</a> de <a href="http://www.john-jean.com/blog/sysadmin/tracer-les-requetes-mysql-en-cours-dexecution-330"><code>mysqlsniffer</code></a>, je les ai décompressé, et j'ai voulu les compiler à l'aide de la commande suivante :</p>
<blockquote><pre class="lang-none"><code># gcc -O2 -lpcap -o mysqlsniffer mysqlsniffer.c packet_handlers.c misc.c</code></pre></blockquote>
<p>Cependant, au lieu d'obtenir l'éxecutable attendu, j'ai obtenu les messages d'erreurs suivants :</p>
<blockquote><pre class="lang-none"><code>In file included from packet_handlers.c:8:<br />state_map.h:3: error: expected ')' before '*' token<br />state_map.h:7: error: expected specifier-qualifier-list before 'u_char'<br />In file included from packet_handlers.c:9:<br />packet_handlers.h:10: error: expected ')' before '*' token<br />packet_handlers.h:11: error: expected ')' before '*' token<br />packet_handlers.h:12: error: expected ')' before '*' token<br />packet_handlers.h:13: error: expected ')' before '*' token<br />packet_handlers.h:14: error: expected ')' before '*' token<br />packet_handlers.h:15: error: expected ')' before '*' token<br />...<br /></code></pre></blockquote>
<p><a href="http://www.john-jean.com/blog/sysadmin/tracer-les-requetes-mysql-en-cours-dexecution-330"><code>mysqlsniffer</code></a> utilise en effet des types de variable de la forme <code>u_*</code>, qui sont définis dans <code><sys/types.h></code><sys types.h=""> sous <a href="http://www.freebsd.org">FreeBSD</a>.</sys></p>
<p><sys types.h="">Le compilateur se trouve donc dans l'impossibilité de compiler les sources vu que le code n'inclus pas </sys><code><sys/types.h></code>.</p>
<p>J'ai donc créé les patchs nécessaires, et tant qu'à faire ce peu, j'en ai profité pour faire le <a href="http://www.freebsd.org/ports/"><code>port</code></a> qui permet d'installer directement <a href="http://www.john-jean.com/blog/sysadmin/tracer-les-requetes-mysql-en-cours-dexecution-330"><code>mysqlsniffer</code></a> sous <a href="http://www.freebsd.org/">FreeBSD</a>.</p>
<p>J'ai soumis ma création pour qu'elle soit ajouté à l'arbre des <a href="http://www.freebsd.org/ports/"><code>ports</code></a> de <a href="http://www.freebsd.org">FreeBSD</a>, mais le processus de validation peut prendre du temps, donc en attendant, il est joint à ce billet.</p>
<p>Il suffit de le décompresser dans le répertoire contenant les <a href="http://www.freebsd.org/ports/"><code>ports</code></a>.</p>http://blog.mageekbox.net/?post/2010/05/26/Mysqlsniffer-rentre-au-port#comment-formhttp://blog.mageekbox.net/?feed/atom/comments/131Vade mecumurn:md5:f4b6487f1d64d7dabd45fb45a541fc6d2010-02-17T15:51:00+01:002010-02-17T15:57:07+01:00mageekguyTipsFreeBSDports <p>Pour désactiver le <a hreflang="en" href="http://en.wikipedia.org/wiki/Checksum">checksum</a> lors de la compilation d'un <a hreflang="en" href="http://en.wikipedia.org/wiki/FreeBSD_Ports">port</a> de <a hreflang="en" href="http://www.freebsd.org">FreeBSD</a>, il faut définir la variable d'environnement <code>NO_CHECKSUM</code>.</p>
<p>Si le <code><a hreflang="en" href="http://en.wikipedia.org/wiki/Shell_%28computing%29">shell</a></code> courant est <code><a hreflang="en" href="http://en.wikipedia.org/wiki/Bash">bash</a></code>, il faut donc, si nous sommes déjà dans le répertoire du <a hreflang="en" href="http://en.wikipedia.org/wiki/FreeBSD_Ports">port</a> que nous souhaitons installer, éxécuter la commande suivante :</p>
<pre><code>$ export NO_CHECKSUM=TRUE && make install<br /></code></pre>
<p>Et non, ce billet n'a aucun rapport avec un quelconque <a href="http://fr.wikipedia.org/wiki/Vade_Mecum">dentifrice</a>.</p>http://blog.mageekbox.net/?post/2010/02/17/Vademecum#comment-formhttp://blog.mageekbox.net/?feed/atom/comments/86