<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
<channel>
<title>Debian or not to be ? 2.0</title>
<atom:link href="http://www.crashdump.fr/feed/" rel="self" type="application/rss+xml" />
<link>http://www.crashdump.fr</link>
<description>that is the question</description>
<lastBuildDate>Mon, 23 Jan 2012 13:14:39 +0000</lastBuildDate>
<language>fr</language>
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
<generator>http://wordpress.org/?v=3.3.2</generator>
<item>
<title>Utiliser le Client Cisco VPN avec Mac OS X Lion</title>
<link>http://www.crashdump.fr/apple/utiliser-le-client-cisco-vpn-avec-mac-os-x-lion-917/</link>
<comments>http://www.crashdump.fr/apple/utiliser-le-client-cisco-vpn-avec-mac-os-x-lion-917/#comments</comments>
<pubDate>Tue, 22 Nov 2011 11:21:28 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Apple]]>
</category>
<category>
<![CDATA[32 bit]]>
</category>
<category>
<![CDATA[64 bit]]>
</category>
<category>
<![CDATA[Cisco VPN]]>
</category>
<category>
<![CDATA[kernel]]>
</category>
<category>
<![CDATA[Lion]]>
</category>
<category>
<![CDATA[Snow leopard]]>
</category>
<guid isPermaLink="false">https://www.crashdump.fr/?p=917</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2011/11/vpncisco.jpeg" class="attachment-featured-image wp-post-image" alt="vpncisco" title="vpncisco" /></p><br />Malheureusement je me suis rendu compte ce matin que le client Cisco VPN pour OS X ne fonctionnait plus sous Lion. D&#8217;après ce que j&#8217;ai pu obtenir comme informations une mise à jour est bien dans les bacs, mais si comme moi vous avez besoin d&#8217;utiliser ce logiciel il existe bien une solution… Quelle est [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2011/11/vpncisco.jpeg" class="attachment-featured-image wp-post-image" alt="vpncisco" title="vpncisco" /></p><br /><p><em>Malheureusement je me suis rendu compte ce matin que le client Cisco VPN pour OS X ne fonctionnait plus sous Lion. D&#8217;après ce que j&#8217;ai pu obtenir comme informations une mise à jour est bien dans les bacs, mais si comme moi vous avez besoin d&#8217;utiliser ce logiciel il existe bien une solution…<br />
</em><br />
Quelle est la différence notable entre Snow Leopard et Lion ? Réponse: Le Kernel (Noyau). Sous SL, le noyau est en mode 32-bits alors qu&#8217;avec Lion il est en 64-bits… Ce qui pose problème avec le Client VPN Cisco. Les solutions:</p>
<p><em>Cette méthode a été testée avec la version suivante: Cisco VPN Client 4.9.01.0.280</em></p>
<h2>Méthode 1: De manière ponctuelle</h2>
<p>Il vous suffit d&#8217;allumer votre Mac en maintenant les touches &laquo;&nbsp;3 &nbsp;&raquo; et &laquo;&nbsp;2 &nbsp;&raquo; durant le démarrage. Le noyau du système va démarrer en 32-bit, ce qui vous permettra d&#8217;exécuter le Cisco VPN Client !</p>
<p><em>Note: Au prochain redémarrage vous utiliserez à nouveau un noyau 64-bit.</em></p>
<h2>Méthode 2: De manière permanente</h2>
<p>Pour sélectionner un noyau 32-bit sur le disque de démarrage actuel, utilisez la commande suivante dans un terminal:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">computer:~ user$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> systemsetup <span style="color: #660033;">-setkernelbootarchitecture</span> i386<br />
Password:<br />
setting kernel architecture to: i386<br />
changes to kernel architecture have been saved.</div></td></tr></tbody></table></div>
<p>Au prochain redémarrage le noyau de Mac OS X Lion sera en 32-bit et le Cisco VPN Client fonctionnera !</p>
<p>Note: Ces réglages sont ajoutés au fichier suivent et prendront effet à chaque démarrage de la machine depuis ce disque:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>Preferences<span style="color: #000000; font-weight: bold;">/</span>SystemConfiguration<span style="color: #000000; font-weight: bold;">/</span>com.apple.Boot.plist</div></td></tr></tbody></table></div>
<p>Pour revenir à un noyau 64-bit, la commande est:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">computer:~ user$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> systemsetup <span style="color: #660033;">-setkernelbootarchitecture</span> x86_64<br />
Password:<br />
setting kernel architecture to: i386<br />
changes to kernel architecture have been saved.</div></td></tr></tbody></table></div>
<h2>Tips: Déterminer si votre Kernel est en mode 32 ou 64 bit</h2>
<p>Ouvrez un terminal et tapez:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">computer:~ user$ <span style="color: #c20cb9; font-weight: bold;">uname</span> <span style="color: #660033;">-a</span></div></td></tr></tbody></table></div>
<p>Si la réponse contient &laquo;&nbsp;I386 &laquo;&nbsp;, vous êtes en 32 bit:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">root:xnu-1699.22.81~<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>RELEASE_I386 i386</div></td></tr></tbody></table></div>
<p>Si la réponse contient &laquo;&nbsp;X86_64 &laquo;&nbsp;, vous êtes en 64 bit:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">root:xnu-1699.24.8~<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>RELEASE_X86_64 x86_64</div></td></tr></tbody></table></div>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/apple/utiliser-le-client-cisco-vpn-avec-mac-os-x-lion-917/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
<item>
<title>nscd: prune_cache: Assertion `dh-&gt;usable&#8217;</title>
<link>http://www.crashdump.fr/debian/nscd-prune_cache-assertion-dh-usable-858/</link>
<comments>http://www.crashdump.fr/debian/nscd-prune_cache-assertion-dh-usable-858/#comments</comments>
<pubDate>Fri, 25 Jun 2010 09:06:06 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Debian]]>
</category>
<guid isPermaLink="false">https://www.crashdump.fr/?p=858</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2010/06/bug.jpeg" class="attachment-featured-image wp-post-image" alt="bug" title="bug" /></p><br />Comme vous le savez, tous les gros bugs arrivent toujours le vendredi&#8230; celui-ci n&#8217;as pas dérogé à la règle. Mise en situation: Un des serveurs mail que j&#8217;administre utilise un serveur LDAP distant pour l&#8217;authentification, le réseau entre les deux étant très sollicité, j&#8217;ai donc tout naturellement installé le service NSCD qui permet de mettre [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2010/06/bug.jpeg" class="attachment-featured-image wp-post-image" alt="bug" title="bug" /></p><br /><p><em>Comme vous le savez, tous les gros bugs arrivent toujours le vendredi&#8230; celui-ci n&#8217;as pas dérogé à la règle.</em></p>
<p>Mise en situation: Un des serveurs mail que j&#8217;administre utilise un serveur LDAP distant pour l&#8217;authentification, le réseau entre les deux étant très sollicité, j&#8217;ai donc tout naturellement installé le service NSCD qui permet de mettre en cache les requêtes des services de noms les plus courants. Ce setup a fonctionné à merveille pendant un an&#8230;</p>
<p>Ce matin, j&#8217;ai eu des remontés de panne d&#8217;utilisateurs qui essuyaient des échecs (&laquo;&nbsp;Auth failed&nbsp;&raquo;) lors du relevé quotidien de leurs mail, alors que d&#8217;autres n&#8217;avaient aucun problème. On pouvait noter cet erreur dans les logs:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">could not identify user <span style="color: #7a0874; font-weight: bold;">&#40;</span>from getpwnam NSCD<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$user</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span></div></td></tr></tbody></table></div>
<p>Après moultes recherches, infructueuses.. (n&#8217;oublions pas qu&#8217;il sagit de la panne <del datetime="2010-06-25T08:24:00+00:00">chiante</del> embêtante du vendredi) .. je me rends compte du fait que le service de cache nscd est au tas (et que bien évidemment je n&#8217;avais reçu aucune alerte. Vendredi, tout ça&#8230;)</p>
<p>Démarrage en mode debug du daemon:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># nscd -d</span><br />
...<br />
nscd: cache.c:<span style="color: #000000;">384</span>: prune_cache: Assertion <span style="color: #ff0000;">'dh-&gt;usable'</span> failed.</div></td></tr></tbody></table></div>
<p>Invalidons le cache:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># nscd -i hosts</span><br />
<span style="color: #666666; font-style: italic;"># nscd -i passwd</span><br />
<span style="color: #666666; font-style: italic;"># nscd -i group</span></div></td></tr></tbody></table></div>
<p>Le service s&#8217;écroule au bout de 30s de travail&#8230; Passons aux choses <del datetime="2010-06-25T08:24:00+00:00">sérieuses</del> brutales.</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># rm -f /var/cache/nscd/*</span><br />
<span style="color: #666666; font-style: italic;"># /etc/init.d/nscd start</span></div></td></tr></tbody></table></div>
<p>Le tour est joué ! Trois heures que les choses ont repris, la chose est stable.</p>
<p><em>Pour information un bug est ouvert sur le bugtrack et il sagit de la version:</em></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># nscd -V</span><br />
nscd <span style="color: #7a0874; font-weight: bold;">&#40;</span>GNU libc<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">2.7</span></div></td></tr></tbody></table></div>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/debian/nscd-prune_cache-assertion-dh-usable-858/feed/</wfw:commentRss>
<slash:comments>2</slash:comments>
</item>
<item>
<title>Tips: Serveur web d&#8217;urgence avec Netcat</title>
<link>http://www.crashdump.fr/reseaux/tips-serveur-web-durgence-avec-netcat-832/</link>
<comments>http://www.crashdump.fr/reseaux/tips-serveur-web-durgence-avec-netcat-832/#comments</comments>
<pubDate>Mon, 03 May 2010 12:57:44 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Code]]>
</category>
<category>
<![CDATA[Réseaux]]>
</category>
<guid isPermaLink="false">https://www.crashdump.fr/?p=832</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2010/05/nc.jpg" class="attachment-featured-image wp-post-image" alt="nc" title="nc" /></p><br />Il peut arriver que l&#8217;on ait ponctuellement besoin de publier un fichier html/txt en http sur une machine.. Pour ça inutile d&#8217;installer un serveur web lourd comme apache. Je vous avais déjà parlé du serveur web en python en une ligne, cette fois on remet ça, mais avec NC: 1$ while true; do nc -l [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2010/05/nc.jpg" class="attachment-featured-image wp-post-image" alt="nc" title="nc" /></p><br /><p><em>Il peut arriver que l&#8217;on ait ponctuellement besoin de publier un fichier html/txt en http sur une machine.. Pour ça inutile d&#8217;installer un serveur web lourd comme apache. Je vous avais déjà parlé du <a href="http://www.crashdump.fr/reseaux/serveur-http-python-en-une-ligne-649/">serveur web en python en une ligne</a>, cette fois on remet ça, mais avec NC:</em></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">true</span>; <span style="color: #000000; font-weight: bold;">do</span> nc <span style="color: #660033;">-l</span> <span style="color: #660033;">-p</span> <span style="color: #000000;">8080</span> <span style="color: #000000; font-weight: bold;">&lt;</span> index.html; <span style="color: #000000; font-weight: bold;">done</span></div></td></tr></tbody></table></div>
<p>(attention, la version BSD de Netcat diffère au niveau des arguments, pour la même chose il faut supprimer le &laquo;&nbsp;-p&nbsp;&raquo;):</p>
<p>Les requêtes de votre navigateur seront renvoyées vers le stdout:</p>
<div class="codecolorer-container http default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="http codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">GET</span> <span style="color: #000000; font-weight: bold;">/</span> HTTP<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1.1</span><br />
<span style="color: #000000; font-weight: bold;">Host:</span> 127.0.0.1:<span style="color: #000000;">8080</span><br />
<span style="color: #000000; font-weight: bold;">Connection:</span> keep-alive<br />
<span style="color: #000000; font-weight: bold;">User-Agent:</span> Mozilla<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">5.0</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>Macintosh; U; Intel Mac OS X <span style="color: #000000;">10</span>_5_2; en-US<span style="color: #7a0874; font-weight: bold;">&#41;</span> AppleWebKit<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">533.2</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>KHTML, like Gecko<span style="color: #7a0874; font-weight: bold;">&#41;</span> Chrome<span style="color: #000000; font-weight: bold;">/</span>5.0.342.5 Safari<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">533.2</span><br />
<span style="color: #000000; font-weight: bold;">Accept:</span> application<span style="color: #000000; font-weight: bold;">/</span>xml,application<span style="color: #000000; font-weight: bold;">/</span>xhtml+xml,text<span style="color: #000000; font-weight: bold;">/</span>html;<span style="color: #007800;">q</span>=<span style="color: #000000;">0.9</span>,text<span style="color: #000000; font-weight: bold;">/</span>plain;<span style="color: #007800;">q</span>=<span style="color: #000000;">0.8</span>,image<span style="color: #000000; font-weight: bold;">/</span>png,<span style="color: #000000; font-weight: bold;">*/*</span>;<span style="color: #007800;">q</span>=<span style="color: #000000;">0.5</span><br />
<span style="color: #000000; font-weight: bold;">Accept-Encoding:</span> gzip,deflate,sdch<br />
<span style="color: #000000; font-weight: bold;">Accept-Language:</span> fr-FR,fr;<span style="color: #007800;">q</span>=<span style="color: #000000;">0.8</span>,en-US;<span style="color: #007800;">q</span>=<span style="color: #000000;">0.6</span>,en;<span style="color: #007800;">q</span>=<span style="color: #000000;">0.4</span><br />
<span style="color: #000000; font-weight: bold;">Accept-Charset:</span> ISO-<span style="color: #000000;">8859</span>-<span style="color: #000000;">1</span>,utf-<span style="color: #000000;">8</span>;<span style="color: #007800;">q</span>=<span style="color: #000000;">0.7</span>,<span style="color: #000000; font-weight: bold;">*</span>;<span style="color: #007800;">q</span>=<span style="color: #000000;">0.3</span></div></td></tr></tbody></table></div>
<p>On peut ensuite faire ce que l&#8217;on veut avec &#8211; comme simple limite &#8211; son imagination ! Exemple:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">true</span>; <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&lt; pre&gt;<span style="color: #007800;">$(ps aux)</span>&lt; /pre&gt;&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> nc <span style="color: #660033;">-l</span> <span style="color: #000000;">8080</span>; <span style="color: #000000; font-weight: bold;">done</span></div></td></tr></tbody></table></div>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/reseaux/tips-serveur-web-durgence-avec-netcat-832/feed/</wfw:commentRss>
<slash:comments>7</slash:comments>
</item>
<item>
<title>Tips: Man pages en couleurs&#8230;</title>
<link>http://www.crashdump.fr/debian/tips-man-pages-en-couleurs-812/</link>
<comments>http://www.crashdump.fr/debian/tips-man-pages-en-couleurs-812/#comments</comments>
<pubDate>Sat, 24 Apr 2010 11:29:28 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Debian]]>
</category>
<category>
<![CDATA[color]]>
</category>
<category>
<![CDATA[couleur]]>
</category>
<category>
<![CDATA[man pages]]>
</category>
<category>
<![CDATA[most]]>
</category>
<category>
<![CDATA[shell]]>
</category>
<category>
<![CDATA[tips]]>
</category>
<guid isPermaLink="false">http://www.crashdump.fr/?p=812</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2010/04/man_ping_color.jpg" class="attachment-featured-image wp-post-image" alt="man_ping_color" title="man_ping_color" /></p><br />Aujourd&#8217;hui sur IRC j&#8217;ai eu droit a: &#171;&#160;un PDF c&#8217;est mieux que des manpages toutes pourries dans un shell.&#160;&#187; Oui, mais non ! Il existe un moyen simple de colorer joliment vos manpages et donc de les rendre beaucoup plus agréable/pratiques. Vos manpages en couleurs avec most: 1# aptitude install most 1$ export MANPAGER=&#34;/usr/bin/most -s&#34; [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2010/04/man_ping_color.jpg" class="attachment-featured-image wp-post-image" alt="man_ping_color" title="man_ping_color" /></p><br /><p><em>Aujourd&#8217;hui sur IRC j&#8217;ai eu droit a: &laquo;&nbsp;un PDF c&#8217;est mieux que des manpages toutes pourries dans un shell.&nbsp;&raquo;<br />
</em><em>Oui, mais non ! Il existe un moyen simple de colorer joliment vos manpages et donc de les rendre beaucoup plus agréable/pratiques.</em></p>
<h2>Vos manpages en couleurs avec most:</h2>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;"># </span><span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> most</div></td></tr></tbody></table></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">MANPAGER</span>=<span style="color: #ff0000;">&quot;/usr/bin/most -s&quot;</span></div></td></tr></tbody></table></div>
<p>Ce qui nous donne:</p>
<p style="text-align: center;"><a href="http://www.crashdump.fr/wp-content/uploads/2010/04/man_ping_color1.png"><img class="size-thumbnail wp-image-816 aligncenter" title="man_ping_color" src="http://www.crashdump.fr/wp-content/uploads/2010/04/man_ping_color1-430x125.png" alt="" width="430" height="125" /></a></p>
<h2>Pour le supprimer:</h2>
<p>Rien de plus simple, on supprime la variable et on efface toutes traces de most.</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #7a0874; font-weight: bold;">unset</span> MANPAGER</div></td></tr></tbody></table></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;"># </span><span style="color: #c20cb9; font-weight: bold;">aptitude</span> remove most <span style="color: #660033;">--purge</span></div></td></tr></tbody></table></div>
<h2>One more thing:</h2>
<p>On me souffle dans l&#8217;oreillette qu&#8217;il est possible de faire la même chose avec less:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_mb</span>=$<span style="color: #ff0000;">'\E[01;31m'</span><br />
$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_md</span>=$<span style="color: #ff0000;">'\E[01;31m'</span><br />
$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_me</span>=$<span style="color: #ff0000;">'\E[0m'</span><br />
$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_se</span>=$<span style="color: #ff0000;">'\E[0m'</span><br />
$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_so</span>=$<span style="color: #ff0000;">'\E[01;44;33m'</span><br />
$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_ue</span>=$<span style="color: #ff0000;">'\E[0m'</span><br />
$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LESS_TERMCAP_us</span>=$<span style="color: #ff0000;">'\E[01;32m'</span><br />
$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PAGER</span>=<span style="color: #ff0000;">'less'</span></div></td></tr></tbody></table></div>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/debian/tips-man-pages-en-couleurs-812/feed/</wfw:commentRss>
<slash:comments>7</slash:comments>
</item>
<item>
<title>Bugfix: Roundcube quitte immédiatement après le login</title>
<link>http://www.crashdump.fr/tout-et-rien/bugfix-roundcube-quitte-immediatement-apres-le-login-804/</link>
<comments>http://www.crashdump.fr/tout-et-rien/bugfix-roundcube-quitte-immediatement-apres-le-login-804/#comments</comments>
<pubDate>Wed, 21 Apr 2010 12:50:55 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Tout-et-Rien]]>
</category>
<category>
<![CDATA[bug]]>
</category>
<category>
<![CDATA[php]]>
</category>
<category>
<![CDATA[roundcube]]>
</category>
<category>
<![CDATA[solution]]>
</category>
<category>
<![CDATA[suhosin]]>
</category>
<guid isPermaLink="false">http://www.crashdump.fr/?p=804</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2010/04/roundcube.jpg" class="attachment-featured-image wp-post-image" alt="roundcube" title="roundcube" /></p><br />Certains l&#8217;on peut être remarqué, le serveur de crashdump.fr à migré et avec un nouveau setup super sexy: MySQL / NGINX / PHP FastCGI / XCache / Memcached: et donc un billet à venir sur l&#8217;installation de la chose dans les moindres détails. Ceci dit, comme toute nouvelle installation, parfois on se heurte à des [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2010/04/roundcube.jpg" class="attachment-featured-image wp-post-image" alt="roundcube" title="roundcube" /></p><br /><p><em>Certains l&#8217;on peut être remarqué, le serveur de crashdump.fr à migré et avec un nouveau setup super sexy: MySQL / NGINX / PHP FastCGI / XCache / Memcached: et donc un billet à venir sur l&#8217;installation de la chose dans les moindres détails. Ceci dit, comme toute nouvelle installation, parfois on se heurte à des bugs&#8230; pas évidents à résoudre, j&#8217;en ai fait les frais cet après-midi !</em></p>
<p>Roundcube c&#8217;est un webmail super sympa et vraiment bien fichu.. mais je viens de passer deux heures à essayer de régler un bug plutôt gênant: juste après l&#8217;authentification le script me jetai à la porte, comme un malpropre et sans message d&#8217;erreur !</p>
<p>Pour vous la faire courte, c&#8217;est Suhosin qui <del>foutait sa merde</del> est incompatible. Pour corriger le problème il faut modifier son php.ini pour y définir:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">&#91;</span>suhosin<span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
suhosin.session.encrypt = Off</div></td></tr></tbody></table></div>
<p>(avec Apache, il est possible de passer par un .htaccess, ce qui limitera la modification au répertoire de roundcube).</p>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/tout-et-rien/bugfix-roundcube-quitte-immediatement-apres-le-login-804/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>Créer un RamDisk sous OS X</title>
<link>http://www.crashdump.fr/apple/creer-un-ramdisk-sous-os-x-757/</link>
<comments>http://www.crashdump.fr/apple/creer-un-ramdisk-sous-os-x-757/#comments</comments>
<pubDate>Mon, 21 Dec 2009 16:49:52 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Apple]]>
</category>
<category>
<![CDATA[benchmark]]>
</category>
<category>
<![CDATA[disque virtuel]]>
</category>
<category>
<![CDATA[Mac OS X]]>
</category>
<category>
<![CDATA[ramdisk]]>
</category>
<guid isPermaLink="false">https://www.crashdump.fr/?p=757</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/12/ramdisk.png" class="attachment-featured-image wp-post-image" alt="ramdisk" title="ramdisk" /></p><br />J&#8217;ai conscience ne pas vous révéler ici une astuce 0-day, je dirais même que c&#8217;est vieux comme le monde&#8230; si, si, c&#8217;était déjà possible sous OS9 avec vos 64Mb de Ram. Je vous re-sort directement cette astuce de mes vieux cartons, car aujourd&#8217;hui la mémoire vive est à un prix plus qu&#8217;abordable et que toute [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/12/ramdisk.png" class="attachment-featured-image wp-post-image" alt="ramdisk" title="ramdisk" /></p><br /><p><em>J&#8217;ai conscience ne pas vous révéler ici une astuce 0-day, je dirais même que c&#8217;est vieux comme le monde&#8230; si, si, c&#8217;était déjà possible sous OS9 avec vos 64Mb de Ram. Je vous re-sort directement cette astuce de mes vieux cartons, car aujourd&#8217;hui la mémoire vive est à un prix plus qu&#8217;abordable et que toute personne travaillant sur de gros fichiers: vidéos, dumps de toutes sortes, etc.. sait a quel point il est fatiguant d&#8217;attendre que le disque ai fini de gratter pour pouvoir travailler.</p>
<p>J&#8217;entends d&#8217;ici certain d&#8217;entre vous, dire &laquo;&nbsp;Mais #!$@, c&#8217;est quoi ce RamDisk ?&nbsp;&raquo; Et bien, comme son nom l&#8217;indique, il s&#8217;agit d&#8217;un disque dur virtuel travaillant directement sur la Mémoire vive de votre machine préférée&#8230; Oui, c&#8217;est sexy et très rapide !</em></p>
<p>Trêve de blabla, mettons en application et voyons ce que ça donne réellement. Ouvrez votre terminal page 1:</p>
<h2>Chapitre 1. Créer un RamDisk de 1GB.</h2>
<p>La commande dont nous aurons besoin pour créer ce disque se résume en une ligne:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ diskutil erasevolume HFS+ <span style="color: #ff0000;">&quot;ramdisk&quot;</span> <span style="color: #ff0000;">'hdiutil attach -nomount ram://2330860'</span><br />
Started erase on disk1<br />
Unmounting disk<br />
ErasingInitialized <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>rdisk1 <span style="color: #c20cb9; font-weight: bold;">as</span> a <span style="color: #000000;">1</span> GB HFS Plus volume<br />
Mounting disk<br />
Finished erase on disk1 ramdisk</div></td></tr></tbody></table></div>
<p>&laquo;&nbsp;Mais attend c&#8217;est quoi ce chiffre, à la fin, tu nous parlais de 1Go !?&nbsp;&raquo; En réalité les partitions/volumes/images (rayez la mention inutile) sont composées de bloc de 512 Bytes. Pour calculer ce nombre de bloc (ici, 2330860 blocs pour 1Go recherché) il suffit d&#8217;une simple multiplication/division:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000;">2330860</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000;">512</span> = 1.191.400.320. Soit <span style="color: #000000;">1</span> GB.</div></td></tr></tbody></table></div>
<p>Donc la formule à utiliser est:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;NombreDeBlocs = (Taille du volume MB) * 2048</div></td></tr></tbody></table></div>
<p>Voilà, notre disque est monté sur le Bureau et est directement exploitable. Pour l&#8217;éjecter, il suffit &#8211; comme pour tous les volumes sur Os X &#8211; de le jeter à la corbeille.</p>
<p><strong>ATTENTION ! ATTENTION ! ATTENTION ! CECI N&#8217;EST PAS UN EXERCICE.</strong></p>
<p>S&#8217;agissant d&#8217;un volume virtuel en mémoire, une fois éjecté, toutes les donnés présente à l&#8217;intérieur a ce moment-là son purement et simplement PERDUES. Il vous faudra les sauvegarder sur un support physique avant de le démonter&#8230; De plus, si votre ordinateur plante (kernel panic..) ou est éteint (coupure électrique..) la sanction est la même. Je vous aurais prévenu !<br />
Il est possible (voir indispensable) de mettre en place un système de sauvegarde régulier (via cron, par exemple).. on ne va pas être idiot non plus :)</p>
<p><u>Petit rappel</u> &#8212; De nos jours, nous utilisons souvent les termes bit, byte, octet, etc. Pourtant, certaines personnes semblent confondre les unités et me semble qu&#8217;un petit point récapitulatif serait de bon augure.</p>
<p>Il existe trois unités utilisées dans le monde de l&#8217;électronique et de l&#8217;informatique &#8211; mais seulement deux unités en pratique. L&#8217;unité de base est le bit, toujours écrit en minuscule: « b ». Le bit est l&#8217;unité binaire de base des ordinateurs (ayant pour valeur soit 0, soit 1). Puis viens le byte, noté en majuscule: « B ». Un byte est formé de 8 bits « b ». En France,  le mot byte n&#8217;est pas utilisé et c&#8217;est l&#8217;octet « o » (en minuscule) qui est de mise (ndlr: théoriquement&#8230;). En simplifiant :  1 octet « o » = 1 byte « B » = 8 bits « b ».<br />
A noter qu&#8217;en anglais, il faut se méfier de la confusion possible entre bit (bit) et byte (octet):<br />
kb, Mb, Gb&#8230; signifient kilobit, mégabit, gigabit&#8230;tandis que que kB, MB, GB&#8230; signifient kilobyte, megabyte, gigabyte&#8230; Une erreur que l&#8217;on voit trop souvent !</p>
<h2>Chapitre 2. Utilisation de la mémoire&#8230;</h2>
<p>Voyons maintenant l&#8217;utilisation de la mémoire par le Ramdisk.</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">utilisateur$ </span>vm_stat<br />
Mach Virtual Memory Statistics: <span style="color: #7a0874; font-weight: bold;">&#40;</span>page <span style="color: #c20cb9; font-weight: bold;">size</span> of <span style="color: #000000;">4096</span> bytes<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
Pages free: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">516790</span>.<br />
Pages active: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">106586</span>.<br />
...<br />
<br />
<span style="color: #666666;">utilisateur$ </span>diskutil erasevolume HFS+ <span style="color: #ff0000;">&quot;ramdisk&quot;</span> <span style="color: #000000; font-weight: bold;">`</span>hdiutil attach <span style="color: #660033;">-nomount</span> ram:<span style="color: #000000; font-weight: bold;">//</span><span style="color: #000000;">2330860</span><span style="color: #000000; font-weight: bold;">`</span><br />
... Mounting disk<br />
<br />
<span style="color: #666666;">utilisateur$ </span><span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>tintin<span style="color: #000000; font-weight: bold;">/</span>Desktop<span style="color: #000000; font-weight: bold;">/</span>Mes_vacances.FRENCH.DVDRiP.XviD.avi <span style="color: #000000; font-weight: bold;">/</span>Volumes<span style="color: #000000; font-weight: bold;">/</span>ramdisk<span style="color: #000000; font-weight: bold;">/</span><br />
<br />
<span style="color: #666666;">utilisateur$ </span>vm_stat<br />
Mach Virtual Memory Statistics: <span style="color: #7a0874; font-weight: bold;">&#40;</span>page <span style="color: #c20cb9; font-weight: bold;">size</span> of <span style="color: #000000;">4096</span> bytes<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
Pages free: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">2713</span>.<br />
Pages active: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;">293000</span>.<br />
...</div></td></tr></tbody></table></div>
<p>On voit clairement que tout est directement chargé en mémoire, inutile d&#8217;en dire plus. Passons maintenant directement aux tests de débit.</p>
<h2>Chapitre 3. Tests de débit&#8230;</h2>
<p>Notre avons vu comment créer le disque, voyons maintenant ce que ça donne en terme de performance par rapport à un disque &laquo;&nbsp;classique&nbsp;&raquo; (en l&#8217;occurrence il s&#8217;agit du disque 5400tr/mn d&#8217;un MacBook, certes pas le plus performant du marché, mais suffisamment représentatif pour ce test):</p>
<h3>Test en ECRITURE sur le DISQUE PHYSIQUE</h3>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">utilisateur$ </span><span style="color: #000000; font-weight: bold;">time</span> <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>Volumes<span style="color: #000000; font-weight: bold;">/</span>Macintosh\ HD<span style="color: #000000; font-weight: bold;">/</span>testfile <span style="color: #007800;">bs</span>=1024k <span style="color: #007800;">count</span>=<span style="color: #000000;">1024</span><br />
<span style="color: #000000;">1024</span>+<span style="color: #000000;">0</span> records <span style="color: #000000; font-weight: bold;">in</span><br />
<span style="color: #000000;">1024</span>+<span style="color: #000000;">0</span> records out<br />
<span style="color: #000000;">1073741824</span> bytes transferred <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">18.411572</span> secs <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">58.318</span> Mbytes<span style="color: #000000; font-weight: bold;">/</span>sec<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #660033;">-----</span><br />
real 0m18.829s, user 0m0.004s, sys 0m1.304s</div></td></tr></tbody></table></div>
<h3>Test en ECRITURE sur le RAMDISK</h3>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">utilisateur$ </span><span style="color: #000000; font-weight: bold;">time</span> <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>Volumes<span style="color: #000000; font-weight: bold;">/</span>ramdisk<span style="color: #000000; font-weight: bold;">/</span>testfile <span style="color: #007800;">bs</span>=1024k <span style="color: #007800;">count</span>=<span style="color: #000000;">1024</span><br />
<span style="color: #000000;">1024</span>+<span style="color: #000000;">0</span> records <span style="color: #000000; font-weight: bold;">in</span><br />
<span style="color: #000000;">1024</span>+<span style="color: #000000;">0</span> records out<br />
<span style="color: #000000;">1073741824</span> bytes transferred <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">2.880844</span> secs <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">372.717</span> Mbytes<span style="color: #000000; font-weight: bold;">/</span>sec<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #660033;">-----</span><br />
real 0m2.907s, user 0m0.005s,sys 0m1.499s</div></td></tr></tbody></table></div>
<h3>Test en LECTURE sur le DISQUE PHYSIQUE</h3>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">utilisateur$ </span><span style="color: #000000; font-weight: bold;">time</span> <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>Volumes<span style="color: #000000; font-weight: bold;">/</span>Macintosh\ HD<span style="color: #000000; font-weight: bold;">/</span>testfile <span style="color: #007800;">bs</span>=1024k<br />
<span style="color: #000000;">1024</span>+<span style="color: #000000;">0</span> records <span style="color: #000000; font-weight: bold;">in</span><br />
<span style="color: #000000;">1024</span>+<span style="color: #000000;">0</span> records out<br />
<span style="color: #000000;">1073741824</span> bytes transferred <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">13.821304</span> secs <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">77.687</span> Mbytes<span style="color: #000000; font-weight: bold;">/</span>sec<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #660033;">-----</span><br />
real 0m13.861s, user 0m0.006s, sys 0m1.018s</div></td></tr></tbody></table></div>
<h3>Test en LECTURE sur le RAMDISK</h3>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">utilisateur$ </span><span style="color: #000000; font-weight: bold;">time</span> <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>Volumes<span style="color: #000000; font-weight: bold;">/</span>ramdisk<span style="color: #000000; font-weight: bold;">/</span>testfile <span style="color: #007800;">bs</span>=1024k<br />
<span style="color: #000000;">1024</span>+<span style="color: #000000;">0</span> records <span style="color: #000000; font-weight: bold;">in</span><br />
<span style="color: #000000;">1024</span>+<span style="color: #000000;">0</span> records out<br />
<span style="color: #000000;">1073741824</span> bytes transferred <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">1.812593</span> secs <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">592.378</span> Mbytes<span style="color: #000000; font-weight: bold;">/</span>sec<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #660033;">-----</span><br />
real 0m1.829s, user 0m0.005s, sys 0m1.176s</div></td></tr></tbody></table></div>
<p><u>Pour un fichier de 1Go</u>:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">________| Disque Physique | Ramdisk _______<br />
Lecture : &nbsp;13.8s (77Mb/s) | 1.8s (592Mb/s)<br />
Ecriture: &nbsp;18.4s (58Mb/s) | 2.8s (372Mb/s)</div></td></tr></tbody></table></div>
<p>Joli tableau, n&#8217;est-ce pas ? &#8230; Bref, les performances parlent d&#8217;elles mêmes !</p>
<h2>Chapitre 4. Utilisation facile ?</h2>
<p>Je vous livre un applescript et un script bash, trouvé sur <a rel="nofollow" href="http://www.macosxhints.com">macosxhints.com</a> pour automatiser le biniou:</p>
<p>Applescript:</p>
<div class="codecolorer-container applescript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br /></div></td><td><div class="applescript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #ff0033; font-weight: bold;">tell</span> <span style="color: #0066ff;">application</span> <span style="color: #009900;">&quot;Finder&quot;</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #0066ff;">activate</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #0066ff;">display dialog</span> <span style="color: #009900;">&quot;This script will create a RAM Disk on your desktop. <br />
&nbsp; &nbsp; &nbsp;How many megabytes would you like it to be?&quot;</span> <span style="color: #0066ff;">default answer</span> <span style="color: #009900;">&quot;&quot;</span> <span style="color: #0066ff;">buttons</span> <span style="color: #000000;">&#123;</span><span style="color: #009900;">&quot;OK&quot;</span>, <span style="color: #009900;">&quot;Cancel&quot;</span><span style="color: #000000;">&#125;</span> default button <span style="color: #000000;">1</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #ff0033; font-weight: bold;">set</span> diskSize <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #000000;">&#40;</span><span style="color: #0066ff;">text</span> returned <span style="color: #ff0033; font-weight: bold;">of</span> <span style="color: #ff0033;">the</span> <span style="color: #0066ff;">result</span><span style="color: #000000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #ff0033; font-weight: bold;">set</span> diskSize <span style="color: #ff0033; font-weight: bold;">to</span> diskSize <span style="color: #000000;">*</span> <span style="color: #000000;">2048</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #0066ff;">do shell script</span> <span style="color: #009900;">&quot;hdid -nomount ram://&quot;</span> <span style="color: #000000;">&amp;</span> diskSize<br />
&nbsp; &nbsp; &nbsp;<span style="color: #ff0033; font-weight: bold;">set</span> dskImg <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #ff0033;">the</span> <span style="color: #0066ff;">result</span><br />
&nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp;<span style="color: #ff0033; font-weight: bold;">set</span> prevTextDelims <span style="color: #ff0033; font-weight: bold;">to</span> AppleScript<span style="">'</span>s <span style="color: #0066ff;">text</span> <span style="color: #0066ff;">item</span> <span style="color: #0066ff;">delimiters</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #ff0033; font-weight: bold;">set</span> AppleScript<span style="">'</span>s <span style="color: #0066ff;">text</span> <span style="color: #0066ff;">item</span> <span style="color: #0066ff;">delimiters</span> <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #000000;">&#123;</span><span style="color: #009900;">&quot;/&quot;</span><span style="color: #000000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #ff0033; font-weight: bold;">set</span> myDevDisk <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #ff0033;">the</span> <span style="color: #ff0033;">last</span> <span style="color: #0066ff;">text</span> <span style="color: #0066ff;">item</span> <span style="color: #ff0033; font-weight: bold;">of</span> dskImg<br />
&nbsp; &nbsp; &nbsp;log <span style="color: #0066ff;">result</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #ff0033; font-weight: bold;">set</span> myShellCmd <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;/sbin/newfs_hfs /dev/r&quot;</span> <span style="color: #000000;">&amp;</span> myDevDisk <span style="color: #ff0033;">as</span> <span style="color: #0066ff;">text</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #0066ff;">do shell script</span> myShellCmd<br />
&nbsp; &nbsp; &nbsp;<span style="color: #0066ff;">display dialog</span> <span style="color: #0066ff;">result</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #0066ff;">do shell script</span> <span style="color: #009900;">&quot;hdiutil mount /dev/&quot;</span> <span style="color: #000000;">&amp;</span> myDevDisk<br />
&nbsp; &nbsp; &nbsp;<span style="color: #ff0033; font-weight: bold;">set</span> AppleScript<span style="">'</span>s <span style="color: #0066ff;">text</span> <span style="color: #0066ff;">item</span> <span style="color: #0066ff;">delimiters</span> <span style="color: #ff0033; font-weight: bold;">to</span> prevTextDelims<br />
<span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #ff0033; font-weight: bold;">tell</span></div></td></tr></tbody></table></div>
<p>Bash:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#!/bin/sh</span><br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$#</span> <span style="color: #660033;">-ne</span> <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot; Usage: newRamDisk.sh &lt;size in MB&gt;&quot;</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Example: newRamDisk.sh 20&quot;</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">exit</span><br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$1</span> <span style="color: #660033;">-lt</span> <span style="color: #000000;">4</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Error: Size must be greater than or equal to four megabytes&quot;</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">exit</span><br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<span style="color: #007800;">ramDiskSize</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${1}</span>*2048&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">bc</span><span style="color: #000000; font-weight: bold;">`</span><br />
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Allocating <span style="color: #007800;">$ramDiskSize</span> blocks&quot;</span><br />
<span style="color: #007800;">ramDiskPath</span>=<span style="color: #ff0000;">&quot;/dev/r&quot;</span><span style="color: #000000; font-weight: bold;">`</span>hdid <span style="color: #660033;">-nomount</span> ram:<span style="color: #000000; font-weight: bold;">//</span><span style="color: #800000;">${ramDiskSize}</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #660033;">-F</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #ff0000;">'{print $3}'</span><span style="color: #000000; font-weight: bold;">`</span><br />
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;Creating HFS Plus filesystem on <span style="color: #007800;">$ramDiskPath</span>&quot;</span><br />
newfs_hfs <span style="color: #660033;">-v</span> <span style="color: #ff0000;">&quot;Ram Disk&quot;</span> <span style="color: #007800;">$ramDiskPath</span><br />
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Mounting <span style="color: #007800;">$ramDiskPath</span>&quot;</span><br />
hdiutil <span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #007800;">$ramDiskPath</span></div></td></tr></tbody></table></div>
<p><strong>En résumé, à l&#8217;heure ou l&#8217;on peu se procurer un maximum de RAM pour un investissement réduit le Ramdisk peut être une solution intéressante pour ceux qui ont besoin de disques très &#8211; très &#8211; rapides. J&#8217;utilise régulièrement cette solution pour les espaces temporaires sur les serveur: /tmp sessions_php ou cache.</strong></p>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/apple/creer-un-ramdisk-sous-os-x-757/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
<item>
<title>ECiD/ iBEC &amp; iBSS Grabber for Mac</title>
<link>http://www.crashdump.fr/apple/ecid-ibec-ibss-grabber-for-mac-732/</link>
<comments>http://www.crashdump.fr/apple/ecid-ibec-ibss-grabber-for-mac-732/#comments</comments>
<pubDate>Fri, 07 Aug 2009 13:51:27 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Apple]]>
</category>
<category>
<![CDATA[3GS]]>
</category>
<category>
<![CDATA[ECID]]>
</category>
<category>
<![CDATA[ECID Grabber]]>
</category>
<category>
<![CDATA[iBEC]]>
</category>
<category>
<![CDATA[iBEC and iBSS Grabber]]>
</category>
<category>
<![CDATA[iBSS]]>
</category>
<category>
<![CDATA[iPhone]]>
</category>
<category>
<![CDATA[Mac]]>
</category>
<guid isPermaLink="false">https://www.crashdump.fr/?p=732</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/08/iphone_ecid_ibss.png" class="attachment-featured-image wp-post-image" alt="iphone_ecid_ibss" title="iphone_ecid_ibss" /></p><br />Apple has added a new layer of security to the iPhone 3GS. I mentioned it several posts earlier; it&#8217;s the ECID field. When iTunes starts the restore process, they contact Apple servers to generate signatures just for your device. It&#8217;s important you get these signatures for your phone before a new version of the software [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/08/iphone_ecid_ibss.png" class="attachment-featured-image wp-post-image" alt="iphone_ecid_ibss" title="iphone_ecid_ibss" /></p><br /><p>Apple has added a new layer of security to the iPhone 3GS. I mentioned it several posts earlier; it&#8217;s the ECID field. When iTunes starts the restore process, they contact Apple servers to generate signatures just for your device. It&#8217;s important you get these signatures for your phone before a new version of the software comes out.</p>
<p>I&#8217;ve just developed a tiny portage of &laquo;&nbsp;<a rel="nofollow" href="http://difrnt.com/blog/?p=25" target="_blank">ECID Grabber &amp; iBEC and iBSS Grabber</a>&nbsp;&raquo; for Mac.</p>
<p style="text-align: center;"><a href="http://www.crashdump.fr/wp-content/uploads/2009/08/ibecibssecid1.png"><img class="alignnone size-full wp-image-738" title="ibecibssecid" src="http://www.crashdump.fr/wp-content/uploads/2009/08/ibecibssecid1.png" alt="ibecibssecid" width="213" height="236" /></a><br />
<em>screenshot</em></p>
<p style="text-align: center;">Download <strong><a rel="nofollow" href="https://www.crashdump.fr/?download=ECiD-iBEC-iBSS-Grabber-for-Mac">ECID/ iBEC &amp; iBSS Grabber for Mac</a></strong>, version <strong>1.0</strong>, 104k, 1813 downloads.</p>
<p style="text-align: center;">*** This is IMPORTANT for 3Gs Jailbreaks, do it now ! ***</p>
<p><strong>Follow these 7 steps to capture these files:</strong></p>
<ul>
<li><strong>1.</strong> Put your phone into DFU mode (<a rel="nofollow" href="http://www.iclarified.com/entry/index.php?enid=1034" target="_blank">see iClarified tutorial</a>) and connect it to your computer.</li>
<li><strong>2.</strong> Launch iBEC &amp; iBSS Grabber for Mac.app</li>
<li><strong>3.</strong> If you need your ECID, click &laquo;&nbsp;ECID Dumper: Dump it!&nbsp;&raquo;</li>
<li><strong>4.</strong> Select the output folder (ex: Desktop) for the two files: (iBEC.n88ap.RELEASE.dfu, iBSS.n88ap.RELEASE.dfu) then click &laquo;&nbsp;Start Watching&nbsp;&raquo;.</li>
<li><strong>5.</strong> iTunes will popup a message saying it has detected an iPhone in recovery mode. Click okay to this message then Hold down the Option key and click the Restore button. Select the iPhone2,1_3.0_7A341_Restore.ipsw file.</li>
<li><strong>6.</strong> Your iPhone will now begin restoring to the 3.0 firmware. You will be warned that this will erase your phone&#8230;</li>
<li><strong>7.</strong> Congrats, You have now captured your iBEC and iBSS. You can move these to a safe place to be used for a future jailbreak of your iPhone 3GS.</li>
</ul>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/apple/ecid-ibec-ibss-grabber-for-mac-732/feed/</wfw:commentRss>
<slash:comments>7</slash:comments>
</item>
<item>
<title>Du load-balancing avec Vyatta</title>
<link>http://www.crashdump.fr/reseaux/load-balancing-avec-vyatta-725/</link>
<comments>http://www.crashdump.fr/reseaux/load-balancing-avec-vyatta-725/#comments</comments>
<pubDate>Mon, 20 Jul 2009 16:41:08 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Réseaux]]>
</category>
<category>
<![CDATA[adsl]]>
</category>
<category>
<![CDATA[cisco]]>
</category>
<category>
<![CDATA[dhcp]]>
</category>
<category>
<![CDATA[dnsmasq]]>
</category>
<category>
<![CDATA[lan]]>
</category>
<category>
<![CDATA[load-balancing]]>
</category>
<category>
<![CDATA[router]]>
</category>
<category>
<![CDATA[tutoriel]]>
</category>
<category>
<![CDATA[vyatta]]>
</category>
<category>
<![CDATA[wan]]>
</category>
<guid isPermaLink="false">https://www.crashdump.fr/?p=725</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/07/vyatta-open-source-networking.png" class="attachment-featured-image wp-post-image" alt="vyatta-open-source-networking" title="vyatta-open-source-networking" /></p><br />Après la découverte de Vyatta grâce a l&#8217;excellent blog de guiguiabloc: Je cite: &#171;&#160;Ce qui le rend intéressant, c’est son approche à la “Cisco”, avec des commandes en mode “configure” très proche des IOS, ce qui le classe dans la catégorie des cisco-like.&#160;&#187;, pour en savoir plus, n&#8217;hésitez pas a lire son billet avant de [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/07/vyatta-open-source-networking.png" class="attachment-featured-image wp-post-image" alt="vyatta-open-source-networking" title="vyatta-open-source-networking" /></p><br /><p><em>Après la découverte de <a rel="nofollow" href="http://www.vyatta.com/">Vyatta</a> grâce a l&#8217;excellent blog de <a rel="nofollow" href="http://blog.guiguiabloc.fr/index.php/2009/07/07/vyatta-un-junos-like-et-une-alternative-serieuse-a-quagga/">guiguiabloc</a>: Je cite: &laquo;&nbsp;Ce qui le rend intéressant, c’est son approche à la “Cisco”, avec des commandes en mode “configure” très proche des IOS, ce qui le classe dans la catégorie des cisco-like.&nbsp;&raquo;, pour en savoir plus, n&#8217;hésitez pas a lire son billet avant de poursuivre.</em></p>
<p>Je me suis donc mis en tête de faire du load-balancing depuis deux connexions ADSL vers mon LAN avec un serveur DHCP et dnsmasq (mise en cache des requêtes dns). voici les différentes étapes qui nous mènent à un routeur pas cher et qui fonctionne vraiment à merveille. Voici le schéma de l&#8217;installation:</p>
<p style="text-align: center;"><a href="http://www.crashdump.fr/wp-content/uploads/2009/07/vyatta-loadbalancing1.png"><img class="size-full wp-image-727 aligncenter" title="vyatta-loadbalancing" src="http://www.crashdump.fr/wp-content/uploads/2009/07/vyatta-loadbalancing1.png" alt="vyatta-loadbalancing" width="385" height="301" /></a></p>
<p>Nous allons commencer par passer en mode configuration pour spécifier, dans l&#8217;ordre:</p>
<ul>
<li>Hostname</li>
<li>Serveur SSH</li>
<li>DNS</li>
<li>Fuseau Horaire</li>
</ul>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">configure<br />
<span style="color: #000000; font-weight: bold;">set</span> system host-name aggregateur<br />
<span style="color: #000000; font-weight: bold;">set</span> service <span style="color: #c20cb9; font-weight: bold;">ssh</span> allow-root <span style="color: #c20cb9; font-weight: bold;">false</span><br />
<span style="color: #000000; font-weight: bold;">set</span> service <span style="color: #c20cb9; font-weight: bold;">ssh</span><br />
<span style="color: #000000; font-weight: bold;">set</span> system name-server 208.67.222.222<br />
<span style="color: #000000; font-weight: bold;">set</span> system name-server 208.67.220.220<br />
<span style="color: #000000; font-weight: bold;">set</span> system time-zone GMT+<span style="color: #000000;">2</span></div></td></tr></tbody></table></div>
<p>Spécifions maintenant les paramètres ip de nos interfaces:</p>
<ul>
<li>Adresses ip de: eth0, eth1, eth2</li>
<li>Description des interfaces</li>
<li>Routes vers le WAN</li>
</ul>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">set</span> interfaces ethernet eth0 address 192.168.3.254<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span><br />
<span style="color: #000000; font-weight: bold;">set</span> interfaces ethernet eth1 address 10.0.1.2<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">30</span><br />
<span style="color: #000000; font-weight: bold;">set</span> interfaces ethernet eth2 address 10.0.2.2<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">30</span><br />
<span style="color: #000000; font-weight: bold;">set</span> interfaces ethernet eth0 description <span style="color: #ff0000;">&quot;*** LAN ***&quot;</span><br />
<span style="color: #000000; font-weight: bold;">set</span> interfaces ethernet eth1 description <span style="color: #ff0000;">&quot;*** WAN1 ***&quot;</span><br />
<span style="color: #000000; font-weight: bold;">set</span> interfaces ethernet eth2 description <span style="color: #ff0000;">&quot;*** WAN2 ***&quot;</span><br />
<span style="color: #000000; font-weight: bold;">set</span> protocols static route 0.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">0</span> next-hop 10.0.1.1<br />
<span style="color: #000000; font-weight: bold;">set</span> protocols static route 0.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">0</span> next-hop 10.0.2.1<br />
commit</div></td></tr></tbody></table></div>
<p>Des lors, vous pouvez mettre vôtre serveur du une baie (ou au fond du garage..) et vous y connecter en ssh.</p>
<p>Bien, maintenant mettons en place le load-balancing vers le WAN avec vérification de l&#8217;état et failover. (Les serveurs que j&#8217;ai utilisé ici pour vérifier l&#8217;état des liens sont les ns1 et ns2 de google, si vous les changez spécifiez en deux différents, ça vous évitera de perdre la connexion si le serveur tombe..):</p>
<p>Règles de vérification:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">set</span> load-balancing wan interface-health eth1 failure-count <span style="color: #000000;">5</span><br />
<span style="color: #000000; font-weight: bold;">set</span> load-balancing wan interface-health eth1 success-count <span style="color: #000000;">5</span><br />
<span style="color: #000000; font-weight: bold;">set</span> load-balancing wan interface-health eth1 nexthop 10.0.1.1<br />
<span style="color: #000000; font-weight: bold;">set</span> load-balancing wan interface-health eth1 <span style="color: #c20cb9; font-weight: bold;">ping</span> 216.239.32.10<br />
<span style="color: #000000; font-weight: bold;">set</span> load-balancing wan interface-health eth2 failure-count <span style="color: #000000;">5</span><br />
<span style="color: #000000; font-weight: bold;">set</span> load-balancing wan interface-health eth2 success-count <span style="color: #000000;">5</span><br />
<span style="color: #000000; font-weight: bold;">set</span> load-balancing wan interface-health eth2 nexthop 10.0.2.1<br />
<span style="color: #000000; font-weight: bold;">set</span> load-balancing wan interface-health eth2 <span style="color: #c20cb9; font-weight: bold;">ping</span> 216.239.34.10</div></td></tr></tbody></table></div>
<p>Puis ajoutons les règles du load-balancing lui même:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">set</span> load-balancing wan rule <span style="color: #000000;">10</span> inbound-interface eth0<br />
<span style="color: #000000; font-weight: bold;">set</span> load-balancing wan rule <span style="color: #000000;">10</span> interface eth1<br />
<span style="color: #000000; font-weight: bold;">set</span> load-balancing wan rule <span style="color: #000000;">10</span> interface eth2<br />
<span style="color: #000000; font-weight: bold;">set</span> load-balancing wan</div></td></tr></tbody></table></div>
<p>On applique et on sauvegarde le tout:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">commit<br />
save</div></td></tr></tbody></table></div>
<p>Voilà, je vous avais prévenu c&#8217;est terriblement simple et efficace ! Pour afficher l&#8217;état:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">exit</span><br />
show wan-load-balance status</div></td></tr></tbody></table></div>
<p>Passons maintenant a la partie service: DCHP et DNSMASq.</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">set</span> service dhcp-server shared-network-name LAN<br />
<span style="color: #000000; font-weight: bold;">set</span> service dhcp-server shared-network-name LAN subnet 192.168.3.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span><br />
<span style="color: #000000; font-weight: bold;">set</span> service dhcp-server shared-network-name LAN subnet 192.168.3.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span><br />
start 192.168.3.100 stop 192.168.3.200<br />
<span style="color: #000000; font-weight: bold;">set</span> service dhcp-server shared-network-name LAN subnet 192.168.3.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span><br />
default-router 192.168.3.254<br />
<span style="color: #000000; font-weight: bold;">set</span> service dhcp-server shared-network-name LAN subnet 192.168.3.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span><br />
dns-server 192.168.3.254<br />
<span style="color: #000000; font-weight: bold;">set</span> service dhcp-server shared-network-name LAN subnet 192.168.3.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span><br />
dns-server 208.67.222.222</div></td></tr></tbody></table></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">set</span> service dns forwarding system<br />
<span style="color: #000000; font-weight: bold;">set</span> service dns forwarding listen-on eth0</div></td></tr></tbody></table></div>
<p>C&#8217;est fini, en 15 minutes vous avez un système terriblement efficace et très peu cher.. que rêver de mieux ?<br />
Bien entendu, il sagit ici de l&#8217;installation minimale, il reste encore a mettre en place des règles pour le firewall et d&#8217;autres petites finitions.</p>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/reseaux/load-balancing-avec-vyatta-725/feed/</wfw:commentRss>
<slash:comments>5</slash:comments>
</item>
<item>
<title>Got error 28 from storage engine query: SELECT * FROM &#8230;</title>
<link>http://www.crashdump.fr/debian/got-error-28-from-storage-engine-query-select-from-717/</link>
<comments>http://www.crashdump.fr/debian/got-error-28-from-storage-engine-query-select-from-717/#comments</comments>
<pubDate>Tue, 16 Jun 2009 16:49:52 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Debian]]>
</category>
<category>
<![CDATA[mysql]]>
</category>
<guid isPermaLink="false">http://www.crashdump.fr/?p=717</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/06/disquette.jpg" class="attachment-featured-image wp-post-image" alt="disquette" title="disquette" /></p><br />Grand coup de stress pour moi ce soir ! En effet, les requêtes SQL des sites hébergés sur cette machine n&#8217;avaient plus aucun sens: drop, réponses érronées et j&#8217;en passe.. en jetant un oeil dans les logs j&#8217;ai trouvé ça: 123&#91;Tue Jun 16 18:05:28 2009&#93; &#91;error&#93; &#91;client x.x.x.x&#93; Got error 28 from storage engine query: [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/06/disquette.jpg" class="attachment-featured-image wp-post-image" alt="disquette" title="disquette" /></p><br /><p>Grand coup de stress pour moi ce soir ! En effet, les requêtes SQL des sites hébergés sur cette machine n&#8217;avaient plus aucun sens: drop, réponses érronées et j&#8217;en passe.. en jetant un oeil dans les logs j&#8217;ai trouvé ça:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">&#91;</span>Tue Jun <span style="color: #000000;">16</span> <span style="color: #000000;">18</span>:05:<span style="color: #000000;">28</span> <span style="color: #000000;">2009</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>error<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>client x.x.x.x<span style="color: #7a0874; font-weight: bold;">&#93;</span> Got error <span style="color: #000000;">28</span> from storage engine query: SELECT <span style="color: #000000; font-weight: bold;">*</span> FROM ...<br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span>Tue Jun <span style="color: #000000;">16</span> <span style="color: #000000;">18</span>:06:<span style="color: #000000;">58</span> <span style="color: #000000;">2009</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>error<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>client x.x.x.x<span style="color: #7a0874; font-weight: bold;">&#93;</span> Got error <span style="color: #000000;">28</span> from storage engine query: SELECT <span style="color: #000000; font-weight: bold;">*</span> FROM ...<br />
<span style="color: #7a0874; font-weight: bold;">&#91;</span>Tue Jun <span style="color: #000000;">16</span> <span style="color: #000000;">18</span>:07:<span style="color: #000000;">18</span> <span style="color: #000000;">2009</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>error<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>client x.x.x.x<span style="color: #7a0874; font-weight: bold;">&#93;</span> Got error <span style="color: #000000;">28</span> from storage engine query: SELECT <span style="color: #000000; font-weight: bold;">*</span> FROM ...</div></td></tr></tbody></table></div>
<p>Il se trouve que cette erreur arrive quand MySQL n&#8217;a plus d&#8217;espace disque disponible&#8230; En effet, le script &#8211; buggy &#8211; ne supprimais plus les vieux backups lors de la création de nouveaux. J&#8217;en suis vite arrivé a saturer ma partition temporaire. Erreur de débutant !</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">df</span> <span style="color: #660033;">-h</span><br />
Sys. de fich. Tail. Occ. Disp. <span style="color: #000000; font-weight: bold;">%</span>Occ. Monté sur<br />
<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>md1 10G 10G <span style="color: #000000;">7</span>,3G <span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">%</span> <span style="color: #000000; font-weight: bold;">/</span>tmp</div></td></tr></tbody></table></div>
<p>Pour me rendre d&#8217;autant plus utile, voici un petit script pour monitorer l&#8217;espace utilisé sur vos disque, il enverra un mail en cas d&#8217;utilisation d&#8217;une partition a plus de 95%.</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#!/bin/sh</span><br />
<span style="color: #c20cb9; font-weight: bold;">df</span> <span style="color: #660033;">-H</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-vE</span> <span style="color: #ff0000;">'^[a-zA-Z]|tmpfs|cdrom|udev'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{ print $5 &quot; &quot; $1 }'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">read</span> line;<br />
<span style="color: #000000; font-weight: bold;">do</span><br />
<span style="color: #666666; font-style: italic;">#echo $line</span><br />
<span style="color: #007800;">usep</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$line</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{ print $1}'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'%'</span> <span style="color: #660033;">-f1</span> <span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #007800;">partition</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$line</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{ print $2 }'</span> <span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$usep</span> <span style="color: #660033;">-ge</span> <span style="color: #000000;">95</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span><br />
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Running out of space <span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #007800;">$partition</span> (<span style="color: #007800;">$usep</span>%)<span style="color: #000099; font-weight: bold;">\&quot;</span> on <span style="color: #007800;">$(hostname)</span> as on <span style="color: #007800;">$(date)</span>&quot;</span> <span style="color: #000000; font-weight: bold;">|</span><br />
mail <span style="color: #660033;">-s</span> <span style="color: #ff0000;">&quot;Alert: Almost out of disk space <span style="color: #007800;">$usep</span>%&quot;</span> alertme<span style="color: #000000; font-weight: bold;">@</span>crashdump.fr<br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<span style="color: #000000; font-weight: bold;">done</span></div></td></tr></tbody></table></div>
<p>A ajouter dans vos crontabs:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">*/</span><span style="color: #000000;">30</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">/</span>path-to-file<span style="color: #000000; font-weight: bold;">/</span>mail-warn-disk-usage.sh</div></td></tr></tbody></table></div>
<p>Sur ce, je peux reprendre un activité normale.. détendu !</p>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/debian/got-error-28-from-storage-engine-query-select-from-717/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
<item>
<title>Crashdump.fr passe en AES-256.</title>
<link>http://www.crashdump.fr/securite/crashdump-fr-passe-en-aes-256-703/</link>
<comments>http://www.crashdump.fr/securite/crashdump-fr-passe-en-aes-256-703/#comments</comments>
<pubDate>Mon, 15 Jun 2009 21:33:47 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Sécurité]]>
</category>
<category>
<![CDATA[ssl]]>
</category>
<guid isPermaLink="false">http://www.crashdump.fr/?p=703</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/06/security-lock.jpg" class="attachment-featured-image wp-post-image" alt="security-lock" title="security-lock" /></p><br />Voilà un bout de temps que je voulais mettre en place un SSL correct pour crashdump.fr sans trouver le temps, maintenant c&#8217;est chose faite ! (J&#8217;entend par correct un certificat émanant d&#8217;une CA reconnue) Du coup, j&#8217;ai plongé le nez dans la doc de wordpress pour trouver un moyen de forcer les authentifications/cookies en SSL, [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/06/security-lock.jpg" class="attachment-featured-image wp-post-image" alt="security-lock" title="security-lock" /></p><br /><p>Voilà un bout de temps que je voulais mettre en place un SSL correct pour crashdump.fr sans trouver le temps, maintenant c&#8217;est chose faite ! (J&#8217;entend par correct un certificat émanant d&#8217;une CA reconnue)</p>
<p>Du coup, j&#8217;ai plongé le nez dans la doc de wordpress pour trouver un moyen de forcer les authentifications/cookies en SSL, voici ce que j&#8217;y ai trouvé (ces options de configuration doivent êtres ajoutés dans le ./wp-config.php):</p>
<p>Forcer tout post de cookies en SSL:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">define(’FORCE_SSL_ADMIN’, true);</div></td></tr></tbody></table></div>
<p>Forcer tout post de login en SSL:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">define(’FORCE_SSL_LOGIN’, true);</div></td></tr></tbody></table></div>
<p>De plus &#8211; depuis la version 2.6 &#8211; WordPress intègre de nouveaux cookies qui sont signé avec des clés secrètes. Il va donc falloir spécifier ces clés. Pour ça, trois variables à ajouter:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">define(’AUTH_KEY’, ‘put your unique phrase here’);<br />
define(’SECURE_AUTH_KEY’, ‘put your unique phrase here’);<br />
define(’LOGGED_IN_KEY’, ‘put your unique phrase here’);</div></td></tr></tbody></table></div>
<p>Pour vous donner une idée de clés adaptés, une API est mise a disposition par WP:<br />
<a rel="nofollow" href="http://api.wordpress.org/secret-key/1.1/">http://api.wordpress.org/secret-key/1.1/</a><br />
(Mon côté parano vous invite a ne pas utiliser ces clés sans les modifier un peu vous même..)</p>
<p>* Ah, oui, j&#8217;oubliais.. du coup vous pouvez accéder au site sur <a rel="nofollow" href="https://www.crashdump.fr">https://www.crashdump.fr</a> *</p>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/securite/crashdump-fr-passe-en-aes-256-703/feed/</wfw:commentRss>
<slash:comments>16</slash:comments>
</item>
<item>
<title>Reset du mot de passe de contrôle parental sur la wii</title>
<link>http://www.crashdump.fr/tout-et-rien/reset-du-mot-de-passe-de-controle-parental-sur-la-wii-696/</link>
<comments>http://www.crashdump.fr/tout-et-rien/reset-du-mot-de-passe-de-controle-parental-sur-la-wii-696/#comments</comments>
<pubDate>Sun, 14 Jun 2009 16:30:41 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Tout-et-Rien]]>
</category>
<category>
<![CDATA[Nintendo]]>
</category>
<category>
<![CDATA[password]]>
</category>
<guid isPermaLink="false">http://www.crashdump.fr/?p=696</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/06/wii-parentcontrol.png" class="attachment-featured-image wp-post-image" alt="wii-parentcontrol" title="wii-parentcontrol" /></p><br />Juste un petit billet pour vous informer de la mise a disposition d&#8217;un hack du code parental de la Wii. Les étapes pour vous en libérer sans avoir a téléphoner a Nintendo: 1. Allez sur la page du contrôle parental (Menu options), 2. Cliquez sur &#171;&#160;J&#8217;ai oublié le code&#160;&#187; puis &#171;&#160;J&#8217;ai oublié la réponse secrète&#160;&#187;, [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/06/wii-parentcontrol.png" class="attachment-featured-image wp-post-image" alt="wii-parentcontrol" title="wii-parentcontrol" /></p><br /><p>Juste un petit billet pour vous informer de la mise a disposition d&#8217;un hack du code parental de la Wii.</p>
<p>Les étapes pour vous en libérer sans avoir a téléphoner a Nintendo:</p>
<p>1. Allez sur la page du contrôle parental (Menu options),<br />
2. Cliquez sur &laquo;&nbsp;J&#8217;ai oublié le code&nbsp;&raquo; puis &laquo;&nbsp;J&#8217;ai oublié la réponse secrète&nbsp;&raquo;,<br />
3. Copiez les 8 chiffres qui vous sont communiqué dans la page du lien ci-dessous,<br />
4. Entrez les 5 numéros qui sont affichés sur la Wii..<br />
5. Jouez.</p>
<p><del datetime="2011-11-24T10:39:39+00:00"><a rel="nofollow" href="http://www.crashdump.fr/myFiles/online_tools/wii/parental-access_reset.pyw">C&#8217;est disponible en ligne ici</a>.</del> Suite à la migration du serveur sous NGINX, le script python n&#8217;est plus interprété. Je m&#8217;occupe de ça dès que j&#8217;ai 5 minutes, promis. En attendant vous pouvez trouver <a href="http://wii.marcansoft.com/parental.wsgi">le générateur ici</a>.</p>
<p>Et le code source de la chose est <a href="http://www.crashdump.fr/wp-content/uploads/2009/06/parental-access_reset.source.txt">disponible ici</a>.</p>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/tout-et-rien/reset-du-mot-de-passe-de-controle-parental-sur-la-wii-696/feed/</wfw:commentRss>
<slash:comments>4</slash:comments>
</item>
<item>
<title>Effacer définitivement les données d&#8217;un disque dur sous *nux (dd, zero, random)</title>
<link>http://www.crashdump.fr/debian/effacer-definivement-toutes-les-donnees-dun-disque-dur-sous-nux-677/</link>
<comments>http://www.crashdump.fr/debian/effacer-definivement-toutes-les-donnees-dun-disque-dur-sous-nux-677/#comments</comments>
<pubDate>Tue, 05 May 2009 20:25:48 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Debian]]>
</category>
<category>
<![CDATA[Sécurité]]>
</category>
<category>
<![CDATA[bsd]]>
</category>
<category>
<![CDATA[dd]]>
</category>
<category>
<![CDATA[disque dur]]>
</category>
<category>
<![CDATA[fichier]]>
</category>
<category>
<![CDATA[format]]>
</category>
<category>
<![CDATA[formater]]>
</category>
<category>
<![CDATA[hexdump]]>
</category>
<category>
<![CDATA[kernel]]>
</category>
<category>
<![CDATA[linux]]>
</category>
<category>
<![CDATA[os x]]>
</category>
<category>
<![CDATA[partition]]>
</category>
<category>
<![CDATA[Peter Gutmann]]>
</category>
<category>
<![CDATA[secure]]>
</category>
<category>
<![CDATA[securisé]]>
</category>
<guid isPermaLink="false">http://www.crashdump.fr/?p=677</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/05/hard-disk-drive.png" class="attachment-featured-image wp-post-image" alt="hard-disk-drive" title="hard-disk-drive" /></p><br />Ce billet contient deux parties : la première explique succinctement les solutions et commandes pour pouvoir effacer toutes les données d&#8217;un disque (ou d&#8217;une partition). La deuxième approfondit les commandes et outils utilisés dans la première &#8212; Je me rend bien compte, après relecture du fait que j&#8217;ai pas mal dérivé dans l&#8217;écriture de cet article, [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/05/hard-disk-drive.png" class="attachment-featured-image wp-post-image" alt="hard-disk-drive" title="hard-disk-drive" /></p><br /><p><em>Ce billet contient deux parties : <strong>la première explique succinctement les solutions et commandes</strong> pour pouvoir effacer toutes les données d&#8217;un disque (ou d&#8217;une partition). <strong>La deuxième approfondit les commandes et outils utilisés</strong> dans la première &#8212; Je me rend bien compte, après relecture du fait que j&#8217;ai pas mal dérivé dans l&#8217;écriture de cet article, il faut croire que j&#8217;avais beaucoup à dire.. donc si vous avez le temps, servez vous un café et profitez en bien.</em></p>
<p>Update le 6 Mai 2009: Correction des fautes d&#8217;orthographe&#8230;</p>
<p><strong>ATTENTION: Toutes les procédures ci-dessous sont définitives et non réversibles. Après avoir exécuté ces commandes, vous (ou un tiers) ne pourrez JAMAIS récupérer les informations qui y étaient stockées.</strong></p>
<p><em>Info: Dans ce billet j&#8217;utiliserais comme chemin pour mon disque dur a effacer : /dev/sdX, il vous faudra naturellement le remplacer par le vôtre. Vérifiez toujours d&#8217;abord vôtre table de partition avec &laquo;&nbsp;df&nbsp;&raquo; (utilitaire sans risques, il permet simplement de lister les disques montés sur vôtre système &#8211; NDLR : fstab)</em><br />
<em>Suivant la distribution *nix que vous utiliserez vous ne pourrez sûrement pas directement réinitialiser le disque système : il vous faudra utiliser un &laquo;&nbsp;live CD&nbsp;&raquo; ou booter sur un autre disque dur.</em></p>
<h2>1. L&#8217;utilitaire &laquo;&nbsp;dd&nbsp;&raquo;:</h2>
<p>L&#8217;utilitaire &laquo;&nbsp;dd&nbsp;&raquo; fourni avec tous les *nix et dérivés, permet de faire de nombreuses manipulations sur des fichiers ou des systèmes de fichiers comme (liste non exhaustive): Formatter une disquette à partir d&#8217;une image, découper un fichier en plusieurs morceaux, faire une image d&#8217;un DVD ou encore — et c&#8217;est ce qui nous intéresse ici — détruire les données d&#8217;un disque dur en le remplissant de zéros ou de données aléatoires.</p>
<p><strong>Il faut toujours faire attention lorsqu&#8217;on utilise dd. Le simple fait d&#8217;oublier une option ou d&#8217;échanger les arguments aura des conséquences désastreuses.</strong></p>
<h3>1.1 Méthode rapide et peu sûre :</h3>
<p>La première méthode consiste à écrire des 0 sur tous les secteurs du disque en une seule passe :</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdX <span style="color: #007800;">bs</span>=<span style="color: #000000;">512</span> <span style="color: #007800;">conv</span>=notrunc</div></td></tr></tbody></table></div>
<p><em>L&#8217;argument « conv=notrunc » permet de ne pas limiter la taille du fichier de sortie.</em></p>
<h3>1.2 Méthode lente et moyennement sûre :</h3>
<p>La seconde méthode, un peu plus sûre que la précédente consiste en l&#8217;utilisation du périphérique générateur d&#8217;aléatoires du noyau. Ce qui aura pour effet d&#8217;écrire des données aléatoires sur tous les secteurs du disque :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">dd if=/dev/urandom of=/dev/sdX bs=512 conv=notrunc</div></td></tr></tbody></table></div>
<h3>1.3 Méthode très lente et sûre:</h3>
<p>Ici nous allons utiliser la première méthode, mais avec 32 passe.. De quoi vraiment tout effacer.</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">for</span> n <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">seq</span> <span style="color: #000000;">32</span><span style="color: #000000; font-weight: bold;">`</span>; <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdX <span style="color: #007800;">bs</span>=<span style="color: #000000;">512</span> <span style="color: #007800;">conv</span>=notrunc; <span style="color: #000000; font-weight: bold;">done</span></div></td></tr></tbody></table></div>
<p>Notez qu&#8217;ici j&#8217;ai défini le paramètre « BS » qui correspond au nombre d&#8217;octets spécifié écrit en une seule fois. Ce qui permet de raccourcir considérablement le temps de chaque passe.</p>
<h3>1.4 Méthode vraiment très lente et très sûre:</h3>
<p>Pour cette dernière solution, vous l&#8217;aurez déduit par vous même, 16 passes de random, de quoi effacer définitivement n&#8217;importe quel octet sensible ! Suivant la taille du disque/partition, cette solution peut prendre énormément de temps&#8230;</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">for n in `seq 16`; do dd if=/dev/urandom of=/dev/sdX bs=512 conv=notrunc; done</div></td></tr></tbody></table></div>
<h2>Approfondissements :</h2>
<h3>Temps des opérations — Optimisations</h3>
<p>Voyons comment se comporte dd pour un fichier test de 100Mb avec notre solution n°1 et un Block size de 1:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #000000; font-weight: bold;">time</span> <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">bs</span>=<span style="color: #000000;">1</span> <span style="color: #007800;">conv</span>=notrunc <span style="color: #007800;">count</span>=<span style="color: #000000;">102400000</span><br />
<span style="color: #000000;">102400000</span>+<span style="color: #000000;">0</span> records <span style="color: #000000; font-weight: bold;">in</span><br />
<span style="color: #000000;">102400000</span>+<span style="color: #000000;">0</span> records out<br />
<span style="color: #000000;">102400000</span> bytes transferred <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">458.989378</span> secs <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">223099</span> bytes<span style="color: #000000; font-weight: bold;">/</span>sec<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
real 7m38.997s<br />
user 1m52.333s<br />
sys 5m30.299s</div></td></tr></tbody></table></div>
<p>1 * 102400000 = 100Mb, dd a mis environ 7 minutes 38 secondes, pitoyable, pourquoi ?!</p>
<p><strong>Petites précisions indispensables au sujet des secteurs (ou blocs)</strong>:<br />
Un secteur (ou bloc) est une subdivision d&#8217;une piste de votre disque dur. Chaque secteur peut stocker un nombre bien défini de données — les disques magnétiques fournissent généralement un espace de 512 octets (ce n&#8217;est pas le cas des SSD). La notion de bloc a été utilisée au début de l&#8217;informatique pour ce petit morceau de données, mais le terme secteur est devenu beaucoup plus courant. Puis peu à peu, « bloc » est devenu plus employé pour définir un certain nombre de données (variable) utilisé par un processus. Par exemple, le programme dd qui permet de définir la taille de bloc à utiliser lors de l&#8217;exécution avec le paramètre BS (= octets). En réalité, ça ne change pas la taille du secteur d&#8217;un support, seule la taille des données qui seront manipulées.</p>
<p><em>Notez que pour un CD, la taille d’un secteur est de 2.048 bytes (par exemple, si vous avez besoin de créer une image iso, tapez : dd if=/dev/hdc of=/tmp/mycd.iso bs=2048 conv=notrunc).</em></p>
<p>Reprenons — comment puis-je vérifier la taille des blocs sur un BSD ?</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ pdisk <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>rdisk1 <span style="color: #660033;">-blockSize</span><br />
<span style="color: #000000;">512</span></div></td></tr></tbody></table></div>
<p>Et sur un GNU/Linux ?</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tune2fs <span style="color: #660033;">-l</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>md1 <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> Block<br />
Block count: <span style="color: #000000;">5118688</span><br />
Block size: <span style="color: #000000;">4096</span><br />
Blocks per group: <span style="color: #000000;">32768</span></div></td></tr></tbody></table></div>
<p>Notez que sur le deuxième exemple, le système de fichier est en fait monté sur un RAID, d&#8217;où la réponse de BS de 4k.</p>
<p>Bien, maintenant que nous savons, essayons en spécifiant un BS de 512:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #000000; font-weight: bold;">time</span> <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">bs</span>=<span style="color: #000000;">512</span> <span style="color: #007800;">conv</span>=notrunc <span style="color: #007800;">count</span>=<span style="color: #000000;">200000</span><br />
<span style="color: #000000;">200000</span>+<span style="color: #000000;">0</span> records <span style="color: #000000; font-weight: bold;">in</span><br />
<span style="color: #000000;">200000</span>+<span style="color: #000000;">0</span> records out<br />
<span style="color: #000000;">102400000</span> bytes transferred <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">1.615840</span> secs <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">63372613</span> bytes<span style="color: #000000; font-weight: bold;">/</span>sec<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
real 0m1.618s<br />
user 0m0.240s<br />
sys 0m1.015s</div></td></tr></tbody></table></div>
<p>512 * 200000 = 100Mb, dd a mis à peine plus d&#8217;une 2,4s (contre 7m38) — la différence est énorme, pourquoi ?</p>
<p>En fait, l&#8217;explication est simple, c&#8217;est la synchronisation entre les données envoyées et les données écrites. Des blocs de 512 octets sont envoyés au disque et sont directement écrits sur les secteurs correspondants ; inutile de mettre en cache 512 fois 1 octet pour pouvoir écrire notre bloc. Et si on spécifie un BS supérieur, me direz-vous ? Essayons.</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">time</span> <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">bs</span>=<span style="color: #000000;">1024</span> <span style="color: #007800;">conv</span>=notrunc <span style="color: #007800;">count</span>=<span style="color: #000000;">100000</span><br />
<span style="color: #000000;">100000</span>+<span style="color: #000000;">0</span> records <span style="color: #000000; font-weight: bold;">in</span><br />
<span style="color: #000000;">100000</span>+<span style="color: #000000;">0</span> records out<br />
<span style="color: #000000;">102400000</span> bytes transferred <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">3.185333</span> secs <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">32147345</span> bytes<span style="color: #000000; font-weight: bold;">/</span>sec<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
real 0m3.188s<br />
user 0m0.131s<br />
sys 0m0.693s</div></td></tr></tbody></table></div>
<p>En effet, cela ne nous apporte rien ! <strong>notez que j&#8217;ai spécifié bs=512, mais en fait dd utilise par défaut le block size de 512.</strong></p>
<h3>/dev/zero, /dev/random ou /dev/urandom ?</h3>
<p><em>Pour cette partie, je me suis largement inspiré des manpages de random que j&#8217;ai agrémentée d&#8217;exemples et quelques précisions</em>.</p>
<p>Les fichiers spéciaux /dev/random et /dev/urandom existents depuis Linux 1.3.30 et ils fournissent une interface avec le générateur de nombres aléatoires du noyau. Il faut savoir que le noyau identifie chaque périphérique au moyen de deux numéros, le majeur (à gauche) et le mineur (à droite), ex:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-l</span> <span style="color: #000000; font-weight: bold;">/</span>dev<br />
crw-rw-rw- <span style="color: #000000;">1</span> root root <span style="color: #000000;">1</span>, <span style="color: #000000;">5</span> avr <span style="color: #000000;">29</span> <span style="color: #000000;">14</span>:07 zero<br />
crw-rw-rw- <span style="color: #000000;">1</span> root root <span style="color: #000000;">1</span>, <span style="color: #000000;">8</span> avr <span style="color: #000000;">29</span> <span style="color: #000000;">14</span>:07 random<br />
crw-rw-rw- <span style="color: #000000;">1</span> root root <span style="color: #000000;">1</span>, <span style="color: #000000;">9</span> avr <span style="color: #000000;">29</span> <span style="color: #000000;">14</span>:07 urandom</div></td></tr></tbody></table></div>
<p>Le fichier /dev/random a un numéro de périphérique majeur égal à 1, et un numéro mineur égal à 8. Les numéros du périphérique /dev/urandom sont 1 pour le majeur, et 9 pour le mineur et pour zero ils sont respectivement de 1 et 5. Ils sont de type c (Character), ils communiquent octet par octet (comme un port série) à l&#8217;inverse des disques durs qui sont de type b (Blocks) et qui &#8211; donc &#8211; communiquent par blocs de données.</p>
<p>Ce que l&#8217;on peut lire dans la documentation de noyau Linux a leurs propos :</p>
<pre>1 char Memory device
    ...
    5 = /dev/zero        Null byte source
    ...
    8 = /dev/random   Nondeterministic random number gen.
    9 = /dev/urandom Faster, less secure random number gen.
    ...</pre>
<p>En réalité, le générateur de nombres aléatoires récupère les séquences aléatoires en fonction du « bruit » généré par l&#8217;environnement : mouvement de la souris, frappe au clavier, etc.. Le générateur mémorise également une estimation du nombre de bits de bruit dans son réservoir d&#8217;entropie, et utilise son contenu pour créer des nombres aléatoires.<br />
<strong>En effet, lors d&#8217;une lecture, le périphérique /dev/random sera limité au nombre de bits de bruit qu&#8217;il contient</strong>.<br />
/dev/random est particulièrement adapté pour des cas où l&#8217;on a ponctuellement besoin de nombres hautement aléatoires (création de clés par exemple). Lorsque le réservoir d&#8217;entropie est vide, les lectures du périphérique /dev/random seront bloquantes jusqu&#8217;à l&#8217;obtention de suffisamment de bruits en provenance de l&#8217;environnement. Dans notre cas &#8211; ou l&#8217;on a besoin d&#8217;une très grande quantité de données —, nous risquons d&#8217;être très rapidement limité ! Heureusement, /dev/urandom renverra autant d&#8217;octets qu&#8217;on en demande. Toutefois, s&#8217;il n&#8217;y a plus assez de bits disponibles dans le réservoir d&#8217;entropie, les valeurs renvoyées pourraient être théoriquement vulnérables à une cryptanalyse basée sur l&#8217;algorithme employé par le pilote. Il n&#8217;existe pas de documentation sur ce type d&#8217;attaque dans la littérature publique actuelle, mais cela n&#8217;élimine pas le risque théorique.</p>
<p>Le fichier de périphérique /dev/zero quand a lui, se comporte comme s’il contenait une infinité d’octets à ~0. Quelle que soit la quantité de données que vous essayez de lire à partir de /dev/zero, il générera suffisamment d’octets nuls.</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">hexdump</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>zero<br />
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br />
<span style="color: #000000; font-weight: bold;">*</span></div></td></tr></tbody></table></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">hexdump</span> <span style="color: #660033;">-C</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>random<br />
00000000 c8 6a <span style="color: #000000;">22</span> ab 8a cb a2 <span style="color: #000000;">66</span> <span style="color: #000000;">17</span> 7a ce 8d d6 e8 e1 fa <span style="color: #000000; font-weight: bold;">|</span>?j<span style="color: #ff0000;">&quot;?.ˢf.z?.????|<br />
00000010 c1 69 7c d1 64 39 44 cc be 8f 06 db 88 1e 5c ba |?i|?d9D̾..?..\?|<br />
00000020 99 9d a3 f7 cb ff a4 ea 43 c1 b4 ea b8 ba f9 71 |..??????C??긺?q|<br />
...</span></div></td></tr></tbody></table></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">hexdump</span> <span style="color: #660033;">-C</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>urandom<br />
00000000 <span style="color: #000000;">49</span> db 3d 9e <span style="color: #000000;">25</span> bf <span style="color: #000000;">14</span> b9 b8 a6 <span style="color: #000000;">58</span> <span style="color: #000000;">22</span> b1 <span style="color: #000000;">13</span> 7b <span style="color: #000000;">29</span> <span style="color: #000000; font-weight: bold;">|</span>I?=.<span style="color: #000000; font-weight: bold;">%</span>?.???X<span style="color: #ff0000;">&quot;?.{)|<br />
00000010 33 40 bf 14 e5 aa 99 c9 a0 ee fb 5c 74 5a 01 d6 |3@?.?.ɠ??<span style="color: #000099; font-weight: bold;">\t</span>Z.?|<br />
00000020 6b 45 33 6c a4 d6 69 54 53 d8 17 55 ba dc 8c 76 |kE3l??iTS?.U??.v|<br />
...</span></div></td></tr></tbody></table></div>
<p>En résumé, nous allons plutôt utiliser /dev/urandom ou /dev/zero, sinon ça va prendre un temps fou. /dev/random donne de l&#8217;entropie &laquo;&nbsp;forte&nbsp;&raquo; (liée au matériel) et ne donne donc que quelques octets par seconde. /dev/urandom complète cette entropie forte avec du PRNG et génère donc les données aussi vite que nécessaire, ou presque..</p>
<p><strong>Dans le cas d&#8217;un effacement de disque dur, ce risque nous importe peu, mais je trouvais intéressant d&#8217;en parler.</strong></p>
<p>Petites précisions pour les BSD Users:<br />
1) Le générateur de bruit random a été remplacé par un générateur cryptographique nommé « <a rel="nofollow" href="http://fr.wikipedia.org/wiki/Yarrow">Yarrow algorithm</a> » ;<br />
2) /dev/urandom est un lien symbolique sur /dev/random.<br />
3) Les numéros mineurs et majeurs ne sont pas les mêmes, ex:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ ls -l /dev | grep random<br />
crw-rw-rw- 1 root wheel 8, 0 5 mai 15:23 random<br />
crw-rw-rw- 1 root wheel 8, 1 3 mai 15:52 urandom</div></td></tr></tbody></table></div>
<h3>Vérifications</h3>
<p>Pour vérifier l&#8217;oeuvre de la commande dd couplée à random, nous allons utiliser « hexdump » (sur un fichier de 64b, pour une question de lisibilité).</p>
<p>Utilisons &laquo;&nbsp;zero&nbsp;&raquo; comme générateur:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">count</span>=<span style="color: #000000;">1</span> <span style="color: #007800;">bs</span>=<span style="color: #000000;">64</span> <span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000; font-weight: bold;">&amp;</span>amp; <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">hexdump</span> <span style="color: #660033;">-C</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>^00<span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
<span style="color: #000000;">1</span>+<span style="color: #000000;">0</span> records <span style="color: #000000; font-weight: bold;">in</span><br />
<span style="color: #000000;">1</span>+<span style="color: #000000;">0</span> records out<br />
<span style="color: #000000;">64</span> bytes transferred <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">0.000035</span> secs <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">1826092</span> bytes<span style="color: #000000; font-weight: bold;">/</span>sec<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #000000;">0</span>+<span style="color: #000000;">1</span> records <span style="color: #000000; font-weight: bold;">in</span><br />
<span style="color: #000000;">0</span>+<span style="color: #000000;">1</span> records out<br />
<span style="color: #000000;">64</span> bytes transferred <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">0.000018</span> secs <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">3532045</span> bytes<span style="color: #000000; font-weight: bold;">/</span>sec<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <span style="color: #000000; font-weight: bold;">|</span>................<span style="color: #000000; font-weight: bold;">|</span><br />
<span style="color: #000000; font-weight: bold;">*</span><br />
00000040</div></td></tr></tbody></table></div>
<p>Quand à utiliser &laquo;&nbsp;random&nbsp;&raquo;, voici le résultat :</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>random <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">count</span>=<span style="color: #000000;">1</span> <span style="color: #007800;">bs</span>=<span style="color: #000000;">64</span> <span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000; font-weight: bold;">&amp;</span>amp; <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">hexdump</span> <span style="color: #660033;">-C</span><br />
<span style="color: #000000;">1</span>+<span style="color: #000000;">0</span> records <span style="color: #000000; font-weight: bold;">in</span><br />
<span style="color: #000000;">1</span>+<span style="color: #000000;">0</span> records out<br />
<span style="color: #000000;">64</span> bytes transferred <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">0.000040</span> secs <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">1597830</span> bytes<span style="color: #000000; font-weight: bold;">/</span>sec<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #000000;">0</span>+<span style="color: #000000;">1</span> records <span style="color: #000000; font-weight: bold;">in</span><br />
<span style="color: #000000;">0</span>+<span style="color: #000000;">1</span> records out<br />
<span style="color: #000000;">64</span> bytes transferred <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">0.000016</span> secs <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">4006499</span> bytes<span style="color: #000000; font-weight: bold;">/</span>sec<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
00000000 <span style="color: #000000;">68</span> 0f 9a a5 f8 9c 1a <span style="color: #000000;">45</span> fa ce c2 04 <span style="color: #000000;">64</span> 0d 3a a2 <span style="color: #000000; font-weight: bold;">|</span>h..??..E???.d.:?<span style="color: #000000; font-weight: bold;">|</span><br />
00000010 d5 <span style="color: #000000;">59</span> f1 <span style="color: #000000;">10</span> 05 4a <span style="color: #c20cb9; font-weight: bold;">cc</span> b0 ec <span style="color: #000000;">69</span> 3a <span style="color: #000000;">26</span> f6 f9 <span style="color: #000000;">42</span> c3 <span style="color: #000000; font-weight: bold;">|</span>?Y?..J̰?i:<span style="color: #000000; font-weight: bold;">&amp;</span>amp;??B?<span style="color: #000000; font-weight: bold;">|</span><br />
00000020 <span style="color: #000000;">28</span> <span style="color: #000000;">81</span> <span style="color: #000000;">32</span> 7b 3e f5 7c 3a a8 d9 <span style="color: #000000;">75</span> <span style="color: #000000;">63</span> bd <span style="color: #000000;">16</span> <span style="color: #000000;">21</span> 8e <span style="color: #000000; font-weight: bold;">|</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>.2<span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;?<span style="color: #000000; font-weight: bold;">|</span>:??uc?.<span style="color: #000000; font-weight: bold;">!</span>.<span style="color: #000000; font-weight: bold;">|</span><br />
00000030 9a 9e <span style="color: #000000;">28</span> <span style="color: #000000;">43</span> <span style="color: #c20cb9; font-weight: bold;">bc</span> <span style="color: #000000;">69</span> 3c 7a <span style="color: #000000;">53</span> <span style="color: #000000;">11</span> 8b 9b 7c 8d <span style="color: #000000;">86</span> 2e <span style="color: #000000; font-weight: bold;">|</span>..<span style="color: #7a0874; font-weight: bold;">&#40;</span>C?i 00000040</div></td></tr></tbody></table></div>
<p>Vous pourrez, naturellement vérifier le résultat en situation « réelle » grace a la commande suivante :</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdX <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">hexdump</span> <span style="color: #660033;">-C</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>^00<span style="color: #7a0874; font-weight: bold;">&#93;</span></div></td></tr></tbody></table></div>
<h2>Note finale</h2>
<p>Il existe des logiciels comme &laquo;&nbsp;Shred&nbsp;&raquo; qui offrent des solutions « clés en main », mais qui au final ne font que ce que vous auriez très bien pu faire avec &laquo;&nbsp;dd&nbsp;&raquo; (un nombre X de passes random puis finir sur une &laquo;&nbsp;zero&nbsp;&raquo;), ex:</p>
<p>Les deux lignes suivantes font la même chose:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">shred</span> <span style="color: #660033;">-fzv</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">16</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdX</div></td></tr></tbody></table></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">for</span> n <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">seq</span> <span style="color: #000000;">15</span><span style="color: #000000; font-weight: bold;">`</span>; <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>urandom <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdX <span style="color: #007800;">conv</span>=notrunc; <span style="color: #000000; font-weight: bold;">done</span>; <span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>zero <span style="color: #007800;">of</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdX <span style="color: #007800;">conv</span>=notrunc</div></td></tr></tbody></table></div>
<p>sachant que &#8211; pour un disque de 500Go &#8211; dd a été le plus rapide chez moi.</p>
<p>Il existe un ensemble d’outils nommé « secure_deletion toolkit », mais il n&#8217;est pas encore porté sur toutes les plates-formes. Par exemple, l&#8217;outil « sfill » pousse l&#8217;effacement sécurisé des fichiers à son paroxysme :</p>
<p>* Une passe avec 0xff<br />
* 5 passes aléatoires avec la source /dev/urandom<br />
* 27 passes avec des valeurs spéciales définies par Peter Gutmann. (<a rel="nofollow" href="http://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html">Je vous invite d&#8217;ailleurs a lire son article très complet si vous voulez en savoir plus.</a>)<br />
* A nouveau 5 passes aléatoires.<br />
* Une passe avec 0&#215;00.</p>
<p><strong>Il est peu être possible de lire « à côté des pistes », des résidus magnétisés et de retrouver ainsi des données écrites préalablement en décalant les têtes et peut être existe&#8217;il d&#8217;autres méthodes dont nous n&#8217;avons pas connaissance alors il reste une solution universelle et radicale : La destruction physique. C&#8217;est la seule solution réellement viable et irrécupérable : Perceuse, Masse, Acide et j&#8217;en passe..</strong></p>
<p><strong>Le générateur random et l&#8217;utilitaire dd sont disponibles sur énormément de distributions : Solaris, Mac OS X, FreeBSD, HP-UX, Tru64, AIX et j&#8217;en passe.</strong></p>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/debian/effacer-definivement-toutes-les-donnees-dun-disque-dur-sous-nux-677/feed/</wfw:commentRss>
<slash:comments>9</slash:comments>
</item>
<item>
<title>ARP Spoofing (ARP Cache poisoning)</title>
<link>http://www.crashdump.fr/securite/arp-spoofing-arp-cache-poisoning-59/</link>
<comments>http://www.crashdump.fr/securite/arp-spoofing-arp-cache-poisoning-59/#comments</comments>
<pubDate>Sun, 26 Apr 2009 09:25:57 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Réseaux]]>
</category>
<category>
<![CDATA[Sécurité]]>
</category>
<category>
<![CDATA[Adresse MAC]]>
</category>
<category>
<![CDATA[arp]]>
</category>
<category>
<![CDATA[ARP Spoofing]]>
</category>
<category>
<![CDATA[Cache poisoning]]>
</category>
<category>
<![CDATA[cisco]]>
</category>
<category>
<![CDATA[Denial of Service]]>
</category>
<category>
<![CDATA[DoS]]>
</category>
<category>
<![CDATA[exploit]]>
</category>
<category>
<![CDATA[faille]]>
</category>
<category>
<![CDATA[Mac]]>
</category>
<category>
<![CDATA[MAC Flooding]]>
</category>
<category>
<![CDATA[Man in the middle]]>
</category>
<category>
<![CDATA[MITM]]>
</category>
<category>
<![CDATA[Modele OSI]]>
</category>
<guid isPermaLink="false">http://www.crashdump.fr/blog/?p=59</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/04/arp-spoofing.png" class="attachment-featured-image wp-post-image" alt="arp-spoofing" title="arp-spoofing" /></p><br />Dans le monde de la sécurité informatique, il existe trois types de failles : L’exploit connu de tous, généralement rapidement corrigé par un patch. L’exploit de type 0-day, très peu de gens en ont connaissance — qui sera peut-être corrigé un jour — Et enfin les vulnérabilités dues a la conception d’un système/protocole et qui ne [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/04/arp-spoofing.png" class="attachment-featured-image wp-post-image" alt="arp-spoofing" title="arp-spoofing" /></p><br /><p><em>Dans le monde de la sécurité informatique, il existe trois types de failles : L’exploit connu de tous, généralement rapidement corrigé par un patch. L’exploit de type 0-day, très peu de gens en ont connaissance — qui sera peut-être corrigé un jour — Et enfin les vulnérabilités dues a la conception d’un système/protocole et qui ne pourrons pas être, c’est le cas de par exemple du protocole de routage BGP (sur lequel j’ai fait un billet précédemment) ou encore de l’ « Address Resolution Protocol » aka ARP. Et tout bon sysadmin se doit de les connaitre pour savoir où et comment surveiller son réseau et se prémunir de ces attaques qui ne pardonnent pas.<br />
Ce protocole et les attaques qu&#8217;il permet sur un LAN sont plutôt bien connus. Néanmoins, les conséquences de ces attaques sont rarement appréhendées à leur juste mesure. La technique que nous allons voir ici se nomme ARP Spoofing (ou ARP Cache poisoning). C&#8217;est une technique de spoofing très efficace bien que facilement détectable et – comme je le disais plus haut, parfaitement incurable, car lié directement a sa conception. . Nous étudierons trois possibilités de sont utilisation : Denial of Service, Man in the middle et MAC Flooding. Mais tout d&#8217;abord, commençons par une piqûre de rappel.</em></p>
<p>MAJ 6 Mai 2009: Correction de quelques fautes.</p>
<ul>
<li>1. <a rel="nofollow" href="#modeleosi">Modèle OSI</a></li>
<li>2. <a rel="nofollow" href="#ladressemac">L’adresse MAC</a></li>
<li>3. <a rel="nofollow" href="#leprotocolearp">Le protocole ARP</a></li>
<li>4. <a rel="nofollow" href="#larpspoofing">L’ARP Spoofing</a></li>
<li>5. <a rel="nofollow" href="#faiblesses">Faiblesses</a></li>
<li>5.1 Denial of Service</li>
<li>5.2 Man in the middle</li>
<li>5.3 MAC Flooding</li>
<li>6. <a rel="nofollow" href="#solutions">Solutions</a></li>
<li>6.1 Pour les petits réseaux</li>
<li>6.2 Pour les grands réseaux</li>
<li>6.3 Pour tous le monde</li>
</ul>
<h2>1. <a name="modeleosi">Modèle OSI</a></h2>
<p>L’OSI (Open Systems Interconnection) est un modèle de communications entre machines proposé par l&#8217;ISO (Organisation internationale de normalisation). Il décrit les fonctionnalités nécessaires à la communication et l&#8217;organisation de ces fonctions.<br />
Dans sa forme la plus simple, il divise le réseau en sept couches que nous ne détaillerons pas ici. La numérotation des couches commence par le bas, c&#8217;est à dire par le matériel (matériel en bas, logiciel d&#8217;application en haut. Nous nous intéressons uniquement à certaines couches dites basses :</p>
<p>• La couche physique (niveau 1) : La couche physique est chargée de la transmission effective des signaux électriques ou optiques entre les interlocuteurs (100BASE-TX, ADSL, Firewire, USB, RS-232…).<br />
• la couche liaison (niveau 2) est le lien entre la carte réseau et la couche réseau (Ethernet, Token ring, WiFi, PPPoE)<br />
• la couche réseau (niveau 3) gère l&#8217;adressage logique et le routage (IPv4, IPv6, ICMP).</p>
<p><a href="http://www.crashdump.fr/wp-content/uploads/2009/04/comptcp-osi.png"><img class="alignnone size-thumbnail wp-image-654" title="comptcp-osi" src="http://www.crashdump.fr/wp-content/uploads/2009/04/comptcp-osi-430x125.png" alt="comptcp-osi" width="430" height="125" /></a></p>
<p>Exemples :</p>
<p>- Un hub est un matériel de niveau 1 : il permet de relier plusieurs machines à une même branche du réseau. Il se contente de faire circuler les signaux dans les deux sens, sans traitement.<br />
- Un routeur est un matériel de niveau 3, c&#8217;est-à-dire qu&#8217;il intervient aux niveaux 1 à 3. C&#8217;est le dispositif de base des réseaux. Il lit l&#8217;adresse IP des paquets qu&#8217;il reçoit et les re-expédie où il faut depuis les données contenues dans sa table de routage et son cache ARP. Cette dernière est mise à jour régulièrement, en fonction des données que le routeur reçoit des routeurs et des ordinateurs voisins.</p>
<h2>2. <a name="ladressemac">L’adresse MAC</a></h2>
<p>L’adresse MAC (Media Access Control) est un identifiant physique constitué de 6 octets, elle est attribuée par le constructeur de l’équipement et « hard codé » sur la carte (il est possible de la changer, mais ce n’est pas le but de cet article.) Elle consiste en six nombres hexadécimaux séparés par des « &#8211; » ou des « : », il existe potentiellement 248 (environ 281 000 milliards) d&#8217;adresses MAC possible, il est donc quasiment impossible de se retrouver avec un doublon sur le réseau. Notez que l’adresse de broadcast est: FF:FF:FF:FF:FF:FF, les données seront envoyées à l’ensemble du réseau local.<br />
Nota : L&#8217;IEEE a donné des préfixes de 24 bits sur les 48 bits aux fabricants, c’est l &#8216;OUI (organizationally unique identifier). Ce qui permet facilement d’identifier une carte de destination, ex :</p>
<p>00-00-0C(hex) Pour Cisco ou encore 00-00-7D(hex) pour Sun – (clin d’œil a touff’.. si tu me lis ;)</p>
<p>Vous pouvez y avoir accès, sous Linux avec la commande ifconfig :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[user@machine]$ ifconfig<br />
eth0 Link encap:Ethernet HWaddr 00:90:27:52:78:7A<br />
inet addr:192.168.10.51 Bcast:192.168.10.255 Mask:255.255.255.0</div></td></tr></tbody></table></div>
<p>En savoir plus : http://www.iana.org/assignments/ieee-802-numbers</p>
<h2>3. <a name="leprotocolearp">Le Protocole ARP</a></h2>
<p>Ce protocole est vraiment très simple : Il sert à mettre en corrélation l’adresse IP avec l’adresse MAC pour savoir qui sont les machines sur le réseau et donc savoir ou router les paquets. Ce protocole est totalement séparé de TCP/IP puisqu’il n’opère qu’entre les niveaux 2 et 3 de la couche réseau. Nous pourrions le comparer aux DNS sauf qu’au lieu de convertir les noms de domaines en IP, il convertit les IPs en Adresse MAC.<br />
Les équipements réseaux communiquent en échangeant des trames Ethernet (dans le cas d&#8217;un réseau Ethernet bien sûr) au niveau de la couche liaison de données, toute machine connectée a un réseau possède un cache ARP de toutes les adresses IP/MAC rencontrés, ce qui permet de ne pas encombrer les réseaux en renouvelant les requêtes pour communiquer avec les machines contactées précédemment.</p>
<p>Il comprend quatre messages de base :</p>
<div>
<ol>
<li>Une requête ARP: L’ordinateur A demande sur le réseau (en broadcast) « Qui a cette adresse IP ? »</li>
<li>Une réponse ARP: L’ordinateur B répond a l’ordinateur A : « J’ai cette adresse IP et mon adresse Mac est .. »</li>
<li>Une requête RARP (ARP inversé): Même principe que le 1. sauf que l’ordinateur A demande : “Qui a cette adresse mac ?” (En réalité le RARP est très peu utilisé et est essentiellement utilisé pour les stations de travail n&#8217;ayant pas de disque dur et souhaitant connaître leur adresse logique.)</li>
<li>Une réponse RARP:L’ordinateur B répond a l’ordinateur A: “J’ai cette adresse IP:..”<br />
Puisqu&#8217;il s&#8217;agit de broadcast, tous les ordinateurs connectés au support physique vont recevoir la requête. Les autres machines recevront aussi le message et pourrons analyser les messages pour stocker dans leur cache une liste des adresses IP/MAC (Vous commencez a voir ou je veux en venir&#8230;) La machine qui possède cette adresse MAC, sera la seule &#8211; ce qui est censé être le cas dans tout réseau, cf : Adresses MAC, plus haut &#8211; à répondre en envoyant à la machine émettrice une réponse.</li>
</ol>
</div>
<p>Aller plus loin : http://tools.ietf.org/html/rfc826</p>
<h2>4. <a name="larpspoofing">L’ARP Spoofing</a></h2>
<p>Bien, assez de tous ces rappels ennuyeux, passons aux choses amusantes : la vulnérabilité de ce protocole. Pour améliorer le temps de réponse et limiter l’utilisation du réseau la plupart des systèmes mettent a jour leur cache ARP a chaque fois qu’ils reçoivent une réponse, même s’ils ne l’on pas demandé : ce qui veut dire qu’un « pirate » envoyant un message ARP a l’ordinateur B disant « l’ordinateur C a mon Adresse MAC » recevra ensuite tous les messages qui devraient normalement être délivrés a cet ordinateur C.<br />
petite mise en situation :</p>
<p>(J’ai simplifié les adresses MAC pour une meilleure lisibilité)<br />
A. Le serveur, 00:00:00:00:00:01 – 192.168.0.10<br />
B. Un utilisateur, 00:00:00:00:00:02 – 192.168.0.20<br />
C. Le pirate, 00:00:00:00:00:03 – 192.168.0.30</p>
<p>C annonce à B “192.168.0.10” est a l’adresse MAC: 00:00:00:00:00:03.<br />
C annonce à A “192.168.0.20” est a l’adresse MAC: 00:00:00:00:00:03.</p>
<p>Comment ? avec des solutions comme ARPSpoof ou Némésis, très simplement :</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">&#91;</span>user<span style="color: #000000; font-weight: bold;">@</span>cible<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ traceroute 192.168.0.10<br />
traceroute to 192.168.0.10 <span style="color: #7a0874; font-weight: bold;">&#40;</span>192.168.0.10<span style="color: #7a0874; font-weight: bold;">&#41;</span>, <span style="color: #000000;">30</span> hops max, <span style="color: #000000;">40</span> byte packets<br />
<span style="color: #000000;">1</span> 192.168.0.10 <span style="color: #7a0874; font-weight: bold;">&#40;</span>192.168.0.10<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">718</span> ms <span style="color: #000000;">461</span> ms <span style="color: #000000;">849</span> ms</div></td></tr></tbody></table></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">&#91;</span>user<span style="color: #000000; font-weight: bold;">@</span>cible<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ arp<br />
Address HWtype HWAddress Flags Mask Iface<br />
192.168.0.10 ether 00:00:00:00:00:01 C eth0<br />
192.168.0.30 ether 00:00:00:00:00:03 C eth0</div></td></tr></tbody></table></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">&#91;</span>evil<span style="color: #000000; font-weight: bold;">@</span>pirate<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ arpspoof <span style="color: #660033;">-t</span> 192.168.0.30 192.168.0.10<br />
<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">3</span> <span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">2</span> 0806 <span style="color: #000000;">42</span>: arp reply 192.168.0.10 is-at <span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">3</span><br />
<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">3</span> <span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">2</span> 0806 <span style="color: #000000;">42</span>: arp reply 192.168.0.10 is-at <span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">3</span><br />
<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">3</span> <span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">2</span> 0806 <span style="color: #000000;">42</span>: arp reply 192.168.0.10 is-at <span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">0</span>:<span style="color: #000000;">3</span></div></td></tr></tbody></table></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">&#91;</span>user<span style="color: #000000; font-weight: bold;">@</span>cible<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ traceroute 192.168.0.10<br />
traceroute to 192.168.0.10 <span style="color: #7a0874; font-weight: bold;">&#40;</span>192.168.0.10<span style="color: #7a0874; font-weight: bold;">&#41;</span>, <span style="color: #000000;">30</span> hops max, <span style="color: #000000;">40</span> byte packets<br />
<span style="color: #000000;">1</span> 192.168.0.10 <span style="color: #7a0874; font-weight: bold;">&#40;</span>192.168.0.10<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">612</span> ms <span style="color: #000000;">465</span> ms <span style="color: #000000;">515</span> ms<br />
<span style="color: #000000;">2</span> 192.168.0.30 <span style="color: #7a0874; font-weight: bold;">&#40;</span>192.168.0.30<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">238</span> ms <span style="color: #000000;">121</span> ms <span style="color: #000000;">169</span> ms</div></td></tr></tbody></table></div>
<p>Maintenant toutes les communications de l’utilisateur vers le serveur (ou inversement) seront routées vers le pirate… qui pourra par exemple récupérer les login/mot de passe.</p>
<h2>5. <a name="faiblesses">Faiblesses</a></h2>
<p>Comme je viens de le dire, il n’y a aucun système d’authentification. ARP est basé sur la confiance : il considère tous les messages reçus comme authentiques, qu’il provienne de la machine légitime ou pas et il n’intègre aucun moyen de vérification. Je pense que les concepteurs de ces protocoles ont sûrement simplifié les communications pour que les réseaux fonctionnent de manière optimale, les débits étaient très peu élevés à cette époque et un système d’authentification aurait été beaucoup plus lourd.<br />
La possibilité d’associer n’importe quelle adresse IP avec une @MAC permet à un pirate plusieurs vecteurs d’attaques, je vais maintenant en détailler 3 : Denial of Service, Man in the Middle et MAC Flooding.</p>
<h3>5.1 Denial of Service (DoS)</h3>
<p>Comme nous l’avons vu précédemment, un pirate peut facilement associer une adresse IP a une fausse adresse MAC. Par exemple, un pirate peut envoyer une réponse ARP associant l’adresse de vôtre routeur avec une adresse MAC qui n’existe pas. Votre ordinateur pense donc connaître réellement la passerelle par défaut, mais en fait ils envoient leurs paquets a une destination qui n’existe pas. Le pirate vous a isolé du réseau.<br />
Nous pourrions tout aussi bien projeter &#8211; sur un réseau plus grand – une attaque de type DDoS (Distributed Denial of Service) en signalant a toutes les machines qu’une seule adresse MAC correspond a toutes les adresses IP. Ce qui risque de submerger la machine sous des requêtes en tout genre. (Voir aussi MAC Flooding).</p>
<h3>5.2 Man in the Middle</h3>
<p>Une autre utilisation intéressante de cette faille est de rester dans l’ombre et d’ « écouter » le trafic (sniffing) pour récupérer des informations comme les logins et mot de passe… ce qui est particulièrement dévastateur, car le pirate peut rapidement avoir accès a des informations qui lui permettront de s’infiltrer plus profond dans vôtre réseau.<br />
Mise en œuvre : Dans le cadre d’un ARP Poisoning simple, les machines n’arrivent plus a joindre leur destinataire légitime, l’attaque est donc très facilement repérable. Mais le pirate peut facilement mettre en place ce qu’on appelle l’IP Forwarding (echo 1 &gt; /proc/sys/net/ipv4/ip_forward), celles-ci enverront donc leurs trames Ethernet à la machine pirate tout en croyant communiquer avec la cible, et ce de façon transparente pour les switches. De son côté, la machine pirate stocke le trafic et le renvoie à la vraie machine en forgeant des trames Ethernet comportant la vraie adresse MAC (indépendamment de l&#8217;adresse IP) pour cela il suffit en fait d&#8217;envoyer régulièrement des paquets ARPReply en broadcast, contenant l&#8217;adresse IP cible (mettons, un serveur) et la fausse adresse MAC. Cela a pour effet de modifier les tables dynamiques de toutes les machines du réseau. Ce qui permet à la machine du pirate d’écouter toutes les informations qui transitent par son ordinateur et il peu – facilement – avoir accès a vos mots de passe non chiffrés (entre autres).</p>
<h2>5.3 MAC Flooding</h2>
<p>Le MAC Flooding est un ARP Cache poisoning visant les routeurs et les switches. Certains matériels réseaux actifs &#8211; lorsqu’ils sont surchargés – basculent dans un mode moins gourmand en ressources, pour sauvegarder leurs liens : ils deviennent de simples hubs et donc broadcastent tout le trafic réseau sur tous leurs ports (et donc tous les ordinateurs qui y sont connectés. (Et en floodant la table ARP d’un switch avec énormément de données on peut facilement le surcharger..) ce qui permet ensuite au pirate d’écouter facilement tout ce qui transite sur le réseau.</p>
<h2>6. <a name="solutions">Solutions</a></h2>
<p>Certaines solutions que je vous propose ci-dessous sont simples, mais n’hésitez pas à les mettre en place – car si vous vous pensez à l’abri c’est là que vous êtes le plus vulnérable. Notez tout de même que l’ «ARP Poisoning» ne peut être utilisé qu’en local. Il doit contrôler une machine sur votre réseau, ce qui veut dire que le pirate aurait déjà accès à ce réseau… Parce que cette faille est inhérente au protocole requis par TCP/IP vous ne pourrez le patcher, cependant il existe des solutions pour le surveiller/détecter.</p>
<h3>6.1 Pour les petits réseaux</h3>
<p>Si vous êtes administrateur d’un petit réseau, vous avez plusieurs méthodes imparables pour vous prémunir de ces attaques : Utiliser des Adresses IP fixes / Tables ARP statiques. (arp –s pour définir les @MAC/IP de tous vos périphériques) ils ne changeront donc jamais, quels que soient les messages reçus. Si vous avez mis en place un contrôleur de domaine, il est possible de définir un script de démarrage dans lequel vous spécifieriez ces adresses.<br />
Gardez tout de même a l’esprit que maintenir une liste de ces adresses est possible seulement si vous possédez un petit réseau. S’il devait s’agrandir vous seriez rapidement submergé par le temps demandé a maintenir cette liste, car il vous faudrait ajouter chaque machine a ce script avant qu’elle ne puisse dialoguer avec les autres (quid de la taille du fichier script ?).</p>
<h3>6.2 Pour les grands réseaux</h3>
<p>Si vous êtes administrateur d’un réseau informatique assez étendu vous devriez être équipé de switch qui propose des options « port security » (par exemple Cisco) cette option permet de définir une seule adresse MAC par ports et qui &#8211; si cette adresse change &#8211; verrouille le port. Cela permet de limiter la plupart des attaques ARP comme le Man-in-the-middle.</p>
<h3>6.3 Pour tous le monde</h3>
<p>La meilleure protection contre l’ARP Poisoning est la surveillance de votre réseau, en effet, avec les outils appropriés, cette attaque ne peut pas passer inaperçue. Par exemple, il existe un outil nommé ARPwatch qui permet – en autres – d’envoyer une alerte quand messages ARP anormaux apparaissent (j’écrirais un billet sur l’envoi d’alertes par SMS via des API bientôt).</p>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/securite/arp-spoofing-arp-cache-poisoning-59/feed/</wfw:commentRss>
<slash:comments>13</slash:comments>
</item>
<item>
<title>Serveur HTTP Python en une ligne..</title>
<link>http://www.crashdump.fr/reseaux/serveur-http-python-en-une-ligne-649/</link>
<comments>http://www.crashdump.fr/reseaux/serveur-http-python-en-une-ligne-649/#comments</comments>
<pubDate>Fri, 24 Apr 2009 22:21:29 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Code]]>
</category>
<category>
<![CDATA[Réseaux]]>
</category>
<category>
<![CDATA[http]]>
</category>
<category>
<![CDATA[python]]>
</category>
<category>
<![CDATA[serveur]]>
</category>
<category>
<![CDATA[serveur web]]>
</category>
<category>
<![CDATA[SimpleHTTPServer]]>
</category>
<guid isPermaLink="false">http://www.crashdump.fr/?p=649</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/04/python_at_http.jpg" class="attachment-featured-image wp-post-image" alt="python_at_http" title="python_at_http" /></p><br />Un &#171;&#160;irc friend&#160;&#187; &#8211; fo0 en l&#8217;occurrence &#8211; m&#8217;as demandé récemment comment comment créer un petit serveur web en python, rapidement pour pouvoir partager ponctuellement des fichiers &#038; tester du dev. Et bien c&#8217;est faisable en une courte ligne: 1python -c 'import SimpleHTTPServer;SimpleHTTPServer.test()' Ca lance un petit serveur http sur le port 8000, partageant les [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/04/python_at_http.jpg" class="attachment-featured-image wp-post-image" alt="python_at_http" title="python_at_http" /></p><br /><p><em>Un &laquo;&nbsp;irc friend&nbsp;&raquo; &#8211; <a rel="nofollow" href="irc://irc.europnet.org/informatique">fo0</a> en l&#8217;occurrence &#8211; m&#8217;as demandé récemment comment comment créer un petit serveur web en python, rapidement pour pouvoir partager ponctuellement des fichiers &#038; tester du dev. Et bien c&#8217;est  faisable en une courte ligne:</em></p>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">python -c <span style="color: #483d8b;">'import SimpleHTTPServer;SimpleHTTPServer.test()'</span></div></td></tr></tbody></table></div>
<p>Ca lance un petit serveur http sur le port 8000, partageant les fichiers du répertoire courant. Pointez vôtre navigateur sur http://127.0.0.1:8000/ et vous servira le fichier index.html si il existe, sinon il listera le répertoire courant. Et il bavera toutes les infos sur le stdout, exemple:</p>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ python -c <span style="color: #483d8b;">'import SimpleHTTPServer;SimpleHTTPServer.test()'</span><br />
Serving HTTP on 0.0.0.0 port <span style="color: #ff4500;">8000</span> ...<br />
<span style="color: black;">localhost</span> - - <span style="color: black;">&#91;</span><span style="color: #ff4500;">25</span>/Apr/<span style="color: #ff4500;">2009</span> <span style="color: #ff4500;">00</span>:<span style="color: #ff4500;">01</span>:<span style="color: #ff4500;">27</span><span style="color: black;">&#93;</span> <span style="color: #483d8b;">&quot;GET / HTTP/1.1&quot;</span> <span style="color: #ff4500;">200</span> -<br />
localhost - - <span style="color: black;">&#91;</span><span style="color: #ff4500;">25</span>/Apr/<span style="color: #ff4500;">2009</span> <span style="color: #ff4500;">00</span>:<span style="color: #ff4500;">01</span>:<span style="color: #ff4500;">38</span><span style="color: black;">&#93;</span> <span style="color: #483d8b;">&quot;GET /Documents/ HTTP/1.1&quot;</span> <span style="color: #ff4500;">200</span> -<br />
localhost - - <span style="color: black;">&#91;</span><span style="color: #ff4500;">25</span>/Apr/<span style="color: #ff4500;">2009</span> <span style="color: #ff4500;">00</span>:<span style="color: #ff4500;">01</span>:<span style="color: #ff4500;">44</span><span style="color: black;">&#93;</span> <span style="color: #483d8b;">&quot;GET /Documents/test.txt HTTP/1.1&quot;</span> <span style="color: #ff4500;">200</span> -</div></td></tr></tbody></table></div>
<p>De plus il est &laquo;&nbsp;chrooté&nbsp;&raquo; au répertoire dans lequel vous l&#8217;aurez lancé &#8211; essayer d&#8217;accéder a http://127.0.0.1:8000/../ vous laissera dans le répertoire courant.</p>
<p>Voilà pour la petite astuce du soir.. </p>
<p><strong>Maj du 29 Avril 2009</strong>: Vu sur <a rel="nofollow" href="http://www.tux-planet.fr" rel="nofollow">http://www.tux-planet.fr</a>, une version encore plus simple:</p>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">python -m <span style="color: #dc143c;">SimpleHTTPServer</span></div></td></tr></tbody></table></div>
<p><strong>Maj du 04 Mai 2009</strong>: Voici une version multithreadé et pas beaucoup plus compliquée:</p>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br /></div></td><td><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">#!/usr/bin/env python</span><br />
<span style="color: #808080; font-style: italic;"># -*- coding: utf-8 -*-</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">SocketServer</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">BaseHTTPServer</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span><span style="color: #66cc66;">,</span> <span style="color: #dc143c;">os</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">CGIHTTPServer</span><br />
port <span style="color: #66cc66;">=</span> <span style="color: #ff4500;">8000</span><br />
<span style="color: #ff7700;font-weight:bold;">class</span> ThreadingCGIServer<span style="color: black;">&#40;</span><span style="color: #dc143c;">SocketServer</span>.<span style="color: black;">ThreadingMixIn</span><span style="color: #66cc66;">,</span> <span style="color: #dc143c;">BaseHTTPServer</span>.<span style="color: black;">HTTPServer</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">pass</span><br />
server <span style="color: #66cc66;">=</span> ThreadingCGIServer<span style="color: black;">&#40;</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">''</span><span style="color: #66cc66;">,</span> port<span style="color: black;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #dc143c;">CGIHTTPServer</span>.<span style="color: black;">CGIHTTPRequestHandler</span><span style="color: black;">&#41;</span><br />
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Serveur demarre sur le port %s.&quot;</span> % port<br />
<span style="color: #ff7700;font-weight:bold;">try</span>:<br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">while</span> <span style="color: #ff4500;">1</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #dc143c;">sys</span>.<span style="color: black;">stdout</span>.<span style="color: black;">flush</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; server.<span style="color: black;">handle_request</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
<span style="color: #ff7700;font-weight:bold;">except</span> <span style="color: #008000;">KeyboardInterrupt</span>:<br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Fini !&quot;</span></div></td></tr></tbody></table></div>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/reseaux/serveur-http-python-en-une-ligne-649/feed/</wfw:commentRss>
<slash:comments>3</slash:comments>
</item>
<item>
<title>Installer Os X sur un Thinkpad R52</title>
<link>http://www.crashdump.fr/apple/installer-os-x-sur-un-thinkpad-r52-598/</link>
<comments>http://www.crashdump.fr/apple/installer-os-x-sur-un-thinkpad-r52-598/#comments</comments>
<pubDate>Tue, 21 Apr 2009 11:11:41 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Apple]]>
</category>
<category>
<![CDATA[Hackintosh]]>
</category>
<category>
<![CDATA[IBM]]>
</category>
<category>
<![CDATA[iDeneb]]>
</category>
<category>
<![CDATA[intel]]>
</category>
<category>
<![CDATA[os x]]>
</category>
<category>
<![CDATA[R52]]>
</category>
<category>
<![CDATA[T52]]>
</category>
<category>
<![CDATA[Thinkpad]]>
</category>
<category>
<![CDATA[Tuto]]>
</category>
<guid isPermaLink="false">http://www.crashdump.fr/?p=598</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/04/ideneb-R52.jpg" class="attachment-featured-image wp-post-image" alt="ideneb-R52" title="ideneb-R52" /></p><br />Ayant un R52 sous la main, je me suis lancé dans l&#8217;installation d&#8217;un Mac Os X sur cette machine. La procédure n&#8217;est pas très compliquée mais je vais vous détailler toutes les étapes ici, accompagné de photos. Retrouvez toutes les photos de la procédure ici. Matériel requis - Un portable Lenovo(IBM) Thinkpad R52 (ou T52) [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/04/ideneb-R52.jpg" class="attachment-featured-image wp-post-image" alt="ideneb-R52" title="ideneb-R52" /></p><br /><p><em>Ayant un R52 sous la main, je me suis lancé dans l&#8217;installation d&#8217;un Mac Os X sur cette machine. La procédure n&#8217;est pas très compliquée mais je vais vous détailler toutes les étapes ici, accompagné de photos.</em></p>
<p><a href="http://www.crashdump.fr/myFiles/pics/TutoHackintoshR52/">Retrouvez toutes les photos de la procédure ici</a>.</p>
<h2>Matériel requis</h2>
<p style="text-align: left;"><a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc038702.jpg"><img class="size-thumbnail wp-image-601 aligncenter" title="dsc038702" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc038702-430x125.jpg" alt="dsc038702" width="430" height="125" /></a><br />
- Un portable Lenovo(IBM) Thinkpad R52 (ou T52)<br />
- La distribution iDeneb 1.4 (10.5.6) (<a rel="nofollow" href="http://www.google.fr/search?hl=fr&amp;q=%22iDeneb+1.4%22+rapidfind.org&amp;btnG=Rechercher&amp;meta=">Vous pourrez la trouver sur google</a>)<br />
- Du café et de la bonne musique.. pour rendre l&#8217;étape d&#8217;installation moins douloureuse :)</p>
<h2>Installation</h2>
<p>0. Faites couler un café.. on en aura besoin plus tard.</p>
<p style="text-align: left;">1. Configurer le BIOS pour Booter sur le DVD. Accessoirement vous pouvez désactiver le port Parallèle qui ne nous servira plus a rien ;)<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03871.jpg"><img class="size-thumbnail wp-image-603 aligncenter" title="dsc03871" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03871-430x125.jpg" alt="dsc03871" width="430" height="125" /></a></p>
<p style="text-align: left;">2. Insérer le DVD de iDeneb 1.4 dans le R52 puis redémarrez le portable.<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03872.jpg"><img class="size-thumbnail wp-image-602 aligncenter" title="dsc03872" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03872-430x125.jpg" alt="dsc03872" width="430" height="125" /></a></p>
<p style="text-align: left;">3. Lors de l&#8217;invite suivante appuyez sur F8 pour spécifier les arguments de boot suivant: &laquo;&nbsp;cpus=1 maxmem=2048 –v&nbsp;&raquo; (Sans les &laquo;&nbsp;, inutile de vous décrire l&#8217;effet de ces arguments.. vous les aurez compris..).<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03874.jpg"><img class="size-thumbnail wp-image-604 aligncenter" title="dsc03874" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03874-430x125.jpg" alt="dsc03874" width="430" height="125" /></a></p>
<p style="text-align: left;">4. Le DVD d&#8217;installation boot, c&#8217;est une étape qui peut parfois être un peu longue.. laissez tourner tant qu&#8217;il y a de l&#8217;activité..<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03879.jpg"><img class="size-thumbnail wp-image-605 aligncenter" title="dsc03879" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03879-430x125.jpg" alt="dsc03879" width="430" height="125" /></a></p>
<p style="text-align: center;"><a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03881.jpg"><img class="size-thumbnail wp-image-606 aligncenter" title="dsc03881" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03881-430x125.jpg" alt="dsc03881" width="430" height="125" /></a></p>
<p style="text-align: left;">5. Nous arrivons a la sélection du langage de l&#8217;installer, sélectionnez la langue qui vous conviens puis cliquez suivant.<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03886.jpg"><img class="size-thumbnail wp-image-607 aligncenter" title="dsc03886" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03886-430x125.jpg" alt="dsc03886" width="430" height="125" /></a></p>
<p style="text-align: center;"><a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03887.jpg"><img class="size-thumbnail wp-image-608 aligncenter" title="dsc03887" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03887-430x125.jpg" alt="dsc03887" width="430" height="125" /></a></p>
<p style="text-align: left;">6. Arrivé sur l&#8217;écran de bienvenue, ouvrez l&#8217;utilitaire de disque pour y créer une partition HFS. Pour cela cliquez sur: Menu -&gt; Utilitaires -&gt; Utiliaire de disque.<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03889.jpg"><img class="size-thumbnail wp-image-609 aligncenter" title="dsc03889" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03889-430x125.jpg" alt="dsc03889" width="430" height="125" /></a></p>
<p style="text-align: left;">7. Créez une partition Mac OS étendu (journalisé) vous pouvez toujours avoir une deuxième partition ext3 ou fat32 pour windows.. appliquez puis continuez.<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03891.jpg"><img class="size-thumbnail wp-image-610 aligncenter" title="dsc03891" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03891-430x125.jpg" alt="dsc03891" width="430" height="125" /></a></p>
<p style="text-align: center;"><a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03893.jpg"><img class="size-thumbnail wp-image-611 aligncenter" title="dsc03893" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03893-430x125.jpg" alt="dsc03893" width="430" height="125" /></a></p>
<p style="text-align: center;"><a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03895.jpg"><img class="size-thumbnail wp-image-612 aligncenter" title="dsc03895" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03895-430x125.jpg" alt="dsc03895" width="430" height="125" /></a></p>
<p style="text-align: center;"><a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03896.jpg"><img class="size-thumbnail wp-image-613 aligncenter" title="dsc03896" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03896-430x125.jpg" alt="dsc03896" width="430" height="125" /></a></p>
<p style="text-align: left;">8. Sélection du disque/partition sur laquelle sera installé le système.<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03897.jpg"><img class="size-thumbnail wp-image-614 aligncenter" title="dsc03897" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03897-430x125.jpg" alt="dsc03897" width="430" height="125" /></a></p>
<p style="text-align: left;">9. Attention ici, avant de cliquer sur &laquo;&nbsp;Installer&nbsp;&raquo; il va nous falloir spécifier des choses dans &laquo;&nbsp;Personnaliser&nbsp;&raquo;.<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03899.jpg"><img class="size-thumbnail wp-image-615 aligncenter" title="dsc03899" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03899-430x125.jpg" alt="dsc03899" width="430" height="125" /></a></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Langues -&amp;gt; Francais<br />
Patches -&amp;gt;<br />
Audio -&amp;gt; &quot;AC97Audio&quot;<br />
Chipset -&amp;gt; &quot;ICHx fixed&quot;<br />
Kernel -&amp;gt; &quot;Kernel Voodoo 9.5.0&quot;<br />
Fix -&amp;gt; &quot;BatteryManager&quot;, &quot;Cpus=1-Fix&quot;, &quot;Seatbelt Fix&quot;, &quot;AppleSMBIOS MacBook&quot;.<br />
Video -&amp;gt; Intel -&amp;gt; &quot;Intel GMA 900&quot;</div></td></tr></tbody></table></div>
<p><strong>Explications</strong>:<br />
- AC97Audio = Driver du chip audio AC97&#8242;<br />
- ICHx Fixed = Driver du Chipset ICH (ATA/SATA..)<br />
- Kernel Voodoo 9.5.0 = CPU SSE2 et le 9.6.0 (celui par défaut) est SSE3 only.<br />
- BatteryManager = Accès au informations d&#8217;état de la batterie.<br />
- Cpus=1-Fix = Pentium M, un seul core donc..<br />
- Seatblelt Fix = Corrige un problème lié au montage d&#8217;iso sur le Kernel Voodoo 9.5.0<br />
- AppleSMBIOS Macbook = On spécifie que c&#8217;est un portable pour l&#8217;About this mac.<br />
<del datetime="2009-04-21T19:34:37+00:00">- IOPCICard = Gestion du PC Card TI.</del> Kernel panic.. dommage, on va trouver une autre solution.<br />
- Intel GMA 900 = Notre carte graphique.. (attention sur certain modèles de R52 c&#8217;est une ATI X300.. modifiez en fonction).</p>
<p style="text-align: center;"><a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03901.jpg"><img class="size-thumbnail wp-image-616 aligncenter" title="dsc03901" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03901-430x125.jpg" alt="dsc03901" width="430" height="125" /></a></p>
<p style="text-align: left;">10. Cliquez &laquo;&nbsp;Terminé&nbsp;&raquo; puis &laquo;&nbsp;Installation&nbsp;&raquo;<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03902.jpg"><img class="size-thumbnail wp-image-617 aligncenter" title="dsc03902" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03902-430x125.jpg" alt="dsc03902" width="430" height="125" /></a></p>
<p style="text-align: center;"><a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03903.jpg"><img class="size-thumbnail wp-image-618 aligncenter" title="dsc03903" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03903-430x125.jpg" alt="dsc03903" width="430" height="125" /></a></p>
<p style="text-align: center;">NOTE: Vous pouvez passer l&#8217;étape de vérification du disque.. ou pas.. mais si l&#8217;installation échoue, c&#8217;est une des choses a vérifier en premier.<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03905.jpg"><img class="size-thumbnail wp-image-619 aligncenter" title="dsc03905" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03905-430x125.jpg" alt="dsc03905" width="430" height="125" /></a></p>
<p style="text-align: left;">11. Allez chercher vôtre café, il a du finir de couler.. et l&#8217;installation va être longue..<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03908.jpg"><img class="size-thumbnail wp-image-620 aligncenter" title="dsc03908" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03908-430x125.jpg" alt="dsc03908" width="430" height="125" /></a></p>
<p style="text-align: left;">12. Cliquez &laquo;&nbsp;redémarrer&nbsp;&raquo; puis éjectez le DVD.<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03911.jpg"><img class="size-thumbnail wp-image-621 aligncenter" title="dsc03911" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03911-430x125.jpg" alt="dsc03911" width="430" height="125" /></a></p>
<p style="text-align: center;"><a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03914.jpg"><img class="size-thumbnail wp-image-622 aligncenter" title="dsc03914" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03914-430x125.jpg" alt="dsc03914" width="430" height="125" /></a></p>
<p style="text-align: left;">13. Comme au début de ce tutoriel, pour le premier démarrage il va falloir spécifier les arguments de boot: cpus=1 maxmem=2048 –v (utile uniquement pour le premier boot.. ensuite vous pourrez booter normalement, sauf problèmes en cas de copies de gros fichiers)<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03915.jpg"><img class="size-thumbnail wp-image-623 aligncenter" title="dsc03915" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03915-430x125.jpg" alt="dsc03915" width="430" height="125" /></a></p>
<p style="text-align: center;"><a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03917.jpg"><img class="size-thumbnail wp-image-624 aligncenter" title="dsc03917" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03917-430x125.jpg" alt="dsc03917" width="430" height="125" /></a></p>
<p style="text-align: left;">14. De l&#8217;image et du son ! :)<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03925.jpg"><img class="size-thumbnail wp-image-625 aligncenter" title="dsc03925" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03925-430x125.jpg" alt="dsc03925" width="430" height="125" /></a></p>
<p style="text-align: left;">15. Suivez l&#8217;assitant&#8230;<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03929.jpg"><img class="size-thumbnail wp-image-626 aligncenter" title="dsc03929" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03929-430x125.jpg" alt="dsc03929" width="430" height="125" /></a></p>
<p style="text-align: left;">16. Félicitations !<br />
<a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03933.jpg"><img class="size-thumbnail wp-image-627 aligncenter" title="dsc03933" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03933-430x125.jpg" alt="dsc03933" width="430" height="125" /></a></p>
<p style="text-align: center;"><a href="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03934.jpg"><img class="size-thumbnail wp-image-628 aligncenter" title="dsc03934" src="http://www.crashdump.fr/wp-content/uploads/2009/04/dsc03934-430x125.jpg" alt="dsc03934" width="430" height="125" /></a></p>
<p>Vous pouvez maintenant lire cet article: <a href="http://www.crashdump.fr/tout-et-rien/bestof-apps-pour-osx-et-nostalgie-396/">Les applications indispensables pour Os X</a></p>
<p>Nous pourrions encore améliorer deux/trois petites choses.. mais je reviendrais sûrement sur cet article plus tard, dans une révision 2.</p>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/apple/installer-os-x-sur-un-thinkpad-r52-598/feed/</wfw:commentRss>
<slash:comments>5</slash:comments>
</item>
<item>
<title>The Cheat 1.2.2 pour (Snow) Leopard</title>
<link>http://www.crashdump.fr/apple/the-cheat-122-pour-leopard-540/</link>
<comments>http://www.crashdump.fr/apple/the-cheat-122-pour-leopard-540/#comments</comments>
<pubDate>Thu, 16 Apr 2009 18:15:06 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Apple]]>
</category>
<category>
<![CDATA[iHaxGamez]]>
</category>
<category>
<![CDATA[Mac OS X]]>
</category>
<category>
<![CDATA[memory editor]]>
</category>
<category>
<![CDATA[source]]>
</category>
<category>
<![CDATA[The cheat]]>
</category>
<guid isPermaLink="false">http://www.crashdump.fr/?p=540</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/04/thecheat.png" class="attachment-featured-image wp-post-image" alt="thecheat" title="thecheat" /></p><br />The Cheat permet de chercher/modifier des valeurs d&#8217;applications en mémoire sous mac os x. Elle a été écrite par Charles McGarvey (www.brokenzipper.com) en 2003 et la dernière version a été la 1.2.1 en 2005. Seulement voilà, depuis Leopard, elle ne fonctionnais plus ! Maintenant, il est aussi compatible avec Snow Leopard (10.6). Le développeur ayant eu la [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/04/thecheat.png" class="attachment-featured-image wp-post-image" alt="thecheat" title="thecheat" /></p><br /><p>The Cheat permet de chercher/modifier des valeurs d&#8217;applications en mémoire sous mac os x. Elle a été écrite par Charles McGarvey (<a rel="nofollow" href="http://www.brokenzipper.com">www.brokenzipper.com</a>) en 2003 et la dernière version a été la 1.2.1 en 2005. Seulement voilà, depuis Leopard, elle ne fonctionnais plus !</p>
<p><strong>Maintenant, il est aussi compatible avec Snow Leopard (10.6).</strong></p>
<p><a href="http://www.crashdump.fr/wp-content/uploads/2009/04/image-2.png"><img class="alignnone size-thumbnail wp-image-541" title="TheCheat" src="http://www.crashdump.fr/wp-content/uploads/2009/04/image-2-430x125.png" alt="TheCheat" width="430" height="125" /></a></p>
<p>Le développeur ayant eu la bonne idée de publier le code de son application dès qu&#8217;il en a abandonné le support, je me suis permis de reprendre un peu tout ça et de la rendre a nouveau compatible avec nôtre système préféré: Je vous livre là une version 1.2.2. a nouveau fonctionnelle.</p>
<p><a rel="nofollow" href="/?download=TheCheat1.2.2">The Cheat 1.2.2 (Intel/PPC)</a>, 661K, 2880 téléchargements.<br />
<a rel="nofollow" href="/?download=TheCheat1.2.2-Source">Le code source est disponible ici</a>, 4.8M, 753 téléchargements.</p>
<p><em>Si vous avez le moindre problème (crash, impossible d&#8217;accéder aux valeurs,&#8230;) postez un commentaire ici en expliquant ce qu&#8217;il se passe, j&#8217;essayerais de la corriger&#8230; Sinon vous pouvez aussi me laisser un petit message de remerciement si vous trouvez mon travail utile.. ça fait toujours plaisir ;)</em></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8211; <em>English version below</em> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>The Cheat allows you to search and edit values of applications in memory with Mac OS X. It was written by Charles McGarvey (<a rel="nofollow" href="http://www.brokenzipper.com">www.brokenzipper.com</a>) in 2003 and the latest version was 1.2.1 in 2005. But since Leopard, it dont work!</p>
<p>The developer who had the good sense to publish the code of his application as soon as it abandoned the support, so I changed the code a bit to make it compatible with new versions of OS X. This is I version 1.2.2.</p>
<p>If you have any problem (crash, unable to access the values ,&#8230;) post a comment here explaining what&#8217;s happening, I will try to correct it&#8230; You can also leave me a thanks message if you find my work useful !</p>
<p>And sorry for my poor english&#8230; ;)</p>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/apple/the-cheat-122-pour-leopard-540/feed/</wfw:commentRss>
<slash:comments>42</slash:comments>
</item>
<item>
<title>HackThisSite.org Basic Howto: 1 à 10</title>
<link>http://www.crashdump.fr/securite/hackthissiteorg-howto-519/</link>
<comments>http://www.crashdump.fr/securite/hackthissiteorg-howto-519/#comments</comments>
<pubDate>Fri, 10 Apr 2009 13:04:09 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Code]]>
</category>
<category>
<![CDATA[Réseaux]]>
</category>
<category>
<![CDATA[Sécurité]]>
</category>
<category>
<![CDATA[basic mission]]>
</category>
<category>
<![CDATA[hack this site]]>
</category>
<category>
<![CDATA[HackThisSite.org]]>
</category>
<category>
<![CDATA[tutoriel]]>
</category>
<guid isPermaLink="false">http://www.crashdump.fr/?p=519</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/04/hacking-shellcode.png" class="attachment-featured-image wp-post-image" alt="hacking-shellcode" title="hacking-shellcode" /></p><br />Il y a des jours, ou, on se fait un peu plus chier que d&#8217;autres.. En bon geek j&#8217;ai occupé mon temps en surf sur le net et je suis tombé sur ça: http://www.hackthissite.com. Il ne sagit pas là d&#8217;une provocation pure et simple mais d&#8217;un site qui propose des défis de h4x0r. Je n&#8217;ai [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/04/hacking-shellcode.png" class="attachment-featured-image wp-post-image" alt="hacking-shellcode" title="hacking-shellcode" /></p><br /><p><em>Il y a des jours, ou, on se fait un peu plus chier que d&#8217;autres.. En bon geek j&#8217;ai occupé mon temps en surf sur le net et je suis tombé sur ça: </em><a rel="nofollow" href="http://www.hackthissite.org/"><em>http://www.hackthissite.com</em></a><em>. Il ne sagit pas là d&#8217;une provocation pure et simple mais d&#8217;un site qui propose des défis de h4x0r. Je n&#8217;ai eu &#8211; pour l&#8217;instant &#8211; que l&#8217;occasion de réaliser la partie &laquo;&nbsp;Basic Missons&nbsp;&raquo; (les 10 épreuves) et je vais essayer de toutes vous les expliquer ici. Sans plus attendre voici les solutions.</em></p>
<p><strong>Avant tout, il vous faudra le navigateur  au renard a la queue flamboyante avec quelques une des extensions disponibles: &laquo;&nbsp;</strong><a rel="nofollow" href="http://www.mozilla-europe.org/fr/firefox/"><strong>Firefox</strong></a><strong>&laquo;&nbsp;, &laquo;&nbsp;</strong><a rel="nofollow" href="https://addons.mozilla.org/en-US/firefox/addon/1843"><strong>Firebug</strong></a><strong>&nbsp;&raquo; et &laquo;&nbsp;</strong><a rel="nofollow" href="https://addons.mozilla.org/fr/firefox/addon/6683"><strong>FireCookies</strong></a><strong>&laquo;&nbsp;.</strong></p>
<p><em></em></p>
<h2><span style="text-decoration: underline;">Basic 1</span>: &laquo;&nbsp;Basic test of your skills to see if you can do any of these missions. Requirements: HTML.&nbsp;&raquo;</h2>
<p>La première mission est vraiment très très simple, il suffit d&#8217;aller plonger dans le code source pour y trouver le mot de passe: faites un clic droit et &laquo;&nbsp;View page source&nbsp;&raquo; (ou &laquo;&nbsp;Inspect element&nbsp;&raquo; avec firebug) cherchez un code de la forme:</p>
<pre>&lt;!-- the first few levels are extremely easy: password is abcd1234 --&gt;</pre>
<p>Entrez le mot de passe dans le champ puis cliquez: &laquo;&nbsp;submit&nbsp;&raquo;. Bravo vous êtes un 3l1t3 h4x00r :)</p>
<h2><span style="text-decoration: underline;">Basic 2</span>: &laquo;&nbsp;A slightly more difficult challenge, involving an incomplete password script. Requirements: Common sense.&nbsp;&raquo;</h2>
<p>Deuxième mission qui on s&#8217;en doute ne va pas être vraiment plus difficile que la première. Il suffira d&#8217;être un petit peu logique.. il est dit que l&#8217;admin n&#8217;as pas uploadé le fichier contenant le mot de passe, donc: le mot de passe est&#8230; vide, quel étourdi ce sam ! Cliquez simplement sur &laquo;&nbsp;submit&nbsp;&raquo; :)</p>
<h2><span style="text-decoration: underline;">Basic 3</span>: &laquo;&nbsp;Some intuition is needed to find the location of the hidden password file. Requirements: Basic HTML knowledge.&nbsp;&raquo;</h2>
<p>Très bien, ici, Sam n&#8217;as pas oublié d&#8217;uploader le fichier contenant le mot de passe (en clair..). Comme d&#8217;habitude, avant tout, rendons nous dans la source:</p>
<pre>&lt;form action="/missions/basic/3/index.php" method="post"&gt;
    <strong>&lt;input type="hidden" name="file" value="password.php"&gt;</strong>
    &lt;input type="password" name="password"&gt;&lt;br /&gt;&lt;br /&gt;
    &lt;input type="submit" value="submit"&gt;</pre>
