Mots-clé : réseau

Windows : les loopbacks. Impossible à surveiller

Si jamais vous faites un site Internet, que vous le mettez sur localhost et que vous lancez un navigateur, il se peut que, comme moi, vous ayez envie de voir exactement ce qui se passe.

Dans ce cadre, un « espion » parfait pour cela est wireshark (analyseur de trames réseau).

Après plusieurs minutes, voire heures, vous verrez que quelles que soient vos actions, rien ne se passe.
L’explication est simple : Windows, peu importe sa version, « coupe » les arrivées réseau si elles sont en loopback = sur localhost.

Un grand merci, encore une fois, pour Windows !

Toute l’explication est là.

Il faut utiliser un outil, RawCap, qui hacke un peu Windows et génère un fichier « .pcap » compatible avec Wireshark.

Sur Linux, vous n’aurez pas ce problème typique Windows

En ligne de commande, on peut faire le dump de tout le traffic, y compris le localhost.
Il vous suffit d’utiliser l’utilitaire tcpdump, exemple :

$
$ sudo tcpdump -vv -i lo port 8000
tcpdump: listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes

Et à partir de là il écoutera sur le port 8000. Lancez Chrome, allez sur localhost:8000 et là vous verrez :

(pour la note, même s’il n’y a pas de serveur, ce qui est le cas ici, il écoute et trace vraiment tout)

17:23:14.100160 IP6 (flowlabel 0x52956, hlim 64, next-header TCP (6) payload length: 40) ip6-localhost.44238 > ip6-localhost.8000: Flags [S], cksum 0x0030 (incorrect -> 0xfe61), seq 1512481496, win 43690, options [mss 65476,sackOK,TS val 3860198845 ecr 0,nop,wscale 7], length 0
17:23:14.100165 IP6 (flowlabel 0xe143c, hlim 64, next-header TCP (6) payload length: 20) ip6-localhost.8000 > ip6-localhost.44238: Flags [R.], cksum 0x001c (incorrect -> 0xe6c0), seq 0, ack 1512481497, win 0, length 0
17:23:14.100189 IP (tos 0x0, ttl 64, id 63584, offset 0, flags [DF], proto TCP (6), length 60)
localhost.43918 > localhost.8000: Flags [S], cksum 0xfe30 (incorrect -> 0x631e), seq 4099830766, win 43690, options [mss 65495,sackOK,TS val 1743693574 ecr 0,nop,wscale 7], length 0
17:23:14.100194 IP (tos 0x0, ttl 64, id 12132, offset 0, flags [DF], proto TCP (6), length 40)
localhost.8000 > localhost.43918: Flags [R.], cksum 0x7eb1 (correct), seq 0, ack 4099830767, win 0, length 0
17:23:14.153839 IP6 (flowlabel 0xc30e0, hlim 64, next-header TCP (6) payload length: 40) ip6-localhost.44242 > ip6-localhost.8000: Flags [S], cksum 0x0030 (incorrect -> 0xaa17), seq 1123880506, win 43690, options [mss 65476,sackOK,TS val 3860198859 ecr 0,nop,wscale 7], length 0
17:23:14.153847 IP6 (flowlabel 0xee9c9, hlim 64, next-header TCP (6) payload length: 20) ip6-localhost.8000 > ip6-localhost.44242: Flags [R.], cksum 0x001c (incorrect -> 0x9284), seq 0, ack 1123880507, win 0, length 0
17:23:14.153884 IP (tos 0x0, ttl 64, id 20755, offset 0, flags [DF], proto TCP (6), length 60)
localhost.43922 > localhost.8000: Flags [S], cksum 0xfe30 (incorrect -> 0x1c4e), seq 3564886671, win 43690, options [mss 65495,sackOK,TS val 1743693588 ecr 0,nop,wscale 7], length 0
17:23:14.153891 IP (tos 0x0, ttl 64, id 12140, offset 0, flags [DF], proto TCP (6), length 40)
localhost.8000 > localhost.43922: Flags [R.], cksum 0x37ef (correct), seq 0, ack 3564886672, win 0, length 0
17:23:19.161265 IP6 (flowlabel 0x606b8, hlim 64, next-header TCP (6) payload length: 40) ip6-localhost.44246 > ip6-localhost.8000: Flags [S], cksum 0x0030 (incorrect -> 0x1e75), seq 983670096, win 43690, options [mss 65476,sackOK,TS val 3860200111 ecr 0,nop,wscale 7], length 0
17:23:19.161281 IP6 (flowlabel 0xe0662, hlim 64, next-header TCP (6) payload length: 20) ip6-localhost.8000 > ip6-localhost.44246: Flags [R.], cksum 0x001c (incorrect -> 0x0bc6), seq 0, ack 983670097, win 0, length 0
17:23:19.161360 IP (tos 0x0, ttl 64, id 18581, offset 0, flags [DF], proto TCP (6), length 60)
localhost.43926 > localhost.8000: Flags [S], cksum 0xfe30 (incorrect -> 0xe872), seq 99211285, win 43690, options [mss 65495,sackOK,TS val 1743694840 ecr 0,nop,wscale 7], length 0
17:23:19.161372 IP (tos 0x0, ttl 64, id 13102, offset 0, flags [DF], proto TCP (6), length 40)
localhost.8000 > localhost.43926: Flags [R.], cksum 0x08f8 (correct), seq 0, ack 99211286, win 0, length 0

