<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2frenchfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" version="2.0">

<channel>
	<title>Le blog de NicoLargo</title>
	
	<link>http://blog.nicolargo.com</link>
	<description>"La connaissance est la seule chose qui s'accroit lorsqu'on la partage."</description>
	<lastBuildDate>Mon, 08 Mar 2010 16:39:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/LeBlogDeNicolargo" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="leblogdenicolargo" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><thespringbox:skin xmlns:thespringbox="http://www.thespringbox.com/dtds/thespringbox-1.0.dtd">http://feeds.feedburner.com/LeBlogDeNicolargo?format=skin</thespringbox:skin><creativeCommons:license>http://creativecommons.org/licenses/by/2.0/</creativeCommons:license><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">LeBlogDeNicolargo</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FLeBlogDeNicolargo" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/LeBlogDeNicolargo" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FLeBlogDeNicolargo" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FLeBlogDeNicolargo" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FLeBlogDeNicolargo" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/content?lg=fr&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FLeBlogDeNicolargo" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/bn/intatm_fr_1.gif">Subscribe with Mon Yahoo!</feedburner:feedFlare><item>
		<title>TShark, l'autre TcpDump</title>
		<link>http://blog.nicolargo.com/2010/03/tshark-lautre-tcpdump.html</link>
		<comments>http://blog.nicolargo.com/2010/03/tshark-lautre-tcpdump.html#comments</comments>
		<pubDate>Mon, 08 Mar 2010 06:11:32 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[tshark]]></category>
		<category><![CDATA[wireshark]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/?p=2725</guid>
		<description>TShark est un logiciel avec une interface de type ligne de commande permettant d'analyser les protocoles réseaux capturé depuis une interface (en utilisant la librairie libpcap) ou depuis un fichier de capture au format Wireshark. Développé en parallèle de Wireshark,  il est distribué sous licence GNU GPL.
Installation de TShark
Sous Ubuntu, il suffit de l'installer [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.wireshark.org/docs/man-pages/tshark.html">TShark</a> est un logiciel avec une interface de type ligne de commande permettant d'analyser les protocoles réseaux capturé depuis une interface (en utilisant la librairie libpcap) ou depuis un fichier de capture au format <a href="http://blog.nicolargo.com/2007/07/tutoriel-wireshark-ex-ethereal.html">Wireshark</a>. Développé en parallèle de Wireshark,  il est distribué sous licence GNU GPL.</p>
<h1>Installation de TShark</h1>
<p>Sous Ubuntu, il suffit de l'installer à partir des dépôts avec la commande suivante:</p>
<pre class="brush: bash;">
sudo aptitude install tshark
</pre>
<p>Remarque: il est également possible de faire l'installation <a href="http://www.wireshark.org/download.html">depuis les sources</a>.<span id="more-2725"></span></p>
<h1>Définir la source du trafic à analyser</h1>
<p>Deux solutions sont envisageables. La première est de capturer le trafic à partir d'une interface physique compatible. Pour avoir la liste de ces interfaces, on utilisera l'option -D de TShark:</p>
<pre class="brush: bash;">
sudo tshark -D

1. eth0
2. wmaster0
3. wlan0
4. usbmon1 (USB bus number 1)
5. usbmon2 (USB bus number 2)
6. usbmon3 (USB bus number 3)
7. usbmon4 (USB bus number 4)
8. usbmon5 (USB bus number 5)
9. usbmon6 (USB bus number 6)
10. usbmon7 (USB bus number 7)
11. usbmon8 (USB bus number <img src='http://blog.nicolargo.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' />
12. any (Pseudo-device that captures on all interfaces)
13. lo
</pre>
<p>Ainsi si l'on souhaite analyser les protocoles des flux transitant par l'interface ethernet par défaut (eth0), il suffit de saisir la commande suivante:</p>
<pre class="brush: bash;">
sudo tshark -i eth0

Running as user &quot;root&quot; and group &quot;root&quot;. This could be dangerous.
Capturing on eth0
  0.000000 Xensourc_8b:f0:9e -&gt; Broadcast    ARP Who has 192.168.29.161?  Tell 192.168.29.171
  0.021079 Netgear_b7:46:4a -&gt; Spanning-tree-(for-bridges)_00 STP RST. Root = 32768/0/00:12:a9:81:5f:e0  Cost = 200000  Port = 0x8001
  0.182159 HewlettP_64:6e:2c -&gt; Broadcast    ARP Who has 192.168.29.161?  Tell 192.168.29.1
  0.325894 HewlettP_64:6e:a0 -&gt; Broadcast    ARP Who has 192.168.29.161?  Tell 192.168.29.2
...
</pre>
<p>Il est également possible d'analyser les flux de manière "off-line". Pour cela, il faut dans un premier temps capturer le trafic dans un fichier à l'aide d'un logiciel comme Wireshark, TShark (ou tout autre logiciel dont le format est pris en charge, voir la liste de ces formats avec la commande "sudo tshark -F"), puis fournir ce fichier en entrée de TShark avec l'option -r:</p>
<pre class="brush: bash;">
sudo tshark -r capture.cap

  1   0.000000 HewlettP_64:6e:a0 -&gt; Broadcast    ARP Who has 192.168.29.161?  Tell 192.168.29.2
  2   0.020195 HewlettP_64:6e:2c -&gt; Broadcast    ARP Who has 192.168.29.161?  Tell 192.168.29.1
  3   0.576826 192.168.29.75 -&gt; 255.255.255.255 UDP Source port: 17500  Destination port: 17500
  4   0.577044 192.168.29.75 -&gt; 192.168.29.255 UDP Source port: 17500  Destination port: 17500
  5   0.585752 Xensourc_8b:f0:9e -&gt; Broadcast    ARP Who has 192.168.29.120?  Tell 192.168.29.171
  6   0.589851 HewlettP_64:6e:2c -&gt; Broadcast    ARP Who has 192.168.29.120?  Tell 192.168.29.1
  ...
</pre>
<h1>Les options de capture</h1>
<p>De base (c'est à dire si aucune option complémentaire est donnée), TShark analyse le trafic jusqu'à ce que l'utilisateur presse les touches CTRL-C. Dans le cadre d'un processus automatisé, il est possible de définir quand la capture doit s'arrêter en utilisant l'option -a. Quelques exemples:</p>
<p>Capture et analyse le trafic pendant 10 secondes:</p>
<pre class="brush: bash;">

sudo tshark -i eth0 -a duration:10
</pre>
<p>Capture et analyse 100 paquets (si un filtre de capture est utilisé, on capturera 100 paquets filtrés):</p>
<pre class="brush: bash;">

sudo  tshark -i eth0 -c 100
</pre>
<p>Si on capture vers un fichier, on peut fixer la taille maximale de ce dernier à  5 Ko:</p>
<pre class="brush: bash;">

sudo tshark -i eth0 -a filesize:5 -w /tmp/capture.cap
</pre>
<h1>Les options d'affichage</h1>
<p>TShark affiche par défaut les informations au format texte (c'est à dire lisible par un <span style="text-decoration: line-through;">humain</span> geek).</p>
<pre class="brush: bash;">

sudo tshark -i eth0

2.536745 192.168.29.148 -&gt; 192.168.29.1 DNS Standard query A safebrowsing-cache.google.com

2.537232 192.168.29.1 -&gt; 192.168.29.148 DNS Standard query response CNAME safebrowsing.cache.l.google.com A 74.125.10.151

2.537347 192.168.29.148 -&gt; 74.125.10.151 TCP 38883 &gt; http [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=171324902 TSER=0 WS=6

2.568103 74.125.10.151 -&gt; 192.168.29.148 TCP http &gt; 38883 [SYN, ACK] Seq=0 Ack=1 Win=1460 Len=0 MSS=1460 TSV=966567702 TSER=171324902 WS=6

2.568140 192.168.29.148 -&gt; 74.125.10.151 TCP 38883 &gt; http [ACK] Seq=1 Ack=1 Win=5888 Len=0 TSV=171324910 TSER=966567702

2.568243 192.168.29.148 -&gt; 74.125.10.151 TCP [TCP segment of a reassembled PDU]

2.568253 192.168.29.148 -&gt; 74.125.10.151 HTTP GET /safebrowsing/rd/ChNnb29nLW1hbHdhcmUtc2hhdmFyEAEY9-oBIPvqASoFenUAAAMyBXd1AAAH HTTP/1.1

2.578253 HewlettP_64:6e:2c -&gt; Broadcast    ARP Who has 192.168.29.161?  Tell 192.168.29.1

2.601627 HewlettP_64:6e:a0 -&gt; Broadcast    ARP Who has 192.168.29.161?  Tell 192.168.29.2

2.605201 74.125.10.151 -&gt; 192.168.29.148 TCP http &gt; 38883 [ACK] Seq=1 Ack=731 Win=7296 Len=0 TSV=966567739 TSER=171324910

2.605226 74.125.10.151 -&gt; 192.168.29.148 TCP http &gt; 38883 [ACK] Seq=1 Ack=1045 Win=8768 Len=0 TSV=966567739 TSER=171324910

2.607870 74.125.10.151 -&gt; 192.168.29.148 TCP [TCP segment of a reassembled PDU]

2.607885 192.168.29.148 -&gt; 74.125.10.151 TCP 38883 &gt; http [ACK] Seq=1045 Ack=269 Win=6912 Len=0 TSV=171324920 TSER=966567741

2.612201 74.125.10.151 -&gt; 192.168.29.148 TCP [TCP segment of a reassembled PDU]

...
</pre>
<p>Il est possible de modifier et customiser cet affichage. Par exemple, TShark embarque deux modules permettant d'afficher les paquets au format XML: PDML ou PSML.</p>
<p>Affichage au format PDML:</p>
<pre class="brush: bash;">

sudo tshark -i eth0 -T pdml

&lt;?xml version=&quot;1.0&quot;?&gt;

&lt;pdml version=&quot;0&quot; creator=&quot;wireshark/1.2.2&quot;&gt;

Running as user &quot;root&quot; and group &quot;root&quot;. This could be dangerous.

Capturing on eth0

&lt;packet&gt;

&lt;proto name=&quot;geninfo&quot; pos=&quot;0&quot; showname=&quot;General information&quot; size=&quot;60&quot;&gt;

&lt;field name=&quot;num&quot; pos=&quot;0&quot; show=&quot;1&quot; showname=&quot;Number&quot; value=&quot;1&quot; size=&quot;60&quot;/&gt;

&lt;field name=&quot;len&quot; pos=&quot;0&quot; show=&quot;60&quot; showname=&quot;Frame Length&quot; value=&quot;3c&quot; size=&quot;60&quot;/&gt;

&lt;field name=&quot;caplen&quot; pos=&quot;0&quot; show=&quot;60&quot; showname=&quot;Captured Length&quot; value=&quot;3c&quot; size=&quot;60&quot;/&gt;

&lt;field name=&quot;timestamp&quot; pos=&quot;0&quot; show=&quot;Mar  8, 2010 15:43:33.098604000&quot; showname=&quot;Captured Time&quot; value=&quot;1268059413.098604000&quot; size=&quot;60&quot;/&gt;

&lt;/proto&gt;

&lt;proto name=&quot;frame&quot; showname=&quot;Frame 1 (60 bytes on wire, 60 bytes captured)&quot; size=&quot;60&quot; pos=&quot;0&quot;&gt;

&lt;field name=&quot;frame.time&quot; showname=&quot;Arrival Time: Mar  8, 2010 15:43:33.098604000&quot; size=&quot;0&quot; pos=&quot;0&quot; show=&quot;Mar  8, 2010 15:43:33.098604000&quot;/&gt;

&lt;field name=&quot;frame.time_delta&quot; showname=&quot;Time delta from previous captured frame: 0.000000000 seconds&quot; size=&quot;0&quot; pos=&quot;0&quot; show=&quot;0.000000000&quot;/&gt;

&lt;field name=&quot;frame.time_delta_displayed&quot; showname=&quot;Time delta from previous displayed frame: 0.000000000 seconds&quot; size=&quot;0&quot; pos=&quot;0&quot; show=&quot;0.000000000&quot;/&gt;

&lt;field name=&quot;frame.time_relative&quot; showname=&quot;Time since reference or first frame: 0.000000000 seconds&quot; size=&quot;0&quot; pos=&quot;0&quot; show=&quot;0.000000000&quot;/&gt;

&lt;field name=&quot;frame.number&quot; showname=&quot;Frame Number: 1&quot; size=&quot;0&quot; pos=&quot;0&quot; show=&quot;1&quot;/&gt;

&lt;field name=&quot;frame.len&quot; showname=&quot;Frame Length: 60 bytes&quot; size=&quot;0&quot; pos=&quot;0&quot; show=&quot;60&quot;/&gt;

&lt;field name=&quot;frame.cap_len&quot; showname=&quot;Capture Length: 60 bytes&quot; size=&quot;0&quot; pos=&quot;0&quot; show=&quot;60&quot;/&gt;

&lt;field name=&quot;frame.marked&quot; showname=&quot;Frame is marked: False&quot; size=&quot;0&quot; pos=&quot;0&quot; show=&quot;0&quot;/&gt;

&lt;field name=&quot;frame.protocols&quot; showname=&quot;Protocols in frame: eth:arp&quot; size=&quot;0&quot; pos=&quot;0&quot; show=&quot;eth:arp&quot;/&gt;

&lt;/proto&gt;

&lt;proto name=&quot;eth&quot; showname=&quot;Ethernet II, Src: HewlettP_64:6e:2c (00:1f:29:64:6e:2c), Dst: Broadcast (ff:ff:ff:ff:ff:ff)&quot; size=&quot;14&quot; pos=&quot;0&quot;&gt;

&lt;field name=&quot;eth.dst&quot; showname=&quot;Destination: Broadcast (ff:ff:ff:ff:ff:ff)&quot; size=&quot;6&quot; pos=&quot;0&quot; show=&quot;ff:ff:ff:ff:ff:ff&quot; value=&quot;ffffffffffff&quot;&gt;

&lt;field name=&quot;eth.addr&quot; showname=&quot;Address: Broadcast (ff:ff:ff:ff:ff:ff)&quot; size=&quot;6&quot; pos=&quot;0&quot; show=&quot;ff:ff:ff:ff:ff:ff&quot; value=&quot;ffffffffffff&quot;/&gt;

&lt;field name=&quot;eth.ig&quot; showname=&quot;.... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)&quot; size=&quot;3&quot; pos=&quot;0&quot; show=&quot;1&quot; value=&quot;1&quot; unmaskedvalue=&quot;ffffff&quot;/&gt;

&lt;field name=&quot;eth.lg&quot; showname=&quot;.... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)&quot; size=&quot;3&quot; pos=&quot;0&quot; show=&quot;1&quot; value=&quot;1&quot; unmaskedvalue=&quot;ffffff&quot;/&gt;

&lt;/field&gt;

&lt;field name=&quot;eth.src&quot; showname=&quot;Source: HewlettP_64:6e:2c (00:1f:29:64:6e:2c)&quot; size=&quot;6&quot; pos=&quot;6&quot; show=&quot;00:1f:29:64:6e:2c&quot; value=&quot;001f29646e2c&quot;&gt;

&lt;field name=&quot;eth.addr&quot; showname=&quot;Address: HewlettP_64:6e:2c (00:1f:29:64:6e:2c)&quot; size=&quot;6&quot; pos=&quot;6&quot; show=&quot;00:1f:29:64:6e:2c&quot; value=&quot;001f29646e2c&quot;/&gt;

&lt;field name=&quot;eth.ig&quot; showname=&quot;.... ...0 .... .... .... .... = IG bit: Individual address (unicast)&quot; size=&quot;3&quot; pos=&quot;6&quot; show=&quot;0&quot; value=&quot;0&quot; unmaskedvalue=&quot;001f29&quot;/&gt;

&lt;field name=&quot;eth.lg&quot; showname=&quot;.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)&quot; size=&quot;3&quot; pos=&quot;6&quot; show=&quot;0&quot; value=&quot;0&quot; unmaskedvalue=&quot;001f29&quot;/&gt;

&lt;/field&gt;

&lt;field name=&quot;eth.type&quot; showname=&quot;Type: ARP (0x0806)&quot; size=&quot;2&quot; pos=&quot;12&quot; show=&quot;0x0806&quot; value=&quot;0806&quot;/&gt;

&lt;field name=&quot;eth.trailer&quot; showname=&quot;Trailer: 000000000000000000000000000000000000&quot; size=&quot;18&quot; pos=&quot;42&quot; show=&quot;00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00&quot; value=&quot;000000000000000000000000000000000000&quot;/&gt;

&lt;/proto&gt;

&lt;proto name=&quot;arp&quot; showname=&quot;Address Resolution Protocol (request)&quot; size=&quot;28&quot; pos=&quot;14&quot;&gt;

&lt;field name=&quot;arp.hw.type&quot; showname=&quot;Hardware type: Ethernet (0x0001)&quot; size=&quot;2&quot; pos=&quot;14&quot; show=&quot;0x0001&quot; value=&quot;0001&quot;/&gt;

&lt;field name=&quot;arp.proto.type&quot; showname=&quot;Protocol type: IP (0x0800)&quot; size=&quot;2&quot; pos=&quot;16&quot; show=&quot;0x0800&quot; value=&quot;0800&quot;/&gt;

&lt;field name=&quot;arp.hw.size&quot; showname=&quot;Hardware size: 6&quot; size=&quot;1&quot; pos=&quot;18&quot; show=&quot;6&quot; value=&quot;06&quot;/&gt;

&lt;field name=&quot;arp.proto.size&quot; showname=&quot;Protocol size: 4&quot; size=&quot;1&quot; pos=&quot;19&quot; show=&quot;4&quot; value=&quot;04&quot;/&gt;

&lt;field name=&quot;arp.opcode&quot; showname=&quot;Opcode: request (0x0001)&quot; size=&quot;2&quot; pos=&quot;20&quot; show=&quot;0x0001&quot; value=&quot;0001&quot;/&gt;

&lt;field name=&quot;arp.isgratuitous&quot; showname=&quot;Is gratuitous: False&quot; size=&quot;2&quot; pos=&quot;20&quot; show=&quot;0&quot; value=&quot;0001&quot;/&gt;

&lt;field name=&quot;arp.src.hw_mac&quot; showname=&quot;Sender MAC address: HewlettP_64:6e:2c (00:1f:29:64:6e:2c)&quot; size=&quot;6&quot; pos=&quot;22&quot; show=&quot;00:1f:29:64:6e:2c&quot; value=&quot;001f29646e2c&quot;/&gt;

&lt;field name=&quot;arp.src.proto_ipv4&quot; showname=&quot;Sender IP address: 192.168.29.1 (192.168.29.1)&quot; size=&quot;4&quot; pos=&quot;28&quot; show=&quot;192.168.29.1&quot; value=&quot;c0a81d01&quot;/&gt;

&lt;field name=&quot;arp.dst.hw_mac&quot; showname=&quot;Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)&quot; size=&quot;6&quot; pos=&quot;32&quot; show=&quot;00:00:00:00:00:00&quot; value=&quot;000000000000&quot;/&gt;

&lt;field name=&quot;arp.dst.proto_ipv4&quot; showname=&quot;Target IP address: 192.168.29.161 (192.168.29.161)&quot; size=&quot;4&quot; pos=&quot;38&quot; show=&quot;192.168.29.161&quot; value=&quot;c0a81da1&quot;/&gt;

&lt;/proto&gt;

&lt;/packet&gt;

...
</pre>
<p>La dernière méthode permet de customiser soit même les informations à afficher:</p>
<pre class="brush: bash;">

sudo tshark -i eth0 -T fields -e ip.addr -e tcp.port

Running as user &quot;root&quot; and group &quot;root&quot;. This could be dangerous.

Capturing on eth0

209.172.41.53	80

209.172.41.53	80

192.168.29.1

192.168.29.148

209.172.41.53	80

192.168.29.148	34521

209.172.41.53	80

192.168.29.148	34522

209.172.41.53	80

192.168.29.148	34523

209.172.41.53	80

209.172.41.53	80

209.172.41.53	80

224.0.0.251

192.168.29.148	34523

...
</pre>
<h1>Les filtres de base</h1>
<p>Selon ou le logiciel TShark sera lancé, le nombre de paquets à analyser peut devenir très important. Heureusement, TShark propose un système de filtre permettant de se focaliser sur les protocoles utiles à notre analyse.</p>
<p>TShark propose deux types de filtres:</p>
<ul>
<li>les filtres de capture: permettant de filtrer le capture au moment de la capture</li>
<li>les filtres d'affichage: permet de filtrer avant l'affichage</li>
</ul>
<p>Le seul hic est que les deux syntaxes ne sont pas les mêmes. Les filtres de capture obéissent à une syntaxe propre à libpcap (faire un "man pcap-filter" pour une description exhaustive) tandis que les filtres d'affichage sont définie par le projet Wireshark (voir <a href="http://www.wireshark.org/docs/dfref/">le manuel en ligne ici</a>).On peut remarquer la richesse des filtres d'affichage qui permettent de remonter très haut dans la couche OSI.</p>
<p>Par exemple pour filtrer le trafic HTTP (TCP port 80) avant la capture:</p>
<pre class="brush: bash;">

sudo tshark -i eth0 port 80

Running as user &quot;root&quot; and group &quot;root&quot;. This could be dangerous.

Capturing on eth0

0.000000 192.168.29.148 -&gt; 67.228.110.120 TCP 47593 &gt; http [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=171057533 TSER=0 WS=6

0.182873 67.228.110.120 -&gt; 192.168.29.148 TCP http &gt; 47593 [SYN, ACK] Seq=0 Ack=1 Win=1460 Len=0 MSS=1460 TSV=154345319 TSER=171057533 WS=9

0.182924 192.168.29.148 -&gt; 67.228.110.120 TCP 47593 &gt; http [ACK] Seq=1 Ack=1 Win=5888 Len=0 TSV=171057578 TSER=154345319

0.183029 192.168.29.148 -&gt; 67.228.110.120 HTTP GET /docs/man-pages/tshark.html HTTP/1.1
</pre>
<p>Alors quer pour capturer l'ensemble du trafic et afficher seulement le trafic HTTP:</p>
<pre class="brush: bash;">

sudo tshark -i eth0 -R tcp.port==80

Running as user &quot;root&quot; and group &quot;root&quot;. This could be dangerous.

Capturing on eth0

3.127743 192.168.29.148 -&gt; 67.228.110.120 TCP 47599 &gt; http [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=171071304 TSER=0 WS=6

3.308054 67.228.110.120 -&gt; 192.168.29.148 TCP http &gt; 47599 [SYN, ACK] Seq=0 Ack=1 Win=1460 Len=0 MSS=1460 TSV=154350827 TSER=171071304 WS=9

3.308096 192.168.29.148 -&gt; 67.228.110.120 TCP 47599 &gt; http [ACK] Seq=1 Ack=1 Win=5888 Len=0 TSV=171071349 TSER=154350827

3.308182 192.168.29.148 -&gt; 67.228.110.120 HTTP GET /docs/man-pages/tshark.html HTTP/1.1
</pre>
<p>Affichage au format PSML:</p>
<pre class="brush: bash;">

sudo tshark -i eth0 -T psml

&lt;?xml version=&quot;1.0&quot;?&gt;

&lt;psml version=&quot;0&quot; creator=&quot;wireshark/1.2.2&quot;&gt;

Running as user &quot;root&quot; and group &quot;root&quot;. This could be dangerous.

Capturing on eth0

&lt;structure&gt;

&lt;section&gt;No.&lt;/section&gt;

&lt;section&gt;Time&lt;/section&gt;

&lt;section&gt;Source&lt;/section&gt;

&lt;section&gt;Destination&lt;/section&gt;

&lt;section&gt;Protocol&lt;/section&gt;

&lt;section&gt;Info&lt;/section&gt;

&lt;/structure&gt;

&lt;packet&gt;

&lt;section&gt;1&lt;/section&gt;

&lt;section&gt;0.000000&lt;/section&gt;

&lt;section&gt;Netgear_b7:46:4a&lt;/section&gt;

&lt;section&gt;Spanning-tree-(for-bridges)_00&lt;/section&gt;

&lt;section&gt;STP&lt;/section&gt;

&lt;section&gt;RST. Root = 32768/0/00:12:a9:81:5f:e0  Cost = 200000  Port = 0x8001&lt;/section&gt;

&lt;/packet&gt;

...
</pre>
<h1>Les filtres avancées</h1>
<p>Via l'option -z, TShark donne l'accès à des statistiques intéressants selon le protocole que vous avez à analyser.</p>
<p>Le premier d'entre eux permet de générer un rapport avec la hiérarchie des protocoles capturés:</p>
<pre class="brush: bash;">

sudo tshark -i eth0 -z io,phs

===================================================================

Protocol Hierarchy Statistics

Filter: frame

frame                                    frames:206 bytes:79513

eth                                    frames:206 bytes:79513

llc                                  frames:11 bytes:660

stp                                frames:11 bytes:660

arp                                  frames:77 bytes:4584

ip                                   frames:118 bytes:74269

tcp                                frames:59 bytes:22417

ssl                              frames:11 bytes:11280

http                             frames:2 bytes:502

data-text-lines                frames:1 bytes:264

tcp.segments                     frames:8 bytes:5607

ssl                            frames:8 bytes:5607

msnms                            frames:2 bytes:145

rtsp                             frames:12 bytes:3283

udp                                frames:54 bytes:51342

data                             frames:45 bytes:47992

cflow                            frames:2 bytes:2484

dns                              frames:4 bytes:590

rtp                              frames:3 bytes:276

icmp                               frames:5 bytes:510

===================================================================
</pre>
<p>Associé à un filtre il est possible d'afficher une répartition dans le temps des paquets et de la taille associée;</p>
<pre class="brush: bash;">

sudo tshark -i eth0 -z io,stat,1,tcp.port==80

===================================================================

IO Statistics

Interval: 1.000 secs

Column #0:

|   Column #0

Time            |frames|  bytes

000.000-001.000       4       240

001.000-002.000       5       312

002.000-003.000       6      1146

003.000-004.000      61     18627

004.000-005.000      76     30832

005.000-006.000      45     16263

006.000-007.000      95     40326

007.000-008.000     107     50010

008.000-009.000      81     30109

009.000-010.000     125     58044

010.000-011.000      75     46597

011.000-012.000     236    155959

012.000-013.000      32     15852

013.000-014.000       2       531

===================================================================
</pre>
<p>On peut également afficher une table de trafic IP (source &lt;-&gt; destination). Il est également possible de faire de même seulment sur le trafic TCP (-z conv,tcp) ou UDP (-z conv,udp):</p>
<pre class="brush: bash;">

sudo tshark -i eth0 -z conv,ip

================================================================================

IPv4 Conversations

Filter:&lt;No Filter&gt;

|       &lt;-      | |       -&gt;      | |     Total     |

| Frames  Bytes | | Frames  Bytes | | Frames  Bytes |

192.168.29.148       &lt;-&gt; 74.125.39.18              79     39420      93     36753     172     76173

192.168.29.148       &lt;-&gt; 74.125.39.17              45     27618      45     17223      90     44841

192.168.29.148       &lt;-&gt; 74.125.39.83              30     18291      26     11999      56     30290

192.168.29.148       &lt;-&gt; 74.125.39.106              6       751      11      8970      17      9721

192.168.29.148       &lt;-&gt; 74.125.39.101              7      2954       9      3012      16      5966

192.168.29.148       &lt;-&gt; 74.125.39.189              6       968       8      2382      14      3350

192.168.29.148       &lt;-&gt; 192.168.29.1               4      1198       4       311       8      1509

209.85.137.125       &lt;-&gt; 192.168.29.148             2       132       2       750       4       882

192.168.29.148       &lt;-&gt; 65.54.49.141               1        74       2       137       3       211

192.168.254.2        &lt;-&gt; 192.168.29.148             0         0       1      1506       1      1506

193.48.73.22         &lt;-&gt; 192.168.29.148             1        46       0         0       1        46

================================================================================
</pre>
<p>Si vous devez faire une analyse d'un flux multimédia basé sur RTP, alors l'option suivante va vous permettre d'afficher un rapport sur ces flux:</p>
<pre class="brush: bash;">

sudo tshark -i eth0 -z rtp,streams

========================= RTP Streams ========================

Src IP addr  Port    Dest IP addr  Port       SSRC          Payload  Pkts         Lost   Max Delta(ms)  Max Jitter(ms) Mean Jitter(ms) Problems?

192.168.200.100 50013  192.168.29.148 55373 0x83AAE473     Unknown (72)     1     0 (0.0%)            0.00            0.00            0.00 X

192.168.29.148 55373 192.168.200.100 55372 0x16AE7E09     Unknown (73)    11   -10 (-1000.0%)            0.00            0.00            0.00 X

192.168.200.100 50013  192.168.29.148 55373 0x83AAE477     Unknown (72)     1     0 (0.0%)            0.00            0.00            0.00 X

192.168.200.100 50013  192.168.29.148 55373 0x83AAE47D     Unknown (72)     1     0 (0.0%)            0.00            0.00            0.00 X

192.168.200.100 50013  192.168.29.148 55373 0x83AAE483     Unknown (72)     1     0 (0.0%)            0.00            0.00            0.00 X

192.168.200.100 50013  192.168.29.148 55373 0x83AAE488     Unknown (72)     1     0 (0.0%)            0.00            0.00            0.00 X

192.168.200.100 50013  192.168.29.148 55373 0x83AAE48E     Unknown (72)     1     0 (0.0%)            0.00            0.00            0.00 X

192.168.200.100 50013  192.168.29.148 55373 0x83AAE492     Unknown (72)     1     0 (0.0%)            0.00            0.00            0.00 X

192.168.200.100 50013  192.168.29.148 55373 0x83AAE498     Unknown (72)     1     0 (0.0%)            0.00            0.00            0.00 X

192.168.200.100 50013  192.168.29.148 55373 0x83AAE49D     Unknown (72)     1     0 (0.0%)            0.00            0.00            0.00 X

192.168.200.100 50013  192.168.29.148 55373 0x83AAE4A1     Unknown (72)     1     0 (0.0%)            0.00            0.00            0.00 X

192.168.200.100 50013  192.168.29.148 55373 0x83AAE4A5     Unknown (72)     1     0 (0.0%)            0.00            0.00            0.00

192.168.200.100 50013  192.168.29.148 55373 0x83AAE4AB     Unknown (72)     1     0 (0.0%)            0.00            0.00            0.00 X

192.168.200.100 50013  192.168.29.148 55373 0x81CB0001     Unknown (73)     1     0 (0.0%)            0.00            0.00            0.00

==============================================================
</pre>
<p>Si vous devez analyser les flux SMB (partage de fichier Samba ou Windows) alors TShark vous apporte les informations suivantes au niveau des délais:</p>
<pre class="brush: bash;">

sudo tshark -i eth0 -z smb,rtt

===================================================================

SMB RTT Statistics:

Filter:

Commands                   Calls   Min RTT   Max RTT   Avg RTT

Close                          1   0.00034   0.00034   0.00034

Open AndX                      1   0.01968   0.01968   0.01968

Read AndX                      3   0.00032   0.46561   0.15541

Negotiate Protocol             1   0.00079   0.00079   0.00079

Session Setup AndX             2   0.00071   0.00201   0.00136

Tree Connect AndX              1   0.00063   0.00063   0.00063

Transaction2 Commands      Calls   Min RTT   Max RTT   Avg RTT

FIND_FIRST2                   12   0.00073   0.01845   0.00520

QUERY_FS_INFO                  1   0.00043   0.00043   0.00043

QUERY_PATH_INFO              174   0.00045   0.01445   0.00154

NT Transaction Commands    Calls   Min RTT   Max RTT   Avg RTT

===================================================================
</pre>
<p>Enfin il est possible d'analyser les flux de type VoIP SIP:</p>
<pre class="brush: bash;">
tshark -i em0 -z sip,stat

===================================================================

SIP Statistics

Number of SIP messages: 30

Number of resent SIP messages: 4

* SIP Status Codes in reply packets

SIP 401 Unauthorized    :     5 Packets

SIP 200 OK              :     5 Packets

SIP 100 Trying          :    10 Packets

* List of SIP Request methods

REGISTER        :    10 Packets

* Average setup time 0 ms

Min 0 ms

Max 0 ms

===================================================================
</pre>
<h1>Conclusion</h1>
<p>TShark est donc une très bonne alternative à tcpdump, l'outil standard des distributions GNU/Linux et BSD. Il apporte un lot impressionnant de filtres d'affichage et une gestion de rapport qui peut être d'une grande utilité pour certaines analyse réseau.</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2725">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/kqupJFbXVazu1Aaj9rsuwKOib7k/0/da"><img src="http://feedads.g.doubleclick.net/~a/kqupJFbXVazu1Aaj9rsuwKOib7k/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/kqupJFbXVazu1Aaj9rsuwKOib7k/1/da"><img src="http://feedads.g.doubleclick.net/~a/kqupJFbXVazu1Aaj9rsuwKOib7k/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=XOy2vKvkLX0:e8MsP3CfX7A:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=XOy2vKvkLX0:e8MsP3CfX7A:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=XOy2vKvkLX0:e8MsP3CfX7A:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=XOy2vKvkLX0:e8MsP3CfX7A:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2010/03/tshark-lautre-tcpdump.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backup de sa bibliothéque musicale avec rsync</title>
		<link>http://blog.nicolargo.com/2010/03/backup-de-sa-bibliotheque-musicale-avec-rsync.html</link>
		<comments>http://blog.nicolargo.com/2010/03/backup-de-sa-bibliotheque-musicale-avec-rsync.html#comments</comments>
		<pubDate>Sun, 07 Mar 2010 13:30:12 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Musique]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[sh]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/?p=2799</guid>
		<description>Voici un petit shell script permettant, depuis Mac OS X, de synchroniser votre bibliothèque musical iTunes vers un disque dur externe au format FAT32.
Si en plus ce disque est réseau (NAS), ce script sera une première étape dans le partager de votre bibliothéque iTunes entres les différents ordinateurs de votre réseau local (je parle ici [...]</description>
			<content:encoded><![CDATA[<p><a href="http://blog.nicolargo.com/wp-content/uploads/2010/03/apple_itunes_partage_450.jpg" rel="lightbox[2799]"><img class="alignright size-medium wp-image-2802" title="apple_itunes_partage_450" src="http://blog.nicolargo.com/wp-content/uploads/2010/03/apple_itunes_partage_450-300x179.jpg" alt="" width="300" height="179" /></a>Voici un petit shell script permettant, depuis Mac OS X, de synchroniser votre bibliothèque musical iTunes vers un disque dur externe au format FAT32.</p>
<p>Si en plus ce disque est réseau (NAS), ce script sera une première étape dans le partager de votre bibliothéque iTunes entres les différents ordinateurs de votre réseau local (je parle ici d'un VRAI partage avec play-lists, notes, suppression, modification...). Mais j'y reviendrai dans un prochain article...</p>
<p><span style="text-decoration: underline;"><strong>Script:</strong></span></p>
<pre class="brush: bash;">
#!/bin/sh
SRC=&quot;/Users/nicolargo/Music/iTunes/&quot;
DST=&quot;/Volumes/DDEXT/MUSIC/iTunes&quot;
RSYNC=&quot;/usr/bin/rsync -a -x -S -v --modify-window=1 --delete&quot;
$RSYNC $SRC $DST
</pre>
<p><span style="text-decoration: underline;"><strong>Détail des variables:</strong></span></p>
<p>SRC: Emplacement de votre bibliothèque iTunes (à modifier selon votre configuration). A noter, le / en fin de ligne.</p>
<p>DST: Chemin d'accès vers votre disque dur externe ou réseau (à modifier selon votre configuration). A noter, l'absence de / en fin de ligne.</p>
<p>RSYNC: chemin et option vers rsync avec:</p>
<ul>
<li>--modify-window=1: si vous faite une synchronisation vers un disque  FAT32, cette option est obligatoire (sinon les fichiers seront  recopiés intégralement à chaque synchronisation...)<em><br />
Remarque: si vous utilisez un disque externe formaté en HFS, il faut utiliser l'option -E en lieu et place de --modify-window=1</em></li>
</ul>
<ul>
<li>-a: synchronise l'ensemble des fichiers, répertoires et sous-répertoire</li>
<li>-x: ne pas écraser les fichiers systèmes</li>
<li>-S: gère de manière efficace les fichiers fragmentés.</li>
<li>-v: affiche ce que rsync fait</li>
<li>--delete: efface du disque dur externe les fichiers inexistants de votre bibliothèque iTunes.</li>
</ul>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2799">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/NgZ7mOA58twRbCYxEEWFCJUnXYQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/NgZ7mOA58twRbCYxEEWFCJUnXYQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/NgZ7mOA58twRbCYxEEWFCJUnXYQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/NgZ7mOA58twRbCYxEEWFCJUnXYQ/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=4Ndi-9JoLGU:hkTrU8bfp8I:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=4Ndi-9JoLGU:hkTrU8bfp8I:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=4Ndi-9JoLGU:hkTrU8bfp8I:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=4Ndi-9JoLGU:hkTrU8bfp8I:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2010/03/backup-de-sa-bibliotheque-musicale-avec-rsync.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tester son site/blog sous IPhone sans IPhone</title>
		<link>http://blog.nicolargo.com/2010/02/tester-son-siteblog-sous-iphone-sans-iphone.html</link>
		<comments>http://blog.nicolargo.com/2010/02/tester-son-siteblog-sous-iphone-sans-iphone.html#comments</comments>
		<pubDate>Fri, 26 Feb 2010 15:42:40 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Developpement]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[simulateur]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/?p=2789</guid>
		<description>Vous voulez tester comment est vu votre site/blog sur un IPhone mais vous n'en avez pas un  sous la main (ben ouep c'est pas libre alors...) ? Alors vous serez heureux d'apprendre qu'il existe une méthode assez simple pour que votre navigateur favori ( j'ai nommé Firefox) se fasse passer pour un IPhone...
Installation du [...]</description>
			<content:encoded><![CDATA[<p>Vous voulez tester comment est vu votre site/blog sur un IPhone mais vous n'en avez pas un  sous la main (ben ouep c'est pas libre alors...) ? Alors vous serez heureux d'apprendre qu'il existe une méthode assez simple pour que votre navigateur favori ( j'ai nommé Firefox) se fasse passer pour un IPhone...</p>
<h1>Installation du plugin "User Agent Switchers"</h1>
<p>La première chose à faire est <a href="https://addons.mozilla.org/fr/firefox/addon/59">d'installer le plugin "User Agent Switchers"</a> qui va permettre à Firefox de se déguiser en IPhone. Une fois le plugin installé et le navigateur redémarré, un nouveau menu sous "Outils / Default User Agent" devrait apparaitre:</p>
<p style="text-align: center;"><a href="http://blog.nicolargo.com/wp-content/uploads/2010/02/Menu_045.png" rel="lightbox[2789]"><img class="size-full wp-image-2791 aligncenter" title="Menu_045" src="http://blog.nicolargo.com/wp-content/uploads/2010/02/Menu_045.png" alt="" width="199" height="174" /></a></p>
<p>Il suffit de cliquer sur le bouton <strong>"IPhone 3.0"</strong> pour que Firefox se fasse passer pour un navigateur IPhone. Pou revenir à un comportement normal de votre navigateur, il suffira de cliquer sur le bouton <strong>"Default User Agent"</strong>.</p>
<h1>Tester son site/blog</h1>
<p>Rien de plus simple, il suffit de se rendre sur l'URL de votre blog pour le voir s'afficher comme sur un iPhone. Par exemple <a href="http://blog.nicolargo.com">Le Blog de Nicolargo</a> (c'est juste un exemple, j'utilise le plugin Wordpress WPTouch donc l'affichage devrait être adapté...).</p>
<p style="text-align: center;"><a href="http://blog.nicolargo.com/wp-content/uploads/2010/02/Le-blog-de-Nicolargo-Namoroka_046.png" rel="lightbox[2789]"><img class="size-medium wp-image-2792 aligncenter" title="Le blog de Nicolargo - Namoroka_046" src="http://blog.nicolargo.com/wp-content/uploads/2010/02/Le-blog-de-Nicolargo-Namoroka_046-300x201.png" alt="" width="300" height="201" /></a></p>
<p>Les esprits chagrins vont me dire que cela n'est pas du tout représentatif car la résolution de l'Iphone est beaucoup plus faible que la résolution de notre écran, c'est vrai mais... il existe des sites (par exemple <a href="http://www.testiphone.com/">TestIphone</a>) qui permettent d'effectuer le même test mais dans une frame simulant la taille d'un IPhone. Perso le test chez moi du site TestIphone n'est pas concluant car je suis redirigé vers la version plein écran de mon blog...</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2789">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/1RbtmzIATXZ7Uuj2KgZsbiMHaXM/0/da"><img src="http://feedads.g.doubleclick.net/~a/1RbtmzIATXZ7Uuj2KgZsbiMHaXM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/1RbtmzIATXZ7Uuj2KgZsbiMHaXM/1/da"><img src="http://feedads.g.doubleclick.net/~a/1RbtmzIATXZ7Uuj2KgZsbiMHaXM/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=IWkGUJa4mNU:65JXd_BZ34Q:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=IWkGUJa4mNU:65JXd_BZ34Q:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=IWkGUJa4mNU:65JXd_BZ34Q:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=IWkGUJa4mNU:65JXd_BZ34Q:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2010/02/tester-son-siteblog-sous-iphone-sans-iphone.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Mes "marques ta-pages" de la semaine</title>
		<link>http://blog.nicolargo.com/2010/02/mes-marques-ta-pages-de-la-semaine-33.html</link>
		<comments>http://blog.nicolargo.com/2010/02/mes-marques-ta-pages-de-la-semaine-33.html#comments</comments>
		<pubDate>Fri, 26 Feb 2010 09:14:11 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2010/02/mes-marques-ta-pages-de-la-semaine-33.html</guid>
		<description>Un theme Worpress pas à pas avec The Gimp


Le validateur CSS en ligne de W3.org


Configurer un serveur DNS named en proxy


Nouvelle version 2.6.33 du noyau Linux


Gérer son calendrier Google avec Sunbird


Shopp: un plugin e-commerce pour Wordpress


Tous les modules WebMin sont sur cette page


Module CBQ (QoS Linux) pour Webmin


Module HTB (QoS Linux) pour Webmin


MongoDB est la [...]</description>
			<content:encoded><![CDATA[<div align="center">
<img src="http://blog.nicolargo.com/wp-content/uploads/2009/08/screenshot_003-300x113.png" alt="Marques-pages" title="Marques-pages" width="300" height="113" class="aligncenter size-medium wp-image-2106" align="center" />
</div>
<ul class="blogmarks">
<li><a href="http://gimp-tutorials.net/blog-theme-design-with-gimp">
<p>Un theme Worpress pas à pas avec The Gimp</p>
<p></a></li>
<li><a href="http://jigsaw.w3.org/css-validator/">
<p>Le validateur CSS en ligne de W3.org</p>
<p></a></li>
<li><a href="http://www.faqs.org/docs/securing/chap21sec164.html">
<p>Configurer un serveur DNS named en proxy</p>
<p></a></li>
<li><a href="http://linuxfr.org/2010/02/25/26478.html">
<p>Nouvelle version 2.6.33 du noyau Linux</p>
<p></a></li>
<li><a href="http://doc.ubuntu-fr.org/synchroniser_sunbird_google_agenda">
<p>Gérer son calendrier Google avec Sunbird</p>
<p></a></li>
<li><a href="http://shopplugin.net/">
<p>Shopp: un plugin e-commerce pour Wordpress</p>
<p></a></li>
<li><a href="http://www.webmin.com/cgi-bin/search_third.cgi?modules=1">
<p>Tous les modules WebMin sont sur cette page</p>
<p></a></li>
<li><a href="http://sourceforge.net/projects/webmin-cbq/">
<p>Module CBQ (QoS Linux) pour Webmin</p>
<p></a></li>
<li><a href="http://sehier.fr/webmin-htb/">
<p>Module HTB (QoS Linux) pour Webmin</p>
<p></a></li>
<li><a href="http://www.mongodb.org/display/DOCS/Home">
<p>MongoDB est la NoSQL database du moment !</p>
<p></a></li>
<li><a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch14_:_Linux_Firewalls_Using_iptables">
<p>Un très bon how-to sur le Firewall iptables</p>
<p></a></li>
<li><a href="http://ltb-project.org/wiki/documentation/self-service-password">
<p>Un service Web pour changer le mot de passe de son compte LDAP</p>
<p></a></li>
<li><a href="http://www.webdevonlinux.fr/2010/02/live-hacking-cd/">
<p>Live Hacking CD, un live CD Linux dédié au hacking</p>
<p></a></li>
</ul>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2788">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/q7qJZqgzI3RqsFek-cibQl3013g/0/da"><img src="http://feedads.g.doubleclick.net/~a/q7qJZqgzI3RqsFek-cibQl3013g/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/q7qJZqgzI3RqsFek-cibQl3013g/1/da"><img src="http://feedads.g.doubleclick.net/~a/q7qJZqgzI3RqsFek-cibQl3013g/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=faK4ncxFDyY:wpY1xCavnpc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=faK4ncxFDyY:wpY1xCavnpc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=faK4ncxFDyY:wpY1xCavnpc:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=faK4ncxFDyY:wpY1xCavnpc:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2010/02/mes-marques-ta-pages-de-la-semaine-33.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation Ubuntu 9.10 sur un Lenovo T500</title>
		<link>http://blog.nicolargo.com/2010/02/installation-ubuntu-9-10-sur-un-lenovo-t500.html</link>
		<comments>http://blog.nicolargo.com/2010/02/installation-ubuntu-9-10-sur-un-lenovo-t500.html#comments</comments>
		<pubDate>Wed, 24 Feb 2010 13:38:09 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[lenovo]]></category>
		<category><![CDATA[t500]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/?p=2775</guid>
		<description>Voici un petit billet sur l'installation de la dernière version stable d'Ubuntu (Karmic 9.10) sur un PC portable Lenovo T500.
Installation du système (Ubuntu Karmic 9.10) sans aucun problème à partir du CD d'installation.
Après redémarrage du PC, fonctionnement "out of the box" (sans configuration) pour:

Clavier (bouton son + luminosité)
Trackpad / Trackpoint
Affichage en 16:10 (1280x800 / 60Hz) [...]</description>
			<content:encoded><![CDATA[<p><a href="http://blog.nicolargo.com/wp-content/uploads/2010/02/Lenovo_T500.jpg" rel="lightbox[2775]"><img class="size-full wp-image-2776  alignright" title="Lenovo_T500" src="http://blog.nicolargo.com/wp-content/uploads/2010/02/Lenovo_T500.jpg" alt="" width="220" height="220" /></a></p>
<p>Voici un petit billet sur l'installation de la dernière version stable d'Ubuntu (Karmic 9.10) sur un <a href="http://www.lapspecs.com/wiki/lenovo+thinkpad+t500">PC portable Lenovo T500</a>.</p>
<p>Installation du système (Ubuntu Karmic 9.10) sans aucun problème à partir du CD d'installation.</p>
<p>Après redémarrage du PC, fonctionnement "out of the box" (sans configuration) pour:</p>
<ul>
<li>Clavier (bouton son + luminosité)</li>
<li>Trackpad / Trackpoint</li>
<li>Affichage en 16:10 (1280x800 / 60Hz) avec support 3D</li>
<li>Réseau Ethernet Gigabits (eth0)</li>
<li>Réseau Wifi (bouton d'activation/désactivation fonctionnel)</li>
<li>USB (3 ports disponibles)</li>
<li>Lecteur/graveur CD et DVD</li>
<li>Son (lecture et enregistrement)</li>
<li>Bluetooth (bouton d'activation/désactivation fonctionnel)</li>
<li>Webcam</li>
</ul>
<p>Non testé:</p>
<ul>
<li>Modem</li>
<li>Firewire</li>
</ul>
<p>Le fonctionnement de la machine est très agréable, rapide et l'affichage stable et lisible.</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2775">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/Ruh-r2So_wexIxV-IgXi9ky0QA4/0/da"><img src="http://feedads.g.doubleclick.net/~a/Ruh-r2So_wexIxV-IgXi9ky0QA4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Ruh-r2So_wexIxV-IgXi9ky0QA4/1/da"><img src="http://feedads.g.doubleclick.net/~a/Ruh-r2So_wexIxV-IgXi9ky0QA4/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=SaKKMueyNO4:9Ip0yw-NlNg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=SaKKMueyNO4:9Ip0yw-NlNg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=SaKKMueyNO4:9Ip0yw-NlNg:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=SaKKMueyNO4:9Ip0yw-NlNg:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2010/02/installation-ubuntu-9-10-sur-un-lenovo-t500.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Soutien à Nagios-FR</title>
		<link>http://blog.nicolargo.com/2010/02/soutient-a-nagios-fr.html</link>
		<comments>http://blog.nicolargo.com/2010/02/soutient-a-nagios-fr.html#comments</comments>
		<pubDate>Tue, 23 Feb 2010 10:21:30 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[nagios-fr]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/?p=2772</guid>
		<description>La communauté libre de Nagios-FR est en ébullition depuis les échanges de mails entre Ethan (le concepteur de Nagios), sa femme Marry (qui s'occupe de l'administration Nagios Enterprise) et Olivier Jan (de Nagios-FR). Bien que je trouve la réaction d'Olivier un peu trop excessive par rapport au premier mail de Marry, c'est celle d'Ethan qui [...]</description>
			<content:encoded><![CDATA[<p>La communauté libre de Nagios-FR est en ébullition depuis <a href="http://www.nagios-fr.org/2010/02/accuse-nagios-fr-org-levez-vous/">les échanges de mails </a>entre Ethan (le concepteur de Nagios), sa femme Marry (qui s'occupe de l'administration Nagios Enterprise) et Olivier Jan (de Nagios-FR). Bien que je trouve la réaction d'Olivier un peu trop excessive par rapport au premier mail de Marry, c'est celle d'Ethan qui me choque le plus mais sans me surprendre.</p>
<p>Comme vous avez pu le constater je parle de moins en moins de Nagios (même si <a href="http://blog.nicolargo.com/nagios-tutoriels-et-documentations">la page réunissant les billets sur le sujet</a> reste la plus consulté de mon blog).  Même si la raison principale est que, de part mon activité professionnelle, je m'intéresse moins à la supervision système/réseau, je suis de moins en moins positif par rapport aux orientations prise par Nagios. Les priorités ne sont pas mises aux bons endroits, en effet, "Nagios Enterprise" met de coté les aspects techniques (évolution du produit, prise en compte des demandes des utilisateurs) par rapport aux cotés "business" (support, maintenance, gestion de la marque (c) Nagios, communication...).</p>
<p>Nous retombons ici sur l'éternel problème de l'industrialisation d'une solution libre. Je ne pense pas que les méthodes de "Nagios Enterprise" soient les bonnes. L'avenir nous le dira. Il serait dommage que les 10 ans d'efforts d'Ethan pour développer une solution libre et ouverte de supervision réseau soient réduit à néant. D'autant plus que la concurrence avance de son coté (voir par exemple <a href="http://www.zabbix.com/">Zabbix</a>).</p>
<p>A suivre...</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2772">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/Seklyzpco3r_TxtEEQxSGom8k9M/0/da"><img src="http://feedads.g.doubleclick.net/~a/Seklyzpco3r_TxtEEQxSGom8k9M/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Seklyzpco3r_TxtEEQxSGom8k9M/1/da"><img src="http://feedads.g.doubleclick.net/~a/Seklyzpco3r_TxtEEQxSGom8k9M/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=y2hoRu6pgro:vz_mAMhE2LI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=y2hoRu6pgro:vz_mAMhE2LI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=y2hoRu6pgro:vz_mAMhE2LI:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=y2hoRu6pgro:vz_mAMhE2LI:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2010/02/soutient-a-nagios-fr.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Netperf, mesurer la performance de votre réseau en ligne de commande</title>
		<link>http://blog.nicolargo.com/2010/02/netperf-mesurer-la-performance-de-votre-reseau-en-ligne-de-commande.html</link>
		<comments>http://blog.nicolargo.com/2010/02/netperf-mesurer-la-performance-de-votre-reseau-en-ligne-de-commande.html#comments</comments>
		<pubDate>Tue, 23 Feb 2010 09:26:20 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[bandwidth]]></category>
		<category><![CDATA[netperf]]></category>
		<category><![CDATA[réseau]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/?p=2713</guid>
		<description>Netperf est un logiciel sous licence libre (GPL) permettant de simuler du trafic entre deux points d'un réseau. Edité par la société HP, la dernière version disponible (2.4.5) date de janvier 2009.
Contrairement à des logiciels comme Iperf qui se limite a une mesure de la bande passante et du délais, NetPerf permet, en plus du [...]</description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://blog.nicolargo.com/wp-content/uploads/2010/02/Sélection_044.png" rel="lightbox[2713]"><img class="size-full wp-image-2769 aligncenter" title="Sélection_044" src="http://blog.nicolargo.com/wp-content/uploads/2010/02/Sélection_044.png" alt="" width="476" height="116" /></a></p>
<p><a href="http://www.netperf.org">Netperf</a> est un logiciel sous licence libre (GPL) permettant de simuler du trafic entre deux points d'un réseau. Edité par la société HP, la dernière version disponible (2.4.5) date de janvier 2009.</p>
<p>Contrairement à des logiciels comme <a href="http://blog.nicolargo.com/tag/iperf">Iperf </a>qui se limite a une mesure de la bande passante et du délais, NetPerf permet, en plus du transfert de données, de simuler des transactions TCP et UDP. Nous allons voir dans ce billet comment installer et utiliser NetPerf pour optimiser notre réseau.<span id="more-2713"></span></p>
<h1>Mesure du débit utile</h1>
<p>Le test le plus courant demandé à NetPerf est de mesurer le débit de notre réseau, c'est à dire la quantité d'information (donnée) que l'on peut transporter en une seconde d'un point A (client) vers un point B (serveur). Nous utiliserons pour cela les scénarios TCP_STREAM (pour un transfert TCP) ou UDP_STREAM  (pour un transfert UDP).</p>
<p>Lors de l'installation sous Ubuntu, le daemon serveur est lancé automatiquement en écioutant sur le port 12345 (il faut pensé à ajouter les règles de firewall qui vont bien pour autoriser le/les clients NetPerf à se connecter sur le serveur).  A vérifier avec la commande "ps auxw | grep netserver" avant de saisir la commande suivante:</p>
<pre class="brush: bash;">

serveur# sudo netserver
</pre>
<p>Pour la suite du billet je prendrai comme hypothèse le fait que le serveur est lancé.</p>
<p>Ensuite on lance le client:</p>
<pre class="brush: bash;">

client# netperf -H server -t TCP_STREAM
</pre>
<p>Après quelques secondes, le client devrait afficher:</p>
<pre><span style="color: #808080;">TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to bilbo.nicolargo.com (92.243.16.42) port 0 AF_INET : demo</span>
<span style="color: #808080;">Recv   Send    Send</span>
<span style="color: #808080;">Socket Socket  Message  Elapsed</span>
<span style="color: #808080;">Size   Size    Size     Time     Throughput</span>
<span style="color: #808080;">bytes  bytes   bytes    secs.    10^6bits/sec</span>
<span style="color: #808080;">87380  16384  16384    10.46       <strong>3.43</strong></span></pre>
<p>On a donc un débit d'environ 3.43Mbit/sec.</p>
<h1>Optimisation du débit utile</h1>
<p>Comme vous le savez (ou pas), le débit utile en TCP peut être optimisé en jouant sur la valeur des "buffers" de réception et d'émission (dans les noyaux Linux récents, ces valeurs sont calculés et adaptés dynamiquement). NetPerf peut être utilisé pour tester les valeurs de "buffers" idéales pour votre réseau en procédant de la manière suivante:</p>
<p>On fait le test initial (sans optimisation):</p>
<pre class="brush: bash;">

client# netstat -s -p tcp &gt; beforestat

client# netperf -H server -t TCP_STREAM &gt; beforeres
</pre>
<p>On fait le test final (avec optimisation).</p>
<p>On peut par exemple utiliser pour cela les options -s et -S qui fixent respectivement la taille des "buffers" du client et du serveur. Ou bien ajouter le support des options CORK pour l'optimisation de la taille des MSS (-C) et de <a href="http://fr.wikipedia.org/wiki/Algorithme_de_Nagle">l'algorithme Nagle</a> (-D).</p>
<p>Il faut faire attention de mettre ces options après l'option -- (pour préciser que ces options sont celle de TCP_STREAM).</p>
<pre class="brush: bash;">

client# netperf -H server -t TCP_STREAM -- -s 128k -S 128k -C -D &gt; afterres
client# netstat -s -p tcp &gt; afterstat
</pre>
<p>On peut ensuite comparer les deux fichiers de résultats.</p>
<pre class="brush: bash;">

# diff beforeres afterres
</pre>
<p><span style="color: #808080;">&gt;  87380  16384  16384    10.43       3.43</span><br />
<span style="color: #808080;">---</span><br />
<span style="color: #808080;">&lt;  87380  16384  16384    10.27       3.73</span><br />
Soit un gain de 300 Kbps.</p>
<p>Pour comparer les stats TCP on peut récupérer <a href="ftp://ftp.cup.hp.com/dist/networking/tools/">le programme C "BeforeAfter" de HP</a>:</p>
<pre class="brush: bash;">

# ./beforeafter beforestat afterstat
</pre>
<pre><span style="color: #888888;">TcpExt:</span>
<span style="color: #888888;">0 TCP sockets finished time wait in fast timer</span>
<span style="color: #888888;">1 time wait sockets recycled by time stamp</span>
<span style="color: #888888;">3 accusés de réception envoyés en retard</span>
<span style="color: #888888;">0 delayed acks further delayed because of locked socket</span>
<span style="color: #888888;">Le mode ACK rapide a été activé 0 fois</span>
<span style="color: #888888;">80 paquets directement mis en attente dans la file d'attente recvmsg.</span>
<span style="color: #888888;">0 bytes directly in process context from backlog</span>
<span style="color: #888888;">4660 bytes directly received in process context from prequeue</span>
<span style="color: #888888;">19 en-têtes de paquets prédits</span>
<span style="color: #888888;">3 packets header predicted and directly queued to user</span>
<span style="color: #888888;">364 acknowledgments not containing data payload received</span>
<span style="color: #888888;">1412 accusés de réception prédits</span>
<span style="color: #888888;">0 times recovered from packet loss due to fast retransmit</span>
<span style="color: #888888;">14 times recovered from packet loss by selective acknowledgements</span>
<span style="color: #888888;">0 bad SACK blocks received</span>
<span style="color: #888888;">0 congestion windows recovered without slow start after partial ack</span>
<span style="color: #888888;">9 TCP data loss events</span>
<span style="color: #888888;">0 timeouts after reno fast retransmit</span>
<span style="color: #888888;">0 timeouts after SACK recovery</span>
<span style="color: #888888;">0 timeouts in loss state</span>
<span style="color: #888888;">15 fast retransmits</span>
<span style="color: #888888;">0 retransmits in slow start</span>
<span style="color: #888888;">1 other TCP timeouts</span>
<span style="color: #888888;">0 SACK retransmits failed</span>
<span style="color: #888888;">0 times receiver scheduled too late for direct processing</span>
<span style="color: #888888;">0 DSACKs sent for old packets</span>
<span style="color: #888888;">0 DSACKs sent for out of order packets</span>
<span style="color: #888888;">0 DSACKs received</span>
<span style="color: #888888;">0 connections reset due to unexpected data</span>
<span style="color: #888888;">0 connections reset due to early user close</span>
<span style="color: #888888;">0 connections aborted due to timeout</span>
<span style="color: #888888;">TCPSACKDiscard: 0</span>
<span style="color: #888888;">TCPDSACKIgnoredOld: 0</span>
<span style="color: #888888;">TCPDSACKIgnoredNoUndo: 0</span>
<span style="color: #888888;">TCPSackShifted: 130</span>
<span style="color: #888888;">TCPSackMerged: 80</span>
<span style="color: #888888;">TCPSackShiftFallback: 27</span></pre>
<p>Pour effectuer un test de débit dans le sens inverse (c'est à dire du serveur/netserver vers le client/netperf), on peur utiliser l'option TCP_MAERTS.</p>
<pre class="brush: bash;">

client# netperf -H server -t TCP_MAERTS
</pre>
<h1>Mesure des transactions</h1>
<p>Le débit utile n'est pas forcement une mesure capitale dans les performances d'un réseau. Si l'on prend l'exemple d'un trafic de type Web (HTML), c'est la capacité a faire rapidement des transactions (requêtes/réponses) qui est importante. NetPerf propose donc de tester ce type de transaction avec les scénarios TCP_RR (transactions TCP) ou UDP_RR  (transaction  UDP).</p>
<p>On lance le client:</p>
<pre class="brush: bash;">

client# netperf -H server -t TCP_RR
</pre>
<p>Après quelques secondes, le client devrait afficher:</p>
<pre><span style="color: #888888;">TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to bilbo.nicolargo.com (92.243.16.42) port 0 AF_INET : demo</span>
<span style="color: #888888;">Local /Remote</span>
<span style="color: #888888;">Socket Size   Request  Resp.   Elapsed  Trans.</span>
<span style="color: #888888;">Send   Recv   Size     Size    Time     Rate</span>
<span style="color: #888888;">bytes  Bytes  bytes    bytes   secs.    per sec</span>
<span style="color: #888888;">16384  87380  1        1       10.00      <strong>47.40</strong></span>
<span style="color: #888888;">16384  87380</span></pre>
<p>On a donc une mesure de 47 transactions par seconde.</p>
<h1>Optimisation des transactions</h1>
<p>Là encore, il est possible de tester différentes optimisation au niveau du protocole TCP. Par exemple, les "buffers" comme nous l'avons vu au chapitre précédant (option -s et -S). Pour coller au plus près au trafic généré par vos applications, NetPerf permet également dans ce mode (TCP-RR) de fixer la taille des requêtes de la transaction avec l'option  -r. Celle-ci prend deux argument: le premier est la taille de la requête, le second la taille de la réponse.</p>
<p>Par exemple pour simuler des transactions dont la requête a une taille de 64 octets et une réponse de 64Koctets, il faut saisir la commande suivante:</p>
<pre class="brush: bash;">

client# netperf -H server -t TCP_RR -- -r 64,64k
</pre>
<p>On peut ensuite essayer des optimisations au niveau des tailles de buffers (comme dans le chapitre précédents):</p>
<pre class="brush: bash;">

client# netperf -H server -t TCP_RR -- -r 64,64k -s 128k -S 128k -C -D
</pre>
<h1>Conclusion</h1>
<p>Ce billet n'est qu'une introduction au logiciel NetPerf. Si vous souhaitez approfondir le sujet, je vous conseille<a href="http://www.netperf.org/svn/netperf2/tags/netperf-2.4.5/doc/netperf.html"> la lecture de la documentation officielle</a> (en Anglais).</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2713">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/9lRMe-ffZCUCJDB5LXgQ9D4TCRY/0/da"><img src="http://feedads.g.doubleclick.net/~a/9lRMe-ffZCUCJDB5LXgQ9D4TCRY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/9lRMe-ffZCUCJDB5LXgQ9D4TCRY/1/da"><img src="http://feedads.g.doubleclick.net/~a/9lRMe-ffZCUCJDB5LXgQ9D4TCRY/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=seIFs0wuzkI:bQHuKS-V8xM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=seIFs0wuzkI:bQHuKS-V8xM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=seIFs0wuzkI:bQHuKS-V8xM:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=seIFs0wuzkI:bQHuKS-V8xM:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2010/02/netperf-mesurer-la-performance-de-votre-reseau-en-ligne-de-commande.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mon top 3 des sites pour fonds d'écran</title>
		<link>http://blog.nicolargo.com/2010/02/mon-top-3-des-sites-pour-fonds-decran.html</link>
		<comments>http://blog.nicolargo.com/2010/02/mon-top-3-des-sites-pour-fonds-decran.html#comments</comments>
		<pubDate>Fri, 19 Feb 2010 13:40:43 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[fonds ecran]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[wallpaper]]></category>
		<category><![CDATA[wallpapers]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/?p=2756</guid>
		<description>Il y a bien une chose avec laquelle je ne rigole: la qualité de mes fonds d'écran...Vu le temps que l'on passe (trop ?) devant nos machines, il serait dommage d'avoir des images moches et/ou rébarbatives. J'opte donc pour une rotation automatique toutes les 12 heures (avec le logiciel Wallpaper-tray sous Ubuntu et en suivant [...]</description>
			<content:encoded><![CDATA[<p>Il y a bien une chose avec laquelle je ne rigole: la qualité de mes fonds d'écran...Vu le temps que l'on passe (trop ?) devant nos machines, il serait dommage d'avoir des images moches et/ou rébarbatives. J'opte donc pour une rotation automatique toutes les 12 heures (avec le logiciel <a href="http://doc.ubuntu-fr.org/wallpaper-tray">Wallpaper-tray</a> sous Ubuntu et en <a href="http://blog.nicolargo.com/2007/09/un-fond-decran-par-jour.html">suivant cette méthode</a> pour mon MBP sous Mac OS X)</p>
<p>Voici donc les 3 sites sur lesquels je récupère mes fameux "wallpapers" (sous licence publique pour une utilisation personnelle).<span id="more-2756"></span></p>
<h2>Vlad Studio</h2>
<p>Cet artiste est un vrai génie des fonds d'écran, <a href="http://blog.nicolargo.com/2007/08/le-picasso-des-fonds-decran.html">j'en avait déjà parlé dans ce billet</a> il y a maintenant plus de deux ans mais il reste au top de sa forme.</p>
<p><em>Adresse du site:</em> <a href="http://www.vladstudio.com/fr/wallpapers/">http://www.vladstudio.com/fr/wallpapers/</a></p>
<p style="text-align: center;"><a href="http://www.vladstudio.com/fr/wallpapers/"><img class="size-medium wp-image-2759 aligncenter" title="Vlad" src="http://blog.nicolargo.com/wp-content/uploads/2010/02/Sélection_043-300x225.png" alt="" width="300" height="225" /></a></p>
<h2>Smashing Magazine</h2>
<p>Ce site est la référence pour le Web Design (enfin pour moi). Leur section fonds d'écran, bien que peu mise à jour, cache des petits bijoux.</p>
<p><em>Adresse du site: </em><a href="http://www.smashingmagazine.com/tag/wallpapers/">http://www.smashingmagazine.com/tag/wallpapers/</a></p>
<p style="text-align: center;"><a href="http://www.smashingmagazine.com/tag/wallpapers/"><img class="size-medium wp-image-2760 aligncenter" title="SM" src="http://blog.nicolargo.com/wp-content/uploads/2010/02/Sélection_042-300x186.png" alt="" width="300" height="186" /></a></p>
<h2>Devian Art</h2>
<p>Dans un autre style, les fonds d'écran que l'on peut trouver sur ce site plairont certainement à un large public !</p>
<p><em>Adresse du site: </em><a href="http://browse.deviantart.com/customization/wallpaper/">http://browse.deviantart.com/customization/wallpaper/</a></p>
<p style="text-align: center;"><a href="http://browse.deviantart.com/customization/wallpaper/"><img class="size-medium wp-image-2761 aligncenter" title="Devian Art" src="http://blog.nicolargo.com/wp-content/uploads/2010/02/Sélection_041-300x189.png" alt="" width="300" height="189" /></a></p>
<p>Et vous ? quels sont vos sites de références pour les fonds d'écran ?</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2756">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/yCpAb5PmKCt3i2JSenD9BELH8RQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/yCpAb5PmKCt3i2JSenD9BELH8RQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/yCpAb5PmKCt3i2JSenD9BELH8RQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/yCpAb5PmKCt3i2JSenD9BELH8RQ/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=LQEf1YKrkaM:ClBSlXrs8pU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=LQEf1YKrkaM:ClBSlXrs8pU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=LQEf1YKrkaM:ClBSlXrs8pU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=LQEf1YKrkaM:ClBSlXrs8pU:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2010/02/mon-top-3-des-sites-pour-fonds-decran.html/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Mes "marques ta-pages" de la semaine</title>
		<link>http://blog.nicolargo.com/2010/02/mes-marques-ta-pages-de-la-semaine-32.html</link>
		<comments>http://blog.nicolargo.com/2010/02/mes-marques-ta-pages-de-la-semaine-32.html#comments</comments>
		<pubDate>Fri, 19 Feb 2010 08:44:05 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/2010/02/mes-marques-ta-pages-de-la-semaine-32.html</guid>
		<description>Test de montée en charge (benchmark) avec des logiciels libres
 Afficher des colonnes adaptées à la taille de votre écran en utilisant CSS + JQuery
 Comment fixer un fond d'écran dans une page Web (CSS)
 Faire des boîtes de dialogues simplement depuis vos shell script avec Zenity
 Changer automatiquement de fond d'écran sous Ubuntu [...]</description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-medium wp-image-2106  aligncenter" title="Marques-pages" src="http://blog.nicolargo.com/wp-content/uploads/2009/08/screenshot_003-300x113.png" alt="Marques-pages" width="300" height="113" align="center" /></p>
<ul class="blogmarks">
<li><a href="http://blog.admin-linux.org/administration/test-de-montee-en-charge-benchmark-avec-des-logiciels-libres"> </a><a href="http://blog.admin-linux.org/administration/test-de-montee-en-charge-benchmark-avec-des-logiciels-libres">Test de montée en charge (benchmark) avec des logiciels libres</a></li>
<li><a href="http://www.sohtanaka.com/web-design/smart-columns-w-css-jquery/"> </a><a href="http://www.sohtanaka.com/web-design/smart-columns-w-css-jquery/">Afficher des colonnes adaptées à la taille de votre écran en utilisant CSS + JQuery</a></li>
<li><a href="http://css-tricks.com/perfect-full-page-background-image/"> </a><a href="http://css-tricks.com/perfect-full-page-background-image/">Comment fixer un fond d'écran dans une page Web (CSS)</a></li>
<li><a href="http://library.gnome.org/users/zenity/"> </a><a href="http://library.gnome.org/users/zenity/">Faire des boîtes de dialogues simplement depuis vos shell script avec Zenity</a></li>
<li><a href="http://doc.ubuntu-fr.org/wallpaper-tray"> </a><a href="http://doc.ubuntu-fr.org/wallpaper-tray">Changer automatiquement de fond d'écran sous Ubuntu avec "Wallpaper-Tray" (moins consommateur de mémoire que "Desktop Drapes")</a></li>
<li><a href="http://tsung.erlang-projects.org/"> </a><a href="http://tsung.erlang-projects.org/">Un utilitaire open-source pour faire des test de monté en charge des applications</a></li>
<li><a href="http://siproxd.sourceforge.net/index.php?op=odoc"> </a><a href="http://siproxd.sourceforge.net/index.php?op=odoc">Un proxy SIP sous licence GPL pour résoudre les problèmes de NAT</a></li>
<li><a href="http://pixelmatrixdesign.com/uniform/#"> </a><a href="http://pixelmatrixdesign.com/uniform/#">Formulaires HTML avec thèmes et JQuery</a></li>
<li><a href="http://www.visualjquery.com/"> </a><a href="http://www.visualjquery.com/">Une documentation de jQuery écrite ... en jQuery... le top</a></li>
<li><a href="http://jqueryui.com/"> </a><a href="http://jqueryui.com/">JQuery UI, le site officiel</a></li>
<li><a href="http://jquery.com/"> </a><a href="http://jquery.com/">Jquery, le site officiel</a></li>
<li><a href="http://www.ldlc.com/fiche/PB00096234.html"> </a><a href="http://www.ldlc.com/fiche/PB00096234.html">Acer Aspire Timeline 4810TZ, mon prochain portable ?</a></li>
<li><a href="https://bugs.launchpad.net/ubuntu/ source/linux/ bug/481424"> </a><a href="https://bugs.launchpad.net/ubuntu/ source/linux/ bug/481424">Résolution problème de capture de son sous Ubuntu et un Acer 4810TG</a></li>
<li><a href="http://www.linux-france.org/prj/inetdoc/guides/Advanced-routing-Howto/lartc.qdisc.html"> </a><a href="http://www.linux-france.org/prj/inetdoc/guides/Advanced-routing-Howto/lartc.qdisc.html">Gestions de la QoS sous GNU/Linux</a></li>
<li><a href="http://960.gs/"> </a><a href="http://960.gs/">Framework pour générer des thèmes Wordpress</a></li>
<li><a href="http://adminunix.wordpress.com/2009/12/22/utiliser-gmail-comme-messagerie-par-defaut-sous-gnome/"> </a><a href="http://adminunix.wordpress.com/2009/12/22/utiliser-gmail-comme-messagerie-par-defaut-sous-gnome/">Utiliser Gmail comme messagerie par défaut sous Gnome</a></li>
<li><a href="http://xcb.freedesktop.org/"> </a><a href="http://xcb.freedesktop.org/">XCB le remplacant de Xlib</a></li>
<li><a href="http://net.tutsplus.com/tutorials/html-css-techniques/the-easiest-way-to-build-your-first-iphone-app/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed: nettuts (NETTUTS)&amp;utm_content=Google Reader"> </a><a href="http://net.tutsplus.com/tutorials/html-css-techniques/the-easiest-way-to-build-your-first-iphone-app/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed: nettuts (NETTUTS)&amp;utm_content=Google Reader">Tuto de votre première application iPhone / Ipad</a></li>
</ul>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2757">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/0gLVwrQqHwH6QdmZBukzp-qsBcU/0/da"><img src="http://feedads.g.doubleclick.net/~a/0gLVwrQqHwH6QdmZBukzp-qsBcU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/0gLVwrQqHwH6QdmZBukzp-qsBcU/1/da"><img src="http://feedads.g.doubleclick.net/~a/0gLVwrQqHwH6QdmZBukzp-qsBcU/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=C-2C6jqweV8:QRTRykIKPsg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=C-2C6jqweV8:QRTRykIKPsg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=C-2C6jqweV8:QRTRykIKPsg:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=C-2C6jqweV8:QRTRykIKPsg:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2010/02/mes-marques-ta-pages-de-la-semaine-32.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Siproxd rapproche SIP et NAT</title>
		<link>http://blog.nicolargo.com/2010/02/siproxd-rapproche-sip-et-nat.html</link>
		<comments>http://blog.nicolargo.com/2010/02/siproxd-rapproche-sip-et-nat.html#comments</comments>
		<pubDate>Thu, 18 Feb 2010 10:15:23 +0000</pubDate>
		<dc:creator>NicoLargo</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[nat]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[SIP]]></category>
		<category><![CDATA[siproxd]]></category>

		<guid isPermaLink="false">http://blog.nicolargo.com/?p=2749</guid>
		<description>SIP est le protocole de signalisation pour effectuer des communications de type voix sur IP (VoIP). Lorsque la communication est établie, il passe la main au protocole RTP qui permet le transport de la voix sur le réseau. Dans une architecture réseau incluant des fonctions de translation d'adresse (NAT), les choses se compliquent (voir cet [...]</description>
			<content:encoded><![CDATA[<p><a href="http://fr.wikipedia.org/wiki/Session_Initiation_Protocol">SIP</a> est le protocole de signalisation pour effectuer des communications de type voix sur IP (VoIP). Lorsque la communication est établie, il passe la main au protocole <a href="http://fr.wikipedia.org/wiki/Real-time_transport_protocol">RTP</a> qui permet le transport de la voix sur le réseau. Dans une architecture réseau incluant des fonctions de translation d'adresse (NAT), les choses se compliquent (voir <a href="http://www.voip-info.org/wiki/view/NAT+and+VOIP">cet article en anglais</a>). En effet, si plusieurs clients SIP se trouve derrière un routeur NAT, ce dernier ne va pas savoir établir les sessions entrantes (comment savoir vers quel client SIP faut il envoyer les flux).Vous pouvez lire <a href="http://wapiti.telecom-lille1.eu/commun/ens/peda/options/ST/RIO/pub/exposes/exposesrio2006-ttnfa2007/Hjibe-Dorville/PB_SIP_NAT.htm">ce billet qui détaille cette problématique</a>.</p>
<p style="text-align: center;"><a href="http://blog.nicolargo.com/wp-content/uploads/2010/02/sip_nat_PB2.jpg" rel="lightbox[2749]"><img class="size-full wp-image-2754 aligncenter" title="SIP vs NAT" src="http://blog.nicolargo.com/wp-content/uploads/2010/02/sip_nat_PB2-e1266486274733.jpg" alt="" width="580" height="288" /></a></p>
<p>On se retrouve devant plusieurs <a href="http://mguesdon.oxymium.net/blog/?postid=37">solutions techniques</a>:</p>
<ul>
<li>utilisation d'un tunnel IP entre le routeur NAT et le serveur SIP</li>
<li>utilisation de redirection statique (par client) au niveau du routeur NAT en utilisant des numéros de ports SIP et RTP différents</li>
<li>utilisation d'un proxy SIP au niveau du routeur NAT</li>
</ul>
<p>C'est cette troisième solution que nous allons mettre en place dans ce billet en utilisant le proxy SIP libre <strong>siproxd</strong> sur votre routeur NAT GNU/Linux.</p>
<h1>Installation de Sipproxd</h1>
<p>Actuellement disponible en version 0.7.2, vous pouvez soit <a href="http://sourceforge.net/projects/siproxd/files/">compiler les sources</a>, soit installer depuis les dépôts de votre distribution GNU/Linux. Par exemple sous Ubuntu:</p>
<pre class="brush: bash;">

sudo aptitude install siproxd
</pre>
<p>Il faut ensuite modifier le fichier /etc/default/siproxd et remplacer le 0 par 1.</p>
<h1>Configuration de Sipproxd</h1>
<p>Le fichier de configuration unique /etc/siproxd.conf <a href="http://siproxd.sourceforge.net/index.php?op=odoc">est très bien commenté</a>. Dans un cas standard ou le routeur NAT GNU/Linux a deux interfaces (eth0 pour l'interface coté LAN et eth1 pour l'interface NATé), il suffit juste de modifier la configuration en changeant les deux lignes suivantes:</p>
<pre class="brush: bash;">

if_inbound  = eth0

if_outbound = eth1
</pre>
<h1>Lancement de Sipproxd</h1>
<p>Sous Unbuntu,c'est assez simple:</p>
<pre class="brush: bash;">

/etc/init.d/sipproxd start
</pre>
<h1>Configuration des clients SIP</h1>
<p>Il ne reste plus qu'a configurer vos clients SIP dans la section "Proxy SIP" et de mettre l'adresse IP de votre routeur NAT (coté LAN donc l'adresse de eth0 dans notre cas).</p>

                            <div id="aspdf">
                                <a href="http://blog.nicolargo.com/wp-content/plugins/as-pdf/generate.php?post=2749">
                                    <span> </span>
                                </a>
                            </div>
                        
<p><a href="http://feedads.g.doubleclick.net/~a/9IN04NYXihRZ1iNOu9lcdapAshM/0/da"><img src="http://feedads.g.doubleclick.net/~a/9IN04NYXihRZ1iNOu9lcdapAshM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/9IN04NYXihRZ1iNOu9lcdapAshM/1/da"><img src="http://feedads.g.doubleclick.net/~a/9IN04NYXihRZ1iNOu9lcdapAshM/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=I1h1olqTqqE:s8Be4OQfQbg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?i=I1h1olqTqqE:s8Be4OQfQbg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=I1h1olqTqqE:s8Be4OQfQbg:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?a=I1h1olqTqqE:s8Be4OQfQbg:RW9bx_9rXgo"><img src="http://feeds.feedburner.com/~ff/LeBlogDeNicolargo?d=RW9bx_9rXgo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.nicolargo.com/2010/02/siproxd-rapproche-sip-et-nat.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