<p>Tiens, Sam a encore commis une boulette ! Pointez vôtre navigateur sur &laquo;&nbsp;http://www.hackthissite.org/missions/basic/3/password.php&nbsp;&raquo;, récupérez le mot de passe et next !</p>
<h2><span style="text-decoration: underline;">Basic 4</span>: &laquo;&nbsp;An email script has been set up, which sends the password to the administrator. Requirements: HTML knowledge, an email address.&nbsp;&raquo;</h2>
<p>Dans la mission 4, Sam a encore commis de belles erreurs !  Regardons directement la source:</p>
<pre>&lt;form action="/missions/basic/4/level4.php" method="post"&gt;
    &lt;input type="hidden" name="to" value="webmaster@hulla-balloo.com"&gt;
    &lt;input type="submit" value="Send password to Sam"&gt;
&lt;/form&gt;
&lt;form action="/missions/basic/5/index.php" method="post"&gt;
        &lt;input type="password" name="password"&gt;
        &lt;br /&gt;&lt;br /&gt;
        &lt;input type="submit" value="submit"&gt;
&lt;/form&gt;</pre>
<p>Comme vous pouvez le voir, il y a deux &laquo;&nbsp;forms&nbsp;&raquo;: Le premier permet d&#8217;envoyer le mot de passe sur l&#8217;adresse mail de Sam alors que le second permet l&#8217;accès quand on connais le mot de passe.</p>
<p>Ici encore, nous allons exploiter ce code pas très sécure pour nous faire envoyer le mot de passe en forgeant notre propre form. Pour ça, ouvrez firebug en cliquant droit sur le form, puis &laquo;&nbsp;Inspect element&nbsp;&raquo;. Maintenant changez directement l&#8217;adresse mail par la vôtre &#8211; ou changez le type du champ de </p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">type=&quot;hidden&quot;</div></td></tr></tbody></table></div>
<p>à </p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">type=&quot;text&quot;</div></td></tr></tbody></table></div>
<p>. Validez.. copiez le mot de passe, revenez en arrière et passons au challenge suivant :)</p>
<h2><span style="text-decoration: underline;">Basic 5</span>: &laquo;&nbsp;Similar to the previous challenge, but with some extra security measures in place. Requirements: HTML knowledge, JS or FF,  an email address.&nbsp;&raquo;</h2>
<p>A priori, rien de différent, on procède comme la Basic 4..</p>
<p>EDIT: il semble que la seule chose qui change c&#8217;est un script qui vérifie nôtre provenance avant de valider l&#8217;envoi du mail&#8230; en effet une autre solution pour le défi précédent aurais été de modifier la source de la page directement depuis une copie sur notre disque dur.</p>
<h2><span style="text-decoration: underline;">Basic 6</span>: &laquo;&nbsp;An encryption system has been set up, which uses an unknown algorithm to change the text given. Requirements: Persistence, some general cryptography knowledge.&nbsp;&raquo;</h2>
<p>J&#8217;avoue avoir un peu plus galéré sur ce défi ! C&#8217;est un sacré bond en avant que Sam nous a fait là.. En fait il ne sagit pas là d&#8217;exploit mais de cryptographie pure et simple.</p>
<p>Qu&#8217;avons nous ? deux formulaires et le mot de passe chiffré: Le premier permet de chiffrer un mot de passe et le deuxième d&#8217;accéder au défi suivant. Le mot de passe étant sous sa forme chiffrée, il nous faudra donc utiliser le premier script pour comprendre ou essayer d&#8217;en déduire la technique utilisée.</p>
<p>Essayons de chiffrer un caratère:</p>
<p><span style="font-family: -webkit-monospace;">1</span> nous donne: <span style="font-family: -webkit-monospace;">1</span></p>
<p><span style="font-family: -webkit-monospace;">1</span> donne <span style="font-family: -webkit-monospace;">1</span>. Hùùùm.. tentons quelque chose de plus long..</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">11111111</div></td></tr></tbody></table></div>
<p>-&gt; </p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">12345678</div></td></tr></tbody></table></div>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">22222222</div></td></tr></tbody></table></div>
<p>-&gt; </p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">23456789</div></td></tr></tbody></table></div>
<p>Nous pouvons voir ici qu&#8217;il y a incrémentation de 1 pour le second chiffre, 2 pour le troisième.. etc. Que se passe t&#8217;il quand nous allons quitter les décimaux simples ? Essayons.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">99999999</div></td></tr></tbody></table></div>
<p>-&gt; </p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">9:;&amp;lt;=&amp;gt;?@</div></td></tr></tbody></table></div>
<p>C&#8217;est la qu&#8217;il m&#8217;a fallu un peu de temps pour réaliser qu&#8217;il sagissait en fait de la table ASCII&#8230; en effet, sur cette table après le &laquo;&nbsp;9&#8243; nous avons &nbsp;&raquo;:&nbsp;&raquo; puis &laquo;&nbsp;;&nbsp;&raquo; puis &nbsp;&raquo;&lt;&nbsp;&raquo;, etc&#8230; <a href="http://www.crashdump.fr/wp-content/uploads/2009/04/ascii_table.jpg">Vérifiez ici par vous même</a> :)</p>
<p>J&#8217;ai, comme mot de passe chiffré: <span style="font-family: -webkit-monospace;">ef6d4818</span></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">e - 0 = e</div></td></tr></tbody></table></div>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">f - 1 = e</div></td></tr></tbody></table></div>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">6 - 2 = 4</div></td></tr></tbody></table></div>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">d - 3 = a</div></td></tr></tbody></table></div>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">4 - 4 = 0</div></td></tr></tbody></table></div>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">8 - 5 = 3</div></td></tr></tbody></table></div>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">l - 6 = f</div></td></tr></tbody></table></div>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">8 - 7 = 1</div></td></tr></tbody></table></div>
<p>Le mot de passe déchiffré est donc: ee4a03f1 dans mon cas :)</p>
<p><strong>Basic 7: &laquo;&nbsp;The password is hidden in an unknown file, and Sam has set up a script to display a calendar. Requirements: Basic UNIX command knowledge.&nbsp;&raquo;</strong></p>
<p>Celui ci est vraiment très facile aussi ! Nous apprenons que Sam a crée un script qui retourne la sortie de la commande cal de linux (une aubaine pour nous!). Testons la chose.. Si nous entrons une année dans le champ il nous retourne le résultat classique de la commande cal, rien d&#8217;exceptionnel. Comment cela peut il fonctionner ? Je suppose que le contenu doit être de la forme:</p>
<div class="wp_syntax">
<div class="code">
<pre><span>print</span> `cal <span>$input</span>`;</pre>
</div>
</div>
<p>Une simple injection de la forme:</p>
<pre><span>&amp;&amp; ls</span></pre>
<p>Nous permet donc de lister le répertoire courant:</p>
<pre>.
..
level7.php
cal.pl
index.php
k1kh31b1n55h.php
perl5.8.9.core</pre>
<p>Il semblerais que le fichier k1kh31b1n55h.php contienne notre mot de passe. Bravo étape suivante :)</p>
<h2><span style="text-decoration: underline;">Basic 8</span>: &laquo;&nbsp;The password is yet again hidden in an unknown file. Sam&#8217;s daughter has begun learning <a rel="nofollow" id="KonaLink0" class="kLink" href="http://www.hackthissite.org/#" target="undefined"><span><span class="kLink">PHP</span></span></a>, and has a small script to demonstrate her knowledge. Requirements: Knowledge of SSI (dynamic html executed by the <a rel="nofollow" id="KonaLink1" class="kLink" href="http://www.hackthissite.org/#" target="undefined"><span><span class="kLink">server</span></span></a>, rather than the browser).&nbsp;&raquo;</h2>
<p>Sam commence a sécuriser un peu plus ses formulaire, heureusement sa petite soeur a crée un petit script qui va nous ouvrir les portes ! Essayons donc maintenant le script de Stéphanie: Ce script enregistre ce que vous avez entré dans le champ texte avec quelques informations supplémentaires (Longueur du texte.. etc). C&#8217;est a ce moment la que nous allons utiliser une injection par formulaire en utilisant, cette fois ci les SSI. (Du html dynamique, du code exécuté par le serveur.. un peu comme le php). Les SSI sont utilisée &#8211; par exemple &#8211; par apache pour inclure les headers/footers des pages qu&#8217;il génère avec l&#8217;option &laquo;&nbsp;<a rel="nofollow" href="http://httpd.apache.org/docs/2.0/mod/mod_autoindex.html">Indexes</a>&laquo;&nbsp;.</p>
<p>Nous allons donc essayer d&#8217;insérer le code suivant (exec de la commande linux ls) dans le fichier généré par le script de Stéphanie:</p>
<pre>&lt;!--#exec cmd="ls .."--&gt;</pre>
<p>Et voilà le travail:</p>
<blockquote>
<pre>Hi, au12ha39vc.php index.php level8.php tmp!
Your name contains 39 characters.</pre>
</blockquote>
<p>Il ne vous reste plus qu&#8217;a consulter au12ha39vc.php pour passer au niveau suivant :)</p>
<h2><span style="text-decoration: underline;">Basic 9</span>: &laquo;&nbsp;The password is again hidden in an unknown file. However, the script that was previously used to find it has some limitations. Requirements: Knowledge of SSI, Unix directory structure.&nbsp;&raquo;</h2>
<p>Liée a la mission précédente, celle ci s&#8217;avère très simple si on prend un peu de recul&#8230; Tout d&#8217;abord nous n&#8217;avons ici que le champ texte d&#8217;entrée du mot de passe, il va donc falloir chercher ailleurs. Si nous lisons les instructions de notre ami Sam nous aprenons qu&#8217;il sagit ici encore de SSI &#8211; nous avions utilisé:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&amp;lt;!--#exec cmd=&quot;ls ..&quot;--&amp;gt;</div></td></tr></tbody></table></div>
<p>Donc il suffit de se rendre une mission plus tôt &#8211; retourner sur la 8, oui &#8211; et changer le path du ls pour lister ce répertoire ci.. rien de plus simple. Nous étions ici:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">/missions/basic/8/tmp/</div></td></tr></tbody></table></div>
<p>et nous voulons aller là:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">/missions/basic/9/</div></td></tr></tbody></table></div>
<p>, il suffira donc d&#8217;executer cette intruction ci:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&amp;lt;!--#exec cmd=&quot;ls ../../9&quot;--&amp;gt;</div></td></tr></tbody></table></div>
<p>Encore une victoire pour nous.. plus que deux missions, voyons ce que Sam va nous servir.</p>
<h2><span style="text-decoration: underline;">Basic 10</span>: &laquo;&nbsp;This time Sam used a more temporary and &laquo;&nbsp;hidden&nbsp;&raquo; approach to authenticating users, but he didn&#8217;t think about whether or not those users knew their way around javascript&#8230;&nbsp;&raquo;</h2>
<p>Comme dans les missions précédentes nous sommes relativement bien guidés, il nous est dit que Sam a utilisé une méthode d&#8217;authentification cachée: de quoi penser &laquo;&nbsp;Cookies&nbsp;&raquo; ! En étudiant le code nous nous rendons compte que cette fois ci le mot de passe a été codé en dur et n&#8217;est pas accessible.</p>
<p>Nous allons donc analyser les cookies pour voir ce qu&#8217;il en est. Nous allons avoir besoin de &laquo;&nbsp;FireCookies&nbsp;&raquo; une extension pour Firefox qui permet de gérer les cookies (ajout/suppression/edition). Pour être le plus clair possible voici une capture d&#8217;ecran:</p>
<p><em><a href="http://www.crashdump.fr/wp-content/uploads/2009/03/firecookies-hackthissite.png"><img class="alignnone size-thumbnail wp-image-526" title="firecookies-hackthissite" src="http://www.crashdump.fr/wp-content/uploads/2009/03/firecookies-hackthissite-430x125.png" alt="firecookies-hackthissite" width="430" height="125" /></a></em></p>
<p>Vous pouvez voir une ligne “level11_authorized” changez sa valeur de “no” a “yes”, validez. BRAVO.</p>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/securite/hackthissiteorg-howto-519/feed/</wfw:commentRss>
<slash:comments>2</slash:comments>
</item>
<item>
<title>Télécharger sans risques après Hadopi &#8211; Methodes</title>
<link>http://www.crashdump.fr/tout-et-rien/telecharger-sans-risques-apres-hadopi-methodes-530/</link>
<comments>http://www.crashdump.fr/tout-et-rien/telecharger-sans-risques-apres-hadopi-methodes-530/#comments</comments>
<pubDate>Wed, 08 Apr 2009 07:30:34 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Tout-et-Rien]]>
</category>
<category>
<![CDATA[Hadopi]]>
</category>
<category>
<![CDATA[télécharger sans risques]]>
</category>
<guid isPermaLink="false">http://www.crashdump.fr/?p=530</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/04/download.png" class="attachment-featured-image wp-post-image" alt="download" title="download" /></p><br />Christine Albanel a présenté ce mercredi son projet de loi «Création et Internet» contre le téléchargement. Grande première: cette loi se propose de faire condamner des personnes sans que rien ne passe par un juge, juste une police privée qui relèvera l&#8217;adresse IP (fautive?) et enverra la notification sans avoir à se justifier: l&#8217;accusé ne [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/04/download.png" class="attachment-featured-image wp-post-image" alt="download" title="download" /></p><br /><p><em>Christine Albanel a présenté ce mercredi son projet de loi «Création et Internet» contre le téléchargement. Grande première: cette loi se propose de faire condamner des personnes sans que rien ne passe par un juge, juste une police privée qui relèvera l&#8217;adresse IP (fautive?) et enverra la notification sans avoir à se justifier: l&#8217;accusé ne saura même pas quel fichier on l&#8217;accuse de télécharger.</em></p>
<p><em>En clair, ce système fonctionne exactement comme fonctionnait l&#8217;inquisition, à savoir que le simple fait d&#8217;être accusé suffisait à établir la culpabilité, la Sainte Inquisition ne pouvant par définition pas se tromper. Le texte introduit un mécanisme de riposte graduée qui sanctionne l’internaute d’une suspension de sa connexion internet au bout de trois téléchargements illégaux. Mais le dispositif est inutile, Christine Albanel l’a reconnu mercredi lors de sa conférence de presse: les ayants droits, qui procéderont au filtrage des réseaux pour obtenir les adresses IP des internautes fautifs, ne placeront des radars que sur le peer-to-peer traditionnel. Or, aujourd’hui, une grande partie du téléchargement se fait ailleurs, ce qui risque de créer une répression à deux vitesses. Les internautes chevronnés ont peu de chance de se faire repérer, laissant les sanctions aux internautes qui utilisent encore les réseaux traditionnels, comme eMule ou bittorrent.</em></p>
<p>Revue des différentes méthodes pour tromper la loi «Création et Internet» :</p>
<h2>Le direct download (http/ftp):</h2>
<p>Rapidshare, Megaupload, dl.free.fr et assimilés: ces sites, capables d’héberger de lourds fichiers, se sont multipliés ces deux dernières années grace aux débits en téléchargement qu&#8217;ils apportent &#8211; l&#8217;espace de stockage qui est alloué aux utilisateur augmente aussi de jours en jours (a côté de ça les sites référençant les fichiers disponibles et leurs adresses sont en nombre: dupemonkey.com, filesbot.com&#8230;). Très peu de chance d’être repéré par le dispositif de «réponse graduée» qui ne s’intéresse pas à ces sites.</p>
<h2>Le peer-to-peer <del datetime="2010-02-11T10:06:07+00:00">crypté</del> chiffré:</h2>
<p>Les développeurs de peer-to-peer ont créé depuis un moment différents logiciels anonymes et sécurisés pour protéger les internautes. Le principe est que seul l’émetteur et le destinataire connaissent la teneur des données partagées. Contrairement aux autres logiciels de partage (BitTorrent, eMule, Limewire…), les utilisateurs sont anonymes : leurs IP ne sont pas divulguées sur le réseau. De plus, les données sont chiffrées ce qui rend (quasi-)impossible la connaissance du nom et du contenu d’un fichier diffusé sur le réseau. Quelques noms: Share, Mute, ANts..</p>
<h2>Les newsgroups:</h2>
<p>Existant depuis près de 30 ans et permettant une sécurité de vos échanges. Ce réseau vous connecte directement aux serveurs de votre fournisseurs newsgroups (chiffré en SSL la plupart du temps) vous n&#8217;échangez donc pas de données directement avec les autres utilisateurs. Vous pouvez donc utiliser pleinement votre connexion internet via les newsgroups, sans craindre pour votre vie privée, tout en conservant les même usages que les réseaux P2P. Plusieurs fournisseurs de très haute qualité vous proposent ces services, comme Giganews, PowerUsenet ou encore Newshosting, avec pour la plupart des offres d&#8217;essai gratuites, et surtout, des tarifs d&#8217;appel aux environ de 10e par mois, une somme largement abordable pour pouvoir profiter d&#8217;une tranquillité d&#8217;esprit sans pareil. (Qui a dit que la licence globale n&#8217;était pas adaptée ?).</p>
<h2>Le VPN:</h2>
<p>Voici la solution grand publique et abordable du VPN à 5 € le mois ! L’équipe de The Pirate Bay (entre autres) se lance là dedans et le principe est simple: Toutes vos communications internet seront chiffrées et transiteront par les serveurs de TPB. Du coup, la milice d’Hadopi ne pourra savoir ce que vous faites sur le net puisque vôtre ip sera celle du serveur VPN distant.. IMPARABLE en sachant que TPB ne stockera aucune donnée de connexion sur l’outil et que les lois de leur pays ne leur impose rien de la sorte.  Plusieurs sociétés proposent d’ores et déjà la création de VPN, mais il semble que l’outil de TPB sera très simple d’installation et de configuration. le blocage par protocole sera même rendu impossible et la seule solution restante à Albanel et ses sbires de régler le problème serait d&#8217;interdire les VPN mais là, ça reste du domaine de l’imaginaire: ça serait comme interdire le HTTP ou le FTP&#8230;</p>
<p> </p>
<p><strong>Plutôt que d&#8217;investir des millions d&#8217;euros pour lutter &#8211; inefficacement &#8211; contre des pirates boutonneux, n&#8217;aurais t&#8217;il pas mieux valu investir pour la lutte contre les pédophiles et autres dégénérés ?</strong></p>
<p>Peut-être serait-il plus simple que les gras du bide de l&#8217;industrie du disque admettent que leur modèle economique est dépassé et qu&#8217;ils mobilisent leurs forces pour la mise en place d&#8217;une licence globale.. car on remarque que certaines de ces solutions sont payantes, ce qui veux dire que les gens sont pret a payer mais pas a n&#8217;importe quel prix !</p>
<p>Précision: A l’image du peer-to-peer, tous ces services sont légaux. S’il est autorisé de s’y échanger des fichiers, il est par contre formellement interdit d&#8217;y échanger des fichiers copyrightés.</p>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/tout-et-rien/telecharger-sans-risques-apres-hadopi-methodes-530/feed/</wfw:commentRss>
<slash:comments>15</slash:comments>
</item>
<item>
<title>Echosdunet.net: Trop c&#8217;est trop&#8230;</title>
<link>http://www.crashdump.fr/tout-et-rien/echodunetnet-trop-cest-trop-507/</link>
<comments>http://www.crashdump.fr/tout-et-rien/echodunetnet-trop-cest-trop-507/#comments</comments>
<pubDate>Sun, 15 Feb 2009 23:30:00 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Tout-et-Rien]]>
</category>
<category>
<![CDATA[achtungbaby]]>
</category>
<category>
<![CDATA[echodunet.net]]>
</category>
<category>
<![CDATA[feebre.net]]>
</category>
<category>
<![CDATA[fibre]]>
</category>
<guid isPermaLink="false">http://www.crashdump.fr/?p=507</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/02/boufon.png" class="attachment-featured-image wp-post-image" alt="boufon" title="boufon" /></p><br />- Parce que je m&#8217;était toujours fixé comme but, pour ce blog de poster du technique, - Parce que je m&#8217;était toujours assuré de faire des billets qui vous plaisent, - Parce que la moutarde me monte, -Parce qu&#8217;un journaliste ne veux pas jouer au jeu du commentaire: Je ne vais  pas répondre a vos [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/02/boufon.png" class="attachment-featured-image wp-post-image" alt="boufon" title="boufon" /></p><br /><p>- Parce que je m&#8217;était toujours fixé comme but, pour ce blog de poster du technique,<br />
- Parce que je m&#8217;était toujours assuré de faire des billets qui vous plaisent,<br />
- Parce que la moutarde me monte,<br />
-Parce qu&#8217;un journaliste ne veux pas jouer au jeu du commentaire:</p>
<p>Je ne vais  pas répondre a vos attentes ce soir .. <span style="color: #ff0000;"><strong>Mais trop c&#8217;est trop !</strong></span></p>
<p><em>Parti de rien, la lecture d&#8217;un article sur un site (<span style="text-decoration: line-through;">echodunet.net</span>) au sujet de l&#8217;avancée de la fibre en France et d&#8217;un bête commentaire sur ce billet</em>..</p>
<p>Quand un journaliste &#8211; ou assimilé &#8211; joue le jeu du net 2.0 (sans mauvaises blagues :) et qu&#8217;il ne va pas jusqu&#8217;au bout ça donne quelque chose d&#8217;assez énervant.. encore plus quand il censure litteralement vos commentaires ! C&#8217;est bien ce qui m&#8217;est arrivé sur ce site qu&#8217;est echodunet. <strong>Censuré puis compte supprimé ! </strong>tout ça pour un petit commentaire sans aucune prétentions (ni insulte, ni trolls,etc.) &#8230;</p>
<p><strong>.. Mon petit achtungbaby, quand on ne veux que des commentaires flatteurs on se paye une péripatéticienne .. elle crie ce que vous voulez entendre !</strong></p>
<p>A priori je ne suis pas le seul: Voir l&#8217;article de Bluetouff (feebre.org) ici !</p>
<p><em>billet bref et sans trop d&#8217;importance.. mais au moins, ça m&#8217;a fait du bien.</em> Merci :)</p>
<p>l&#8217;article en question : <a rel="nofollow" href="http://www.echosdunet.net/dossiers/dossier_3202_fibre%20optique%20-%20france%20est%20avance%20sur%20europe.html" target="_blank">http://www.echosdunet.net/dossiers/dossier_3202_fibre optique &#8211; france est avance sur europe.html</a></p>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/tout-et-rien/echodunetnet-trop-cest-trop-507/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>Les applications indispensables pour Os X</title>
<link>http://www.crashdump.fr/tout-et-rien/bestof-apps-pour-osx-et-nostalgie-396/</link>
<comments>http://www.crashdump.fr/tout-et-rien/bestof-apps-pour-osx-et-nostalgie-396/#comments</comments>
<pubDate>Sun, 15 Feb 2009 13:54:12 +0000</pubDate>
<dc:creator>Crashdump</dc:creator>
<category>
<![CDATA[Apple]]>
</category>
<category>
<![CDATA[Tout-et-Rien]]>
</category>
<category>
<![CDATA[AOL]]>
</category>
<category>
<![CDATA[developpement]]>
</category>
<category>
<![CDATA[gravure]]>
</category>
<category>
<![CDATA[indispensables]]>
</category>
<category>
<![CDATA[Mac]]>
</category>
<category>
<![CDATA[maintenance]]>
</category>
<category>
<![CDATA[messagerie]]>
</category>
<category>
<![CDATA[mises a jours]]>
</category>
<category>
<![CDATA[multimedia]]>
</category>
<category>
<![CDATA[navigateur]]>
</category>
<category>
<![CDATA[notifications]]>
</category>
<category>
<![CDATA[os x]]>
</category>
<category>
<![CDATA[outils]]>
</category>
<category>
<![CDATA[rss]]>
</category>
<category>
<![CDATA[terminal]]>
</category>
<category>
<![CDATA[utilitaires]]>
</category>
<guid isPermaLink="false">http://www.crashdump.fr/?p=396</guid>
<description>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/02/hasta_la_vista.jpg" class="attachment-featured-image wp-post-image" alt="hasta_la_vista" title="hasta_la_vista" /></p><br />Voilà maintenant 8 mois que j&#8217;ai reçu mon iMac , il a marqué mon retour aux sources. J&#8217;ai commencé dans le merveilleux monde d&#8217;Apple très jeune &#8211; sur un Mac IIfx &#8211; je m&#8217;en souviens comme si c&#8217;était hier, mon père m&#8217;avais ramené une machine dont le boîtier étais en piteux état (et qui, d&#8217;ailleurs, [...]]]>
</description>
<content:encoded>
<![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2009/02/hasta_la_vista.jpg" class="attachment-featured-image wp-post-image" alt="hasta_la_vista" title="hasta_la_vista" /></p><br /><p><em>Voilà maintenant 8 mois que <a rel="nofollow" href="http://www.crashdump.fr/tout-et-rien/jai-recu-le-colis-marque-a-la-pomme-157/">j&#8217;ai reçu mon iMac</a> , il a marqué mon retour aux sources. J&#8217;ai commencé dans le merveilleux monde d&#8217;Apple très jeune &#8211; sur un <a href="http://en.wikipedia.org/wiki/Macintosh_IIfx">Mac IIfx</a> &#8211; je m&#8217;en souviens comme si c&#8217;était hier, mon père m&#8217;avais ramené une machine dont le boîtier étais en piteux état (et qui, d&#8217;ailleurs, ne ferais rêver personne aujourd&#8217;hui) mais mes yeux d&#8217;enfant se sont mis a briller quand je l&#8217;ai vu ! Alors j&#8217;ai entrepris de le faire marcher a nouveau.. et c&#8217;est finalement avec des plaques d&#8217;aluminium en guise de boîtier et un disque dur posé a côté qu&#8217;il à couiné pour la première fois ! Après ça j&#8217;ai souvent eu des machines à base de x86.. 386, 486, Pentium I, II &amp; III.. bref, la liste est plutôt longue et ce n&#8217;est pas le but de ce billet. Tout ça pour vous dire que l&#8217;arrivée de ce iMac m&#8217;as rappelé de vieux &#8211; et bon &#8211; souvenirs. </em></p>
<p>J&#8217;aimerais faire le bilan de ces quelques mois pour essayer de lister les applications indispensables au monde Os X. Pour plus de cohérence et par souci de lisibilité je vais les trier par fonction, catégorie.</p>
<p><em>Cette liste est non exhaustive et évoluera en permanence.. elle à été mise a jours le:</em> 15 Fevrier 2008.</p>
<h2>Internet</h2>
<h3>Les navigateurs:</h3>
<ul>
<li><a rel="nofollow" title="Safari" href="http://www.apple.com/fr/safari/" target="_blank"><strong>Safari</strong></a>: Excellent, enfin un OS qui propose un navigateur par défaut qui a de quoi séduire. Contrairement à son (portage?) sous windows il est plutôt rapide et léger, je l&#8217;utilise tous les jours.</li>
<li><a rel="nofollow" title="Firefox" href="http://www.mozilla-europe.org/fr/firefox/" target="_blank"><strong>Firefox</strong></a>: Malheureusement safari souffre parfois de son manque de part de marchés et il arrive que certains sites &#8211; bien spécifiques &#8211; ne fonctionnent pas a merveille, c&#8217;est alors que je bascule sur ce navigateur secondaire, mais indispensable. Je ne pense pas avoir à dire grand chose sur tant celui-ci tellement est connu et reconnu..</li>
<li><a rel="nofollow" title="Flock" href="http://flock.com/" target="_blank"><strong>Flock</strong></a>: Un Social Web Browser, connectez vous facilement sur toutes les reseaux (Facebook, Flickr, Myspace, Vos blogs, etc..) Plutôt pratique pour tout centraliser.</li>
<li><del><strong>Internet explorer</strong>: Non, c&#8217;est une blague&#8230; :)</del></li>
</ul>
<h3>Lecteurs de flux RSS</h3>
<ul>
<li><a rel="nofollow" title="Netnewswire" href="http://www.newsgator.com/INDIVIDUALS/NETNEWSWIRE/" target="_blank"><strong>NetNewsWire</strong></a>: J&#8217;aime les applications simples, qui exécutent ce pourquoi on les emplois en le fessant bien.. c&#8217;est le cas de celle ci. En plus elle permet la synchronisation de vos flux préférés avec NewsGator et MobileMe. Que vouloir de plus ?</li>
</ul>
<h3>Messagerie instantanée</h3>
<ul>
<li><a rel="nofollow" href="http://www.adiumx.com/" target="_blank"><strong>AdiumX</strong></a>: Un client IM dans l&#8217;esprit mac, contrairement à l&#8217;autre &#8211; dont je parlerais après.. très intuitif, multi-protocoles (AOL, MSN, Jabber, GTalk, Yahoo, Bonjour, MySpace, Facebook..). Malheureusement il ne gère pas encore la vidéo mais il permet l&#8217;ajout de plugins, thèmes, icones.. bref, je suis fan.</li>
<li><a rel="nofollow" href="http://www.amsn-project.net/" target="_blank"><strong>aMsn</strong></a>: Le client anti user-friendly par excellence sous mac mais il est le seul qui gère la video via msn.. alors il faut l&#8217;avoir. (même si il est vraiment très moche)</li>
<li><a rel="nofollow" href="http://conceitedsoftware.com/products/linkinus" target="_blank"><strong>Linkinus</strong></a>: Un client IRC parmi tant d&#8217;autres, celui là m&#8217;as accroché.. allez savoir pourquoi :)</li>
</ul>
<h3>Transferts de données</h3>
<ul>
<li><a rel="nofollow" href="http://www.panic.com/transmit/" target="_blank"><strong>Transmit</strong></a>: Un client pour les protocoles FTP(+SSL), SFTP, Webdav, Amazone S3. C&#8217;est une création Panic &#8211; qui a, à son actif de très très bon logiciels. Un must have.</li>
<li><strong><a rel="nofollow" href="http://cyberduck.ch/" target="_blank">Cyberduck</a></strong>: Un autre client (s)FTP, etc.. Et open source en plus !</li>
<li><a rel="nofollow" href="http://www.transmissionbt.com/" target="_blank"><strong>Transmission</strong></a>: <del>Un</del> Le client Torrent par excellence.</li>
<li><strong>Halime</strong>: Très bon client pour les newsgroups, malheureusement il n&#8217;est plus mis a jour.</li>
</ul>
<h3>Interface système et utilitaires</h3>
<ul>
<li><a rel="nofollow" href="http://www.islayer.com/apps/istatmenus/" target="_blank"><strong>iStats Menus</strong></a>: Gardez un oeil sur l&#8217;utilisation des ressources de vôtre machine (et en plus ça a de la gueule !).</li>
<li><strong><a rel="nofollow" href="http://growl.info/" target="_blank">Growl</a>:</strong> Centralise toutes vos notifications via des bulles entièrement customisable (enormement d&#8217;applications sont compatibles, c&#8217;est un must have).</li>
<li><a rel="nofollow" href="http://www.titanium.free.fr/pgs2/english/deeper.html" target="_blank"><strong>Deeper</strong></a>: <del></del>Pour customiser son système simplement.</li>
<li><strong><a rel="nofollow" href="http://www.blacktree.com/" target="_blank">Quicksilver</a>:</strong> Le lanceur par excellence, tapez les trois premières lettres d&#8217;une application et il la lance ! C&#8217;est bien simple, je ne peux plus m&#8217;en passer :)</li>
<li><strong><a rel="nofollow" href="http://metaquark.de/appfresh/" target="_blank">AppFresh</a>:</strong> Permet de garder vos applications a jours le plus simplement du monde.</li>
<li><strong><a rel="nofollow" href="http://code.google.com/p/blacktree-visor/" target="_blank">Blacktree visor</a>:</strong> Ouvrez un terminal a la façon Quake, très pratique avec terriblement de gueule !</li>
</ul>
<h3>Sécurité</h3>
<ul>
<li><a rel="nofollow" href="http://www.obdev.at/products/littlesnitch/index.html" target="_blank"><strong>Little snitch</strong></a>: Firewall très bien conçu &#8211; user friendly. Un must have.</li>
<li><strong><a rel="nofollow" href="http://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html" target="_blank">SuperDuper</a>: </strong>Solution de backup très simple et bien foutue, un complement parfait a time machine.</li>
</ul>
<h3>Multimedia</h3>
<ul>
<li><strong><a rel="nofollow" href="http://www.perian.org/" target="_blank">Perian</a>: </strong>Permet a Quicktime de lire quasiment tous les formats existants. Un must-have.</li>
<li><a rel="nofollow" href="http://www.xiph.org/quicktime/" target="_blank"><strong>Xiph</strong></a>: Apporte le support de l&#8217;OGG a iTunes/Quicktime. Indispensable aussi.</li>
<li><strong><a rel="nofollow" href="http://www.telestream.net/telestream-products/desktop-products.htm" target="_blank">Flip4Mac</a>:</strong> Lecture des wmv par Quicktime.</li>
<li><strong><a rel="nofollow" href="http://mplayerosx.sttz.ch/" target="_blank">MPlayer OSX Extended</a>: </strong>L&#8217;alternative a Quicktime que je prefere, très propre/performant.</li>
<li><strong><a rel="nofollow" href="http://www.squared5.com/" target="_blank">Mpeg Streamclip</a>: </strong>Un convertiseur de vidéos simple et bien foutu.</li>
<li><strong><a rel="nofollow" href="http://handbrake.fr/" target="_blank">Handbrake</a>:</strong> Un autre convertiseur de vidéos, parfait complement a Mpeg streamclip.</li>
</ul>
<h3>Gestion des fichiers / Gravure</h3>
<ul>
<li><a rel="nofollow" href="http://www.roxio.com/fra/products/toast/titanium/overview.html" target="_blank"><strong>Toast</strong></a>: Logiciel de gravure multifonction, l&#8217;equivalent de Nero sur mac.. malheureusement il a les mêmes défaut que son homologue: très lourd.</li>
<li><strong><a rel="nofollow" href="http://www.maconnect.ch/" target="_blank">Liquid CD</a>: </strong>Une très bonne alternative a Toast. Gratuit en plus.</li>
<li><strong><a rel="nofollow" href="http://wakaba.c3.cx/s/apps/unarchiver.html" target="_blank">The Unarchiver</a>: </strong>Extraction d&#8217;archives de tous formats. Un must have.</li>
<li><a rel="nofollow" href="http://sixtyfive.xmghosting.com/" target="_blank"><strong>7zx</strong></a>: Utilitaire d&#8217;archive supportant les formats tar, zip, gzip, bzip2, UNIX compress, 7z et s7z.</li>
</ul>
<h3>Maintenance et Optimisations</h3>
<ul>
<li><a rel="nofollow" href="http://www.titanium.free.fr/" target="_blank"><strong>Onyx</strong></a>: Utilitaire de maintenance très complet. Un must-have.</li>
</ul>
<h3>Développement</h3>
<ul>
<li><a rel="nofollow" href="http://www.panic.com/coda/" target="_blank"><strong>Coda</strong></a>: Un outil pour le devel Web complet.. il intègre toutes les fonctions dont vous avez besoin, encore une fois Panic software a assuré !</li>
<li><strong><a rel="nofollow" href="http://developer.apple.com/technologies/tools/" target="_blank">XCode</a>:</strong> L&#8217;environement de developpement par Apple. Très bien concu !</li>
<li><strong><a rel="nofollow" href="http://www.sequelpro.com/" target="_blank">Sequel Pro</a>:</strong> Gestion de BDD MySQL via une interface très bien foutue.</li>
</ul>
<p><em>Je vous invite a poster &#8211; dans les commentaires &#8211; le nom des applications que vous aimez le plus pour que je puisse continuer cette liste. </em></p>
]]>
</content:encoded>
<wfw:commentRss>http://www.crashdump.fr/tout-et-rien/bestof-apps-pour-osx-et-nostalgie-396/feed/</wfw:commentRss>
<slash:comments>6</slash:comments>
</item>
</channel>
</rss>
<!-- Served from: www.crashdump.fr @ 2012-05-18 12:34:24 by W3 Total Cache -->