Microsoft Windows Seven : Réseau public en réseau privé

Panne d’électricité : la Freebox redémarre. Mon PC sous Windows Seven redémarre. Et là, plus de réseau : le réseau n’est plus un réseau privé, c’est un réseau public : Windows affiche « Réseau non identifié = réseau public ».
Résultat : je fais cet article… sur mon portable Ubuntu, qui, lui fonctionne absolument parfaitement.
Et croyez moi, j’ai du mal à ne pas insulter Microsoft. Qui aurait cru un jour que j’utiliserai Ubuntu pour dépanner ce ** de Windows Seven ?
Cela fait 4 heures que je cherche sur le net en ayant essayé toutes les solutions, et voici celles qui m’ont parues les plus logiques, mais (enfin dans la logique Windows) sans succès :
– supprimer l’IPv6 qui peut éventuellement poser des conflits avec l’IPv4 ;
– supprimer la carte réseau afin qu’elle soit redétectée et réinstallée ;
– supprimer le mot de passe de compte administrateur ;
– et j’en passe et des meilleures.

La solution que j’ai trouvé ? J’ai récupéré, grâce à mon ordinateur portable, le DVD de Ubuntu 10.04, j’ai booté avec l’ordinateur dessus, et là, ça ne fonctionnait pas du tout. Donc le message, cette fois ci, était clair : problème de carte réseau. Point à la ligne, merci au revoir. Si j’avais eu Ubuntu, au lieu de perdre 8 heures, j’aurais compris en 5 minutes le problème. Et Microsoft a fait tout un document expliquant que si on migre sur Linux on va perdre du temps ? Je pense qu’il y a des fois où c’est complètement faux…

Conclusion finale : mon PC s’est grillé sa carte réseau à cause de la coupure de courant, mais Windows, au lieu de me donner des indications claires, par exemple

impossible d'atteindre un serveur DHCP

ou d’autre messages beaucoup plus clairs, m’a dit qu’il avait découvert un réseau mais comme il ne savait pas l’identifier, que ce réseau était un « réseau public ». Donc, logiquement, comme il avait découvert un réseau, on pense que la carte réseau fonctionne, sinon il n’aurait jamais découvert de réseau ! Mais ce n’est pas le cas. Conclusion : une journée complète de perdue à cause de messages pas du tout explicites, destinés à des débutants, mais comme les débutants n’y comprennent rien, ces message, en pratique, ne servent à rien. Vive Windows.