TP4 : Réseaux locaux - transmission et analyse des trames Ethernet (sur architectures x86 et ARM)

Dimension: px
Commencer à balayer dès la page:

Download "TP4 : Réseaux locaux - transmission et analyse des trames Ethernet (sur architectures x86 et ARM)"

Transcription

1 TP4 : Réseaux locaux - transmission et analyse des trames Ethernet (sur architectures x86 et ARM) Dans ce TP nous allons écrire/utiliser des applications de transfert des messages et des fichiers directemment au niveau de la couche physique Ethernet. La configuration du TP est basée sur 6 ordinateurs PC traditionnels (architecture x86) et 6 cartes Raspberry-Pi conçus sur l'architecture ARM. Le système d'exploitation est Ubuntu (Debian) pour les PC et Raspbian (Debian) pour les Raspberry PI. L'ensemble est connecté en réseau local avec les adresses IP distribuées dynamiquement par le protocole DHCP. Le développement de 2 applications : 1. Emission/diffusion et réception des fichiers 2. Sniffing des trames Ethernet avec les paquets IP doit être réalisé en mode root. Seulement l'utilisateur root a les droits d'exploitation de l'interface Ethernet par le biais de la programmation avec raw-sockets. Nous allons donc contourner la pile de protocoles (Ethernet/IP/TCP-UDP) pour s'attaquer directemment à la couche physique. En plus nous allons communiquer entre les systèmes basés sur les architectures matérielles différentes : x86 et ARM. Avant de se lancer dans la programmation nous proposons de lire le texte suivant concernant l'interface de programmation raw-sockets.

2 Introduction à la programmation avec l'api Raw-Sockets Dans les TP précédants nous avons dévellopé un certain nombre d'applications s'appuyant sur les primitives socket fonctionnant au niveau de la couche de transport en mode datagramme (protocole UDP) et en mode connecté (protocole TCP). Un programmeur avec les droits de root peut ếgalement accéder aux niveaux inférieurs de la pile TCP- UDP/IP/Ethernet par le biais des mécanismes raw-socket. On commence par la création d'un socket en mode raw: int s; s = socket(pf_packet, SOCK_RAW, htons(eth_p_all)); Le socket s peut fonctionner directement au niveau des paquets envoyés/réçus par le protocole Ethernet. Dans une trame Ethernet on peut insérer un paquet IP et un segment TCP ou un datagramme UDP. Dans ce contexte on peut, soit suivre les standards Internet et reproduire le fonctionnement des protocoles IP/TCP-UDP soit développer sa propre pile de protocoles. Envoi d'une trame Ethernet L'envoi d'une trame Ethernet nécessite la préparation de l'adresse source (6 octets), l'adresse de destination (6 octets), le type de protocole utilisateur (2 octets) plus les données utilisateur à transmettre par la trame. Fig.1. Trame Ethernet

3 Rappelons qu'une trame Ethernet est composée: de 2 adresses (source et destination) de 6 octets, d'un champs de contrôle de 2 octets, d'un champs de données de min 46 et max 1500 octets, et de la somme de test sur 4 octet qui est générée automatiquement par le l'interface. La structure ci-dessous doit être préparée avant son utilisation dans la fonction sendto(). struct sockaddr_ll destaddr; // addresse d'un socket au niveau de lien Les adresses Ethernet peuvent être préparées/initialisées comme suit: MacAddress localmac = 0x00,0x00,0x00,0x00,0x00,0x00; //MacAddress localmac = 0x00,0x17,0xB3,0x00,0xa0,0x20; MacAddress destmac = 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF; //MacAddress destmac= 0x00,0xB0,0xD0,0x4C,0xD5,0xC6; La trame avec ses données est préparée dans un tampon: char buffer[buffer_len]; avant son utilisation la structure destaddr et le buffer doivent être initialisés par: memset(&destaddr, 0, sizeof(struct sockaddr_ll)); memset(buffer, 0, BUFFER_LEN); Puis la structure destaddr doit être remplie par: destaddr.sll_family = PF_PACKET; destaddr.sll_protocol = htons(eth_p_all); destaddr.sll_halen = 6; destaddr.sll_ifindex = 2; memcpy(&(destaddr.sll_addr),destmac,mac_addr_len); Ensuite nous préparons l'en-tête de la trame: short int ethertypet = htons(0x8200); // champs de controle memcpy(buffer,destmac,mac_addr_len); memcpy((buffer+mac_addr_len),localmac,mac_addr_len); memcpy((buffer+(2*mac_addr_len)),&(ethertypet),sizeof(ethertypet)); Pour finir la création de la trame nous y ajoutons nos données (mes_data): memcpy((buffer+ethertype_len+(2*mac_addr_len)),mes_data,len); Enfin la trame est envoyée par la fonction sendto(): int tl= 14+len; int ssockll = sizeof(struct sockaddr_ll); sendto(sockfd,buffer,tlen,0,(struct sockaddr *)&(destaddr),ssockll);

4 Réception d'une trame Ethernet La réception d'une trame Ethernet nécessite la préparation de l'interface qui doit capter les trames. Cet interface peut fonctionner en mode normal ou mode de promiscuité. Dans le mode normal seulement les trames destinées à cette interface serons captées par la station (les trames en diffusion inclues). Dans le mode de promiscuité une interface peut capter/sniffer toutes les trames. Dans chaque cas il faut identifier (bind) l'interface à utiliser par la captage des trames. Voici les éléménts d'un programme permettant de capter les trames envoyées sur l'interface donnée avec l'adressage UNICAST et l'adressage BROADCAST. Réception en mode normal La fonction de la création d'un socket en mode raw: int CreateRawSocket(int protocol) int rs; if((rs = socket(pf_packet,sock_raw,htons(protocol)))== 1) printf("error creating raw socket: "); exit( 1); return rs; La fonction de la réception d'une trame dans le buffer: unsigned char* ReceiveRawEth(int sd) unsigned char* buffer = (unsigned char*)malloc(eth_frame_len); memset(buffer, '\0', ETH_FRAME_LEN); // frame buffer reset int l = 0; // frame buffer length l=recvfrom(sd,buffer,eth_frame_len,0,(struct sockaddr *)0,(int*)0); return buffer;

5 Réception en mode de promiscuité Pour effectuer la lecture de toutes les trames nous avons besoin de mettre l'interface Ethernet en mode de fonctionnement en promiscuité. L'interface doit être explicitement liée au socket avant l'application du mode en promiscuité. Ci-dessous la fonction qui crée et lie le socket à l'interface Ethernet spécifiée (bind) et qui ajoute le mode de promiscuité. La fonction possède 1 argument: nom de l'interface à sniffer. int CreatePromiscuousSocket(char *name) int sd; struct ifreq ifr; struct sockaddr_ll interfaceaddr; struct packet_mreq mreq; if ((sd = socket(pf_packet,sock_raw,htons(eth_p_all))) < 0) return 1; // clearing the interfaceaddr link layer socket address memset(&interfaceaddr,0,sizeof(interfaceaddr)); // clearing the ifr interface control registers memset(&ifr,0,sizeof(ifr)); // clearing mreq packet control registers memset(&mreq,0,sizeof(mreq)); // preparing the interface name memcpy(&ifr.ifr_name,name,ifnamsiz); // setting the interface name to find the interface index ioctl(sd,siocgifindex,&ifr); // setting the interface index interfaceaddr.sll_ifindex = ifr.ifr_ifindex; // setting the address family for interface interfaceaddr.sll_family = AF_PACKET; // binding the socket to the identified interface if (bind(sd, (struct sockaddr *)&interfaceaddr,sizeof(interfaceaddr)) < 0) return 2; // preparing the interface index in packet control mreq.mr_ifindex = ifr.ifr_ifindex; // preparing the promiscuous mode for packet sniffing mreq.mr_type = PACKET_MR_PROMISC; // setting the MAC address size mreq.mr_alen = 6; // setting the promiscuous mode to the interface for packet sniffing if (setsockopt(sd,sol_packet,packet_add_membership, (void*)&mreq,(socklen_t)sizeof(mreq)) < 0) return 3; return sd;

6 Dans la fonction principale main() nous pouvons lire/capter les paquets Ethernet par la fonction recvfrom(): int len; unsigned char buffer[2000]; struct sockaddr_ll paddr; int spaddr = sizeof(packet_info); len = recvfrom(raw,buffer,2000,0,(struct sockaddr*)&paddr,&spaddr); Le paquet est reçu dans le buffer, la taille de la trame réçue est enregistrée dans la varaible len. La fonction suivante permet de visualiser/imprimer le contenu de la trame en caractères héxadécimaux: void PrintPacketInHex(unsigned char *packet, int len, int com) unsigned char *p = packet; int beg,end,num; int ip=0; int udp=0,tcp=0; static int count=0; count++; beg=0;end=0; ip=(*(packet+12)==0x08 && *(packet+13)==0x00); //IP protocol in ETH frame udp= ip && (*(packet+23)==0x11); // UDP protocol in IP packet tcp= ip && (*(packet+23)==0x06); // TCP protocol in IP packet switch (com) case 0: beg=0;end=len;break; // print all packet case 1: beg=0;end=13;break; // print header case 2: beg=0;end=5;break; // print destination address case 3: beg=6;end=11;break; // print source address case 4: beg=14;end=len 14;break; // print data only case 5: if(ip)beg=14;end=33;;break; // print IP header 8 bytes case 6: if(udp)beg=34;end=41;;break; // print UDP header 8 bytes case 7: if(tcp)beg=34;end=53;;break; // print TCP header 20 bytes // Exercise: here you put your modes: // 5 IP header // 6 IP/UDP header // 7 IP/TCP header default: beg=0;end=len; // print all packet printf("\n\n Packet nr %d size %d \n\n",count,len); if(end)num=end beg+1; else num=0; while(num ) printf("%.2x ", *(p+beg)); p++; printf("\n\n Packet ends \n"); Remarque Après cette introduction générale à l'utilisation de l'interface raw-socket dans le réseau Ethernet nous proposons 2 sujets de développement à partir du code préparé. Le premier sujet est une application qui permet de diffuser et de récevoir les fichiers transmis directement dans les trames Ethernet. Cette application ne peut fonctionner que sur un réseau local. Le deuxième sujet est préparé pour l'analyse des trames Ethernet portant les protocoles de plus haut niveau: le protocole IP, puis le protocoles UDP et TCP.

7 Sujet 1: Ecrire une application qui permet de diffuser/émettre et récevoir sur le réseau local les fichiers transmis directemment dans les trames Ethernet. L'émetteur doit fonctionner en mode de diffusion (BROADCAST) et en mode simple (UNICAST). Eléments de l'application faire des modifications/versions du programme fourni dans l'annexe: 1. programme/processus émetteur qui envoie les trames en diffusion ou en unicast 2. programme récépteur qui réçoit les trames lui destinées (BROADCAST ou UNICAST) Nous avons besoin de déterminer la valeur du champ ethertypefname pour pouvoir différencier notre protocole des protocoles existants sur le réseau et de différencier les types de données à envoyer dans les trames. Par exemple nous pouvons proposer: x0201 : pour la trame qui porte le nom du fichier à lire sur le poste distant x0202: pour la trame qui porte le contenu/fragment du fichier envoyé par le poste distant Le protocoles standard tels que IP ou ARP utilisent des valeurs spécifiques: IP 0x0800, ARP - 0x0806 Rappelons que la longueur d'un segment doit être limitée à 1500 octets ou moins selon la taille du tampon de réception. int CreateRawSocket(int protocol) int rs; if((rs = socket(pf_packet,sock_raw,htons(protocol)))== 1) printf("error creating raw socket: "); exit( 1); return rs; Le programme de l'émmeteur doit pouvoir fonctionner avec une adresse simple ou une adresse de diffusion: MacAddress localmac = 0x00,0x00,0x00,0x00,0x00,0x00; //MacAddress localmac = 0x00,0x17,0xB3,0x00,0xa0,0x20; MacAddress destmacbrd = 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF; //MacAddress destmacuni= 0x00,0xB0,0xD0,0x4C,0xD5,0xC6; Le programme du serveur/émetteur doit créer et envoyer une trame avec le type (x0201) et le nom du fichier à créer sur le poste du client puis envoyer le fichier, segment par segment, vers le client/récepteur avec le type Ethernet égal à x0202. Attention: L'ensemble peut fonctionner seulement avec un seul serveur/émetteur et un fiichier transmis à l'instant donné. Imaginez une amelioration qui permet d'identifier les séquences de trames (sessions) de

8 transmission appartennant au même fichier envoyé par un ou plusieurs serveurs. Annexe: Voici le programme complet du transfert des fichiers ( émetteur et récepteur ) à comprendre et à re-utiliser pour la création/intégration de votre application. Emetteur/diffuseur des fichiers #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <linux/if_ether.h> #include <netpacket/packet.h> extern int errno; #define ETHERTYPE_LEN 2 #define MAC_ADDR_LEN 6 #define BUFFER_LEN 320 #include <net/ethernet.h> #include <netinet/ether.h> typedef unsigned char MacAddress[MAC_ADDR_LEN]; // frame buffer // data:for data =304 //MacAddress localmac = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00; // unknown MacAddress localmac = 0x00, 0xB0, 0xD0, 0x4C, 0xD5, 0xC6; //MacAddress destmac= 0x00, 0xB0, 0xD0, 0x4C, 0xD5, 0xC6; MacAddress destmac = 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF; // broadcast int main(int c, char *a[]) int sd = 0, retvalue = 0, len=0; int fd = 0; unsigned short nb=1; char buffer[buffer_len]; struct sockaddr_ll destaddr; short int ethertypet = htons(0x8200); short int ethertypefname = htons(0x0201); // send name short int ethertypefdata = htons(0x0202); // send data short int dlen; // data length if(getuid()) printf("you must be root (uid=0) to run this program!\n"); exit(0); memset(&destaddr, 0, sizeof(struct sockaddr_ll)); memset(buffer, 0, BUFFER_LEN); if((sd = socket(pf_packet, SOCK_RAW, htons(eth_p_all))) < 0) printf("socket() error\n"); exit(1); printf("socket creation success.\n"); fd=open(a[1],0); // local file to open and send if(fd<0) printf("no such file: %s\n",a[1]); exit(2); destaddr.sll_family =PF_PACKET; destaddr.sll_protocol = htons(eth_p_all);

9 destaddr.sll_halen = 6; destaddr.sll_ifindex = 2; memcpy(&(destaddr.sll_addr), destmac, MAC_ADDR_LEN); // Ethernet Header Construction: addresses 2*6 bytes memcpy(buffer, destmac, MAC_ADDR_LEN); memcpy((buffer+mac_addr_len), localmac, MAC_ADDR_LEN); // Ethernet Header Construction: type 2 bytes memcpy((buffer+(2*mac_addr_len)), &(ethertypefname), 2); // protocol type field: file name or file data memcpy((buffer+(2*mac_addr_len)+ethertype_len), &dlen, 2); // protocol data field length dlen=htons(strlen(a[2])+1); // file name memcpy((buffer+(2*mac_addr_len)+ethertype_len)+2, a[2], strlen(a[2])+1); len = 2*6+2+2+strlen(a[2])+1; // total frame length // sending the frame with the file name to be created at receiver side retvalue = sendto(sd, buffer, len, 0, (struct sockaddr *)&(destaddr), sizeof(struct sockaddr_ll)); while(nb) // reading the local file into frame buffer nb = read(fd,buffer+16,sizeof(buffer) 16); // preparing the frame header memcpy((buffer+(2*mac_addr_len)), &(ethertypefdata), 2); dlen=htons(nb); // convert short value in network format memcpy((buffer+(2*mac_addr_len)+ethertype_len), &dlen, 2); // sending the file data frame if((retvalue = sendto(sd, buffer, nb+16, 0, (struct sockaddr *)&(destaddr), sizeof(struct sockaddr_ll))) < 0) printf("sendto()) error \n"); exit(3); printf("send success (%d).\n", retvalue); // waiting for 200 microseconds before sending next frame usleep(200); return(0);

10 Récepteur des fichiers #include <stdio.h> #include <stdlib.h> #include <sys/socket.h> #include <linux/if_packet.h> #include <linux/if_ether.h> #include <linux/if_arp.h> #include <string.h> #define ETHERTYPE_LEN 2 #define MAC_ADDR_LEN 6 #define ETH_FRAME_LEN 320 int main(int c, char **a) int nb=1, fd; unsigned short count=1; int sd; // socket descriptor if(geteuid()) printf("you must be root (uid=0) to run this program! %d\n",geteuid()); exit(0); sd = socket(af_packet, SOCK_RAW, ntohs(eth_p_all)); if (sd == 1) printf("socket() error\n"); exit(1); // prepare the frame buffer unsigned char* buffer = (unsigned char*)malloc(eth_frame_len); memset(buffer, '\0', ETH_FRAME_LEN); // frame buffer reset int len = 0; // frame buffer length while(count) len = recvfrom(sd,buffer,eth_frame_len,0,(struct sockaddr *) 0,(int *) 0); printf("len:%d\n",len); if (len == 1) printf("error while receiving ethernet frame...\n"); exit(2); else printf("frame type %4.4x\n",*(buffer+12)); // frame type on 12th and 13th byte memcpy(&count,buffer+14,2); printf("counter %.4x\n",ntohs(count)); // print number of data bytes in frame : convert to host format if(*(buffer+12)==0x02 && *(buffer+13)==0x01) printf("name: %s\n",buffer+16); fd=creat(buffer+16,0777); // frame with file name : create the file if(*(buffer+12)==0x02 && *(buffer+13)==0x02) write(fd,buffer+16,ntohs(count)); // frame with file data : write to the file memset(buffer, '\0', ETH_FRAME_LEN); close(sd); close(fd);

11 Sujet 2: Ecrire une application qui permet de récevoir les trames en mode de promiscuité et d'afficher le contenu formaté des trames captées. 1. Afficher les en-têtes de trames Ethernet. 2. Afficher les en-têtes de trames Ethernet et des paquets IP et segments TCP/UDP portés dans les trames. Elements de l'application: int CreatePromiscuousSocket(char *name) int sd; struct ifreq ifr; struct sockaddr_ll interfaceaddr; struct packet_mreq mreq; if ((sd = socket(pf_packet,sock_raw,htons(eth_p_all))) < 0) return 1; // clearing the interfaceaddr link layer socket address memset(&interfaceaddr,0,sizeof(interfaceaddr)); // clearing the ifr interface control registers memset(&ifr,0,sizeof(ifr)); // clearing mreq packet control registers memset(&mreq,0,sizeof(mreq)); // preparing the interface name memcpy(&ifr.ifr_name,name,ifnamsiz); // setting the interface name to find the iterface index ioctl(sd,siocgifindex,&ifr); // setting the interface index interfaceaddr.sll_ifindex = ifr.ifr_ifindex; // setting the address family for interface interfaceaddr.sll_family = AF_PACKET; // binding the socket to the identified interface if (bind(sd, (struct sockaddr *)&interfaceaddr,sizeof(interfaceaddr)) < 0) return 2; // preparing the interface index in packet control mreq.mr_ifindex = ifr.ifr_ifindex; // preparing the promiscuous mode for packet sniffing mreq.mr_type = PACKET_MR_PROMISC; // setting the MAC address size mreq.mr_alen = 6; // setting the promiscuous mode to the interface for packet sniffing if (setsockopt(sd,sol_packet,packet_add_membership, (void*)&mreq,(socklen_t)sizeof(mreq)) < 0) return 3; return sd;

12 unsigned char* ReceiveRawEth(int sd) unsigned char* buffer = (unsigned char*)malloc(eth_frame_len); memset(buffer, '\0', ETH_FRAME_LEN); // frame buffer reset int l = 0; // frame buffer length l=recvfrom(sd,buffer,eth_frame_len,0,(struct sockaddr *)0,(int*)0); return buffer; void PrintPacketInHex(unsigned char *packet, int len, int com) unsigned char *p = packet; int beg,end,num; int ip=0; int udp=0,tcp=0; static int count=0; count++; beg=0;end=0; ip=(*(packet+12)==0x08 && *(packet+13)==0x00); //IP protocol in ETH frame udp= ip && (*(packet+23)==0x11); // UDP protocol in IP packet tcp= ip && (*(packet+23)==0x06); // TCP protocol in IP packet switch (com) case 0: beg=0;end=len;break; // print all packet case 1: beg=0;end=13;break; // print header case 2: beg=0;end=5;break; // print destination address case 3: beg=6;end=11;break; // print source address case 4: beg=14;end=len 14;break; // print data only case 5: if(ip)beg=14;end=33;;break; // print IP header 8 bytes case 6: if(udp)beg=34;end=41;;break; // print UDP header 8 bytes case 7: if(tcp)beg=34;end=53;;break; // print TCP header 20 bytes // Exercise: here you put your modes: // 5 IP header // 6 IP/UDP header // 7 IP/TCP header default: beg=0;end=len; // print all packet printf("\n\n Packet nr %d size %d \n\n",count,len); if(end)num=end beg+1; else num=0; while(num ) printf("%.2x ", *(p+beg)); p++; printf("\n\n Packet ends \n"); Attention: Cette fonction doit être completée afin de pouvoir imprimer/afficher les en-têtes du protocole IP et des protocoles TCP/UDP.

13 Le format d'un en-tête de protocole IP de base est donné ci-dessous (sans options 20 octets): La valeur du champ Protocol est 6 (0x06) pour TCP et 17 (0x11) pour UDP Le format d'un en-tête UDP est illustré ci-dessous (8 octets): Le format d'u en-tête TCP est donné ci-dessous (20 octets sans options):

14 Annexe: #include<stdio.h> #include<stdlib.h> #include<sys/socket.h> #include<features.h> #include<linux/if_packet.h> #include<linux/if_ether.h> #include<errno.h> #include<sys/ioctl.h> #include<net/if.h> int CreatePromiscuousSocket(char *name) int sd; struct ifreq ifr; struct sockaddr_ll interfaceaddr; struct packet_mreq mreq; if ((sd = socket(pf_packet,sock_raw,htons(eth_p_all))) < 0) return 1; // clearing the interfaceaddr link layer socket address memset(&interfaceaddr,0,sizeof(interfaceaddr)); // clearing the ifr interface control registers memset(&ifr,0,sizeof(ifr)); // clearing mreq packet control registers memset(&mreq,0,sizeof(mreq)); // preparing the interface name memcpy(&ifr.ifr_name,name,ifnamsiz); // setting the interface name to find the iterface index ioctl(sd,siocgifindex,&ifr); // setting the interface index interfaceaddr.sll_ifindex = ifr.ifr_ifindex; // setting the address family for interface interfaceaddr.sll_family = AF_PACKET; // binding the socket to the identified interface if (bind(sd, (struct sockaddr *)&interfaceaddr,sizeof(interfaceaddr)) < 0) return 2; // preparing the interface index in packet control mreq.mr_ifindex = ifr.ifr_ifindex; // preparing the promiscuous mode for packet sniffing mreq.mr_type = PACKET_MR_PROMISC; // setting the MAC address size mreq.mr_alen = 6; // setting the promiscuous mode to the interface for packet sniffing if (setsockopt(sd,sol_packet,packet_add_membership, (void*)&mreq,(socklen_t)sizeof(mreq)) < 0) return 3; return sd;

15 void PrintPacketInHex(unsigned char *packet, int len, int com) unsigned char *p = packet; int beg,end,num; int ip=0; int udp=0,tcp=0; static int count=0; count++; beg=0;end=0; ip=(*(packet+12)==0x08 && *(packet+13)==0x00); //IP protocol in ETH frame udp= ip && (*(packet+23)==0x11); // UDP protocol in IP packet tcp= ip && (*(packet+23)==0x06); // TCP protocol in IP packet switch (com) case 0: beg=0;end=len;break; // print all packet case 1: beg=0;end=13;break; // print header case 2: beg=0;end=5;break; // print destination address case 3: beg=6;end=11;break; // print source address case 4: beg=14;end=len 14;break; // print data only case 5: if(ip)beg=14;end=33;;break; // print IP header 8 bytes case 6: if(udp)beg=34;end=41;;break; // print UDP header 8 bytes case 7: if(tcp)beg=34;end=53;;break; // print TCP header 20 bytes // Exercise: here you put your modes: // 5 IP header // 6 IP/UDP header // 7 IP/TCP header default: beg=0;end=len; // print all packet printf("\n\n Packet nr %d size %d \n\n",count,len); if(end)num=end beg+1; else num=0; while(num ) printf("%.2x ", *(p+beg)); p++; printf("\n\n Packet ends \n");

16 main(int c,char **a) int sd; unsigned char buf[1500]; struct sockaddr_ll addr; socklen_t addr_len = sizeof(addr); int n; int com; if(getuid()) printf("you must be root (uid=0) to run this program!\n"); exit(0); if(c!=3) printf("usage: s2.sniffall interface_name protocol_to_sniff\n"); printf("0 all packet\n"); printf("1 ETH header\n"); printf("2 ETH dest address\n"); printf("3 ETH source address\n"); printf("4 ETH data\n"); printf("5 IP header\n"); printf("6 UDP header\n"); printf("7 TCP header\n"); exit(1); sd=createpromiscuoussocket(a[1]); // a[1] interface name com = atoi(a[2]); // protocol to sniff while(1) n = recvfrom(sd, buf, 2000, 0, (struct sockaddr*)&addr, &addr_len); if (n <= 0) printf("error reading\n"); else PrintPacketInHex(buf,n,com);

1. Fonctionnement de l Internet 2. Protocoles applicatifs 3. Programmation réseau

1. Fonctionnement de l Internet 2. Protocoles applicatifs 3. Programmation réseau 1. Fonctionnement de l Internet 2. Protocoles applicatifs 3. Programmation réseau Fonctionnement de l Internet Fonctionnement de l Internet Basé sur une architecture TCP/IP du nom des deux principaux protocoles

Plus en détail

Programmation système de commandes en C

Programmation système de commandes en C Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes

Plus en détail

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7 Cahier des charges driver WIFI pour chipset Ralink RT2571W sur hardware ARM7 RevA 13/03/2006 Création du document Sylvain Huet RevB 16/03/2006 Fusion des fonctions ARP et IP. SH Modification des milestones

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Travaux Pratiques Introduction aux réseaux IP

Travaux Pratiques Introduction aux réseaux IP Université de Savoie Initiation aux réseaux IP Travaux Pratiques Introduction aux réseaux IP Sylvain MONTAGNY sylvain.montagny@univ-savoie.fr Bâtiment chablais, bureau 13 04 79 75 86 86 TP1 : Analyse la

Plus en détail

DNS Server RPC Interface buffer overflow. Céline COLLUMEAU Nicolas BODIN

DNS Server RPC Interface buffer overflow. Céline COLLUMEAU Nicolas BODIN Mémoire DNS Server RPC Interface buffer overflow Céline COLLUMEAU Nicolas BODIN 3 janvier 2009 Table des matières 1 Introduction 2 2 Présentation de la faille 3 3 Exemple d exploitation 5 4 Solutions 10

Plus en détail

Couche application. La couche application est la plus élevée du modèle de référence.

Couche application. La couche application est la plus élevée du modèle de référence. Couche application La couche application est la plus élevée du modèle de référence. Elle est la source et la destination finale de toutes les données à transporter. Couche application La couche application

Plus en détail

Applications client/serveur TCP/IP - Sockets Rappels. C.Crochepeyre Applications CS 1

Applications client/serveur TCP/IP - Sockets Rappels. C.Crochepeyre Applications CS 1 Applications client/serveur TCP/IP - Sockets Rappels C.Crochepeyre Applications CS 1 PLAN Modèle client/serveur Modèle ISO et protocole TCP/IP Comment ça marche? La programmation: les sockets Exemples

Plus en détail

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net : Champ Encodé SKWRITTEN() : Champ Variable défini Précédemment & définissant l état des champs à suivre ECT

Plus en détail

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection) II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection) II.2/ Description des couches 1&2 La couche physique s'occupe de la transmission des bits de façon brute sur un canal de

Plus en détail

Présentation du modèle OSI(Open Systems Interconnection)

Présentation du modèle OSI(Open Systems Interconnection) Présentation du modèle OSI(Open Systems Interconnection) Les couches hautes: Responsables du traitement de l'information relative à la gestion des échanges entre systèmes informatiques. Couches basses:

Plus en détail

Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail

Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail Finalités Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail Réalisé par sa modestie Arnaud de VILLEDON de NAIDE, le 9 mars 2013 Document sous licence GPL. Vous avez le droit d'en faire

Plus en détail

ETHEREAL. Introduction. 1. Qu'est-ce qu'ethereal. 1.1. Historique. 1.2. Le statut d'ethereal

ETHEREAL. Introduction. 1. Qu'est-ce qu'ethereal. 1.1. Historique. 1.2. Le statut d'ethereal ETHEREAL Introduction Ethereal fait partie des logiciels les plus utilisés dans le milieu de l'administration d'un réseau physique. En effet cet outil "open source" très pratique, donc sous une license

Plus en détail

OS Réseaux et Programmation Système - C5

OS Réseaux et Programmation Système - C5 OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah rabie.benatitallah@univ-valenciennes.fr RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement

Plus en détail

Exercice sur les Dockers

Exercice sur les Dockers Exercice sur les Dockers Les parties composant les Dockers: 1 docker daemon: est un démon qui gère les dockers (les conteneurs LXC) qui tournent sur la machine hôte 2 docker CLI: une série de commandes

Plus en détail

Introduction. Adresses

Introduction. Adresses Architecture TCP/IP Introduction ITC7-2: Cours IP ESIREM Infotronique Olivier Togni, LE2I (038039)3887 olivier.togni@u-bourgogne.fr 27 février 2008 L Internet est basé sur l architecture TCP/IP du nom

Plus en détail

Communication par sockets

Communication par sockets Rappel : le réseau vu de l!utilisateur (1) Communication par sockets Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia (demande un service)

Plus en détail

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad Outils d'analyse de la sécurité des réseaux HADJALI Anis VESA Vlad Plan Introduction Scanneurs de port Les systèmes de détection d'intrusion (SDI) Les renifleurs (sniffer) Exemples d'utilisation Conclusions

Plus en détail

Protocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1).

Protocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1). Chapitre 5 Protocoles réseaux Durée : 4 Heures Type : Théorique I. Rappel 1. Le bit Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1). 2. L'octet C'est un ensemble de 8 bits.

Plus en détail

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014 École Supérieure d Économie Électronique Chap 9: Composants et systèmes de sécurité 1 Rhouma Rhouma 21 Juillet 2014 2 tagging et port trunk Création des via les commandes sur switch cisco 1 / 48 2 / 48

Plus en détail

L3 informatique Réseaux : Configuration d une interface réseau

L3 informatique Réseaux : Configuration d une interface réseau L3 informatique Réseaux : Configuration d une interface réseau Sovanna Tan Septembre 2009 Révision septembre 2012 1/23 Sovanna Tan Configuration d une interface réseau Plan 1 Introduction aux réseaux 2

Plus en détail

Le prototype de la fonction main()

Le prototype de la fonction main() Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme

Plus en détail

Firewall. Souvent les routeurs incluent une fonction firewall qui permet une première sécurité pour le réseau.

Firewall. Souvent les routeurs incluent une fonction firewall qui permet une première sécurité pour le réseau. Firewall I- Définition Un firewall ou mur pare-feu est un équipement spécialisé dans la sécurité réseau. Il filtre les entrées et sorties d'un nœud réseau. Cet équipement travaille habituellement aux niveaux

Plus en détail

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname Département d'informatique Architecture des réseaux TP2 - Conguration réseau et commandes utiles L'objectif de ce TP est d'une part de vous présenter la conguration réseau d'une machine dans l'environnement

Plus en détail

Introduction à la Programmation Parallèle: MPI

Introduction à la Programmation Parallèle: MPI Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4

Plus en détail

Internet Protocol. «La couche IP du réseau Internet»

Internet Protocol. «La couche IP du réseau Internet» Internet Protocol «La couche IP du réseau Internet» Rôle de la couche IP Emission d un paquet sur le réseau Réception d un paquet depuis le réseau Configuration IP par l administrateur Noyau IP Performance

Plus en détail

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,

Plus en détail

TP 1 : LES COMMANDES RESEAUX Matière: RESEAUX LOCAUX

TP 1 : LES COMMANDES RESEAUX Matière: RESEAUX LOCAUX TP 1 : LES COMMANDES RESEAUX Matière: RESEAUX LOCAUX Enseignant: Ramzi BELLAZREG 1 La commande PING Cette commande permet de vérifier si un hôte est joignable ou non. Cette commande est basée sur le protocole

Plus en détail

DHCP et NAT. Cyril Rabat cyril.rabat@univ-reims.fr. Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 2012-2013

DHCP et NAT. Cyril Rabat cyril.rabat@univ-reims.fr. Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 2012-2013 DHCP et NAT Cyril Rabat cyril.rabat@univ-reims.fr Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 22-23 Cours n 9 Présentation des protocoles BOOTP et DHCP Présentation du NAT Version

Plus en détail

Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases

Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases Master d'informatique 1ère année Réseaux et protocoles Architecture : les bases Bureau S3-203 Mailto : alexis.lechervy@unicaen.fr D'après un cours de Jean Saquet Réseaux physiques LAN : Local Area Network

Plus en détail

Configuration réseau Basique

Configuration réseau Basique Configuration réseau Basique 1. Configuration réseau bas niveau Les outils de configuration réseau bas niveau traditionnels des systèmes GNU/Linux sont les programmes ifconfig et route qui viennent dans

Plus en détail

Chapitre 6 -TP : Support Réseau des Accès Utilisateurs

Chapitre 6 -TP : Support Réseau des Accès Utilisateurs SI 2 BTS Services Informatiques aux Organisations 1 ère année Chapitre 6 -TP : Support Réseau des Accès Utilisateurs Acquisition automatique de configuration par requêtes DHCP Objectifs : Comprendre les

Plus en détail

Systèmes et Réseaux (ASR 2) - Notes de cours Cours 14

Systèmes et Réseaux (ASR 2) - Notes de cours Cours 14 Systèmes et Réseaux (ASR ) - Notes de cours Cours Anne Benoit May, 0 PARTIE : Systèmes PARTIE : Réseaux Architecture des réseaux de communication La couche -liaison La couche -réseau Algorithmes de routage

Plus en détail

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet Chapitre I La couche réseau 1. Couche réseau 1 Historique de l Internet Né 1969 comme projet (D)ARPA (Defense) Advanced Research Projects Agency; US Commutation de paquets Interconnexion des universités

Plus en détail

Communication sous UNIX les sockets

Communication sous UNIX les sockets Communication sous UNIX les sockets Chaput Emmanuel Version 1.04 Résumé Ce but de ce petit document est de décrire la programmation des sockets sous Unix afin d aider le programmeur à développer des applications

Plus en détail

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark Wireshark est un programme informatique libre de droit, qui permet de capturer et d analyser les trames d information qui transitent

Plus en détail

Réseaux IUP2 / 2005 IPv6

Réseaux IUP2 / 2005 IPv6 Réseaux IUP2 / 2005 IPv6 1 IP v6 : Objectifs Résoudre la pénurie d'adresses IP v4 Délai grâce à CIDR et NAT Milliards d'hôtes même avec allocation inefficace des adresses Réduire la taille des tables de

Plus en détail

Internet Le service de noms - DNS

Internet Le service de noms - DNS Internet Le service de noms - DNS P. Bakowski bako@ieee.org Domaines Internet DNS - Domain Name System hostname : nom symbolique adresse IP : un nombre/valeur logique hostname : www.polytech2go.fr IP address

Plus en détail

Téléphonie Cisco. - CME Manager Express = Logiciel dans un routeur, version simplifiée du call manager.

Téléphonie Cisco. - CME Manager Express = Logiciel dans un routeur, version simplifiée du call manager. Téléphonie Cisco I) Généralités Serveur de téléphonie: Call Manager CM et Call Manager Express ( CME ) - CM Call Manager = Logiciel sur un PC externe - CME Manager Express = Logiciel dans un routeur, version

Plus en détail

Année Universitaire 2010-2011 session 1 d automne Parcours : CSB5 Licence 3 STS Informatique

Année Universitaire 2010-2011 session 1 d automne Parcours : CSB5 Licence 3 STS Informatique Année Universitaire 2010-2011 session 1 d automne Parcours : CSB5 Licence 3 STS Informatique UE : INF157 Épreuve : Examen Utilisation des réseaux Date : 13 décembre 2010 Heure : 8h30 Durée : 1h30 Modalités

Plus en détail

Couche Transport TCP et UDP

Couche Transport TCP et UDP Partie 7: Couche Transport TCP et UDP Ahmed Mehaoua - 1 Le Modèle OSI Application Présentation Session Transport Réseau Liaison Physique Application Présentation Session Transport Réseau Liaison Physique

Plus en détail

Réseau - VirtualBox. Sommaire

Réseau - VirtualBox. Sommaire Réseau - VirtualBox 2015 tv - v.1.0 - produit le 10 mars 2015 Sommaire Le réseau virtuel 2 Introduction.............................................. 2 Modes réseaux............................................

Plus en détail

DIFF AVANCÉE. Samy. samy@via.ecp.fr

DIFF AVANCÉE. Samy. samy@via.ecp.fr DIFF AVANCÉE Samy samy@via.ecp.fr I. RETOUR SUR QUELQUES PROTOCOLES COUCHE FONCTIONS Protocoles 7 Application 6 Présentation 5 Session 4 Transport 3 Réseau 2 Liaison 1 Physique Interface entre l utilisateur

Plus en détail

Programmation client-serveur sockets - RPC

Programmation client-serveur sockets - RPC Master Informatique M Plan de la suite Programmation client-serveur sockets - RPC Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/people/krakowia

Plus en détail

Cours 6 : Tubes anonymes et nommés

Cours 6 : Tubes anonymes et nommés Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels

Plus en détail

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Communication inter-processus (IPC) : tubes & sockets exemples en C et en Java F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Java : implémentation

Plus en détail

L annuaire et le Service DNS

L annuaire et le Service DNS L annuaire et le Service DNS Rappel concernant la solution des noms Un nom d hôte est un alias assigné à un ordinateur. Pour l identifier dans un réseau TCP/IP, ce nom peut être différent du nom NETBIOS.

Plus en détail

I>~I.J 4j1.bJ1UlJ ~..;W:i 1U

I>~I.J 4j1.bJ1UlJ ~..;W:i 1U ~I ~~I ~ ~WI~I ~WI ~~'~.M ~ o~wj' js'~' ~ ~JA1ol..;l.:w I>~I.J 4j1.bJ1UlJ ~..;W:i 1U Exercice 1: Le modele TCP/IP est traditionnellement considere comme une pile de 5 couches. Pour chaque couche, expliquer

Plus en détail

Les possibilités de paramétrage réseau des logiciels de virtualisation sont les suivantes quant à la connexion réseau :

Les possibilités de paramétrage réseau des logiciels de virtualisation sont les suivantes quant à la connexion réseau : DHCP TP Le protocole DHCP (Dynamic Host Configuration Protocol) est un standard TCP/IP conçu pour simplifier la gestion de la configuration d'ip hôte. DHCP permet d'utiliser des serveurs pour affecter

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Sécuriser son réseau. Sécuriser son réseau Philippe Weill (IPSL/LATMOS) Frédéric Bongat (SSI/GOUV/FR)

Sécuriser son réseau. Sécuriser son réseau Philippe Weill (IPSL/LATMOS) Frédéric Bongat (SSI/GOUV/FR) Sécuriser son réseau Sécuriser son réseau Philippe Weill (IPSL/LATMOS) Frédéric Bongat (SSI/GOUV/FR) Plan Rappel IP Techniques et outils Réseaux Outils réseaux ( sniffer,scanner ) Translation d adresse

Plus en détail

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM Copyright TECH 2012 Technext - 8, avenue Saint Jean - 06400 CANNES Société - TECHNEXT France - Tel : (+ 33) 6 09 87 62 92 - Fax :

Plus en détail

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables

Plus en détail

DHCPD v3 Installation et configuration

DHCPD v3 Installation et configuration DHCPD v3 Installation et configuration Table des matières 1. Préambule... 2 2. Pré-requis... 2 3. Récupération du paquet... 2 4. Configuration du serveur... 3 4.1. Configuration de la carte réseau du serveur...

Plus en détail

Rappels réseaux TCP/IP

Rappels réseaux TCP/IP Rappels réseaux TCP/IP Premier Maître Jean Baptiste FAVRE DCSIM / SDE / SIC / Audit SSI jean-baptiste.favre@marine.defense.gouv.fr CFI Juin 2005: Firewall (1) 15 mai 2005 Diapositive N 1 /27 Au menu Modèle

Plus en détail

I. Adresse IP et nom DNS

I. Adresse IP et nom DNS Le système GNU/Linux Réseau et configuration IP By ShareVB Table des matières I.Adresse IP et nom DNS...1 II.Nom de la machine locale sous Debian...2 III.Nom de la machine locale sous Fedora...2 IV.Résolution

Plus en détail

Configuration automatique

Configuration automatique Configuration automatique (/home/terre/d01/adp/bcousin/polys/internet:gestion_reseau/6.dhcp.fm- 29 Septembre 1999 12:07) PLAN Introduction Les principes de DHCP Le protocole DHCP Conclusion Bibliographie

Plus en détail

3IS - Système d'exploitation linux - Programmation système

3IS - Système d'exploitation linux - Programmation système 3IS - Système d'exploitation linux - Programmation système 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard picard@ensea.fr Environnement Les programmes peuvent être exécutés dans des

Plus en détail

Protocoles IP (2/2) M. Berthet. Les illustrations sont tirées de l ouvrage de Guy Pujolle, Cours réseaux et Télécom Contributions : S Lohier

Protocoles IP (2/2) M. Berthet. Les illustrations sont tirées de l ouvrage de Guy Pujolle, Cours réseaux et Télécom Contributions : S Lohier Protocoles IP (2/2) M. Berthet. Les illustrations sont tirées de l ouvrage de Guy Pujolle, Cours réseaux et Télécom Contributions : S Lohier Plan 1. ARP 2. DHCP 3. ICMP et ping 4. DNS 5.Paquet IPv4 1.

Plus en détail

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage: Administration d un Intranet Rappel: Le routage dans Internet La décision dans IP du routage: - Table de routage: Adresse destination (partie réseau), netmask, adresse routeur voisin Déterminer un plan

Plus en détail

La qualité de service (QoS)

La qualité de service (QoS) La qualité de service (QoS) Le domaine de prédilection de la QoS est la voix sur IP (VoIP). Afin de nous familiariser avec les principales commandes, nous allons monter l architecture de test suivante

Plus en détail

SECURIDAY 2012 Pro Edition

SECURIDAY 2012 Pro Edition SECURINETS CLUB DE LA SECURITE INFORMATIQUE INSAT SECURIDAY 2012 Pro Edition [Application de notification en cas d incident] Roua TOUIHRI (RT3) Nesrine DRIWECH (RT3) Amira ABID(GL3) Chef Atelier : Aymen

Plus en détail

NOTICE INSTALLATION. ARCHANGE Email Simplex Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE

NOTICE INSTALLATION. ARCHANGE Email Simplex Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE NOTICE INSTALLATION ARCHANGE Email Simplex Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE Date Version Marque de révision Rédaction 31/07/2012 1 - Nicolas AUBLIN 1) PRINCIPE DE FONCTIONNEMENT...

Plus en détail

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN Les Réseaux Privés Virtuels (VPN) 1 Définition d'un VPN Un VPN est un réseau privé qui utilise un réseau publique comme backbone Seuls les utilisateurs ou les groupes qui sont enregistrés dans ce vpn peuvent

Plus en détail

Mr. B. Benaissa. Centre universitaire Nâama LOGO

Mr. B. Benaissa. Centre universitaire Nâama LOGO Mr. B. Benaissa Centre universitaire Nâama Dans ce chapitre, nous allons examiner le rôle de la couche application. Nous découvrirons également comment les applications, les services et les protocoles

Plus en détail

CONVERTISSEUR RS 232/485 NOTICE

CONVERTISSEUR RS 232/485 NOTICE CONVERTISSEUR RS 232/485 068745 068745 NOTICE Ce convertisseur TCP/IP permet de convertir tous équipements à liaison série et de les superviser sur un réseau LAN. Sommaire 1 Description du produit...2

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Plan. Programmation Internet Cours 3. Organismes de standardisation

Plan. Programmation Internet Cours 3. Organismes de standardisation Plan Programmation Internet Cours 3 Kim Nguy ên http://www.lri.fr/~kn 1. Système d exploitation 2. Réseau et Internet 2.1 Principes des réseaux 2.2 TCP/IP 2.3 Adresses, routage, DNS 30 septembre 2013 1

Plus en détail

Introduction à l'analyse réseau Philippe Latu philippe.latu(at)linux-france.org

Introduction à l'analyse réseau Philippe Latu philippe.latu(at)linux-france.org Philippe Latu philippe.latu(at)linux-france.org http://www.linux-france.org/prj/inetdoc/ Historique des versions $Revision: 12 $ $Date: 2004/12/09 16:24:42 $ PL Année universitaire 2004-2005 Table des

Plus en détail

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1 Les Virtual LAN Master 1 STIC-Informatique 1 Les Virtual LAN Introduction Master 1 STIC-Informatique 2 Les Réseaux Locaux Virtuels (VLAN) Avantages des LAN Communication rapide, broadcasts Problèmes des

Plus en détail

Plan. Rappels sur Netflow v1 v8. Netflow v9. Collecteur UTC «IPFlow» Cisco IOS : Implémentation de Netflow IPv6

Plan. Rappels sur Netflow v1 v8. Netflow v9. Collecteur UTC «IPFlow» Cisco IOS : Implémentation de Netflow IPv6 Netflow-IPv6 Plan Qu est-ce qu un flux principes de Netflow Rappels sur Netflow v1 v8 Netflow v9 Collecteur UTC «IPFlow» Cisco IOS : Implémentation de Netflow IPv6 2 Qu est-ce qu un flux principes de Netflow

Plus en détail

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage.

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage. TD réseau - Réseau : interconnexion de réseau Réseau : Interconnexion de réseaux, routage et application de règles de filtrage. Un réseau de grande importance ne peut pas seulement reposer sur du matériel

Plus en détail

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier Cours de C Petits secrets du C & programmation avancée Sébastien Paumier paumier@univ-mlv.fr Illustrations provenant du site http://tux.crystalxp.net/ 1 Affectations étendues a+=expression a=a+expression

Plus en détail

Administration du WG302 en SSH par Magicsam

Administration du WG302 en SSH par Magicsam Administration du WG302 en SSH par Magicsam Le Point d'accès WG302 comprend une interface sécurisée de commande en ligne Telnet. Deux possibilités pour administrer le WG302 en SSH : via le port série situé

Plus en détail

Chapitre 2 Machines virtuelles et services

Chapitre 2 Machines virtuelles et services Chapitre 2 Machines virtuelles et services 1. Introduction Machines virtuelles et services Le Proxmox étant installé, nous allons nous atteler à créer différentes machines virtuelles telles que présentées

Plus en détail

Playing with ptrace() for fun and profit

Playing with ptrace() for fun and profit sous GNU/Linux nicolas.bareil@eads.net EADS Corporate Research Center - DCR/STI/C SSI Lab SSTIC 2006 Il était une fois... Sous UNIX, ptrace() est le seul moyen de debuggage. User-space, Interface rigide

Plus en détail

Internet Group Management Protocol (IGMP) Multicast Listener Discovery ( MLD ) RFC 2710 (MLD version 1) RFC 3810 (MLD version 2)

Internet Group Management Protocol (IGMP) Multicast Listener Discovery ( MLD ) RFC 2710 (MLD version 1) RFC 3810 (MLD version 2) Internet Group Management Protocol (IGMP) Multicast Listener Discovery ( MLD ) RFC 2710 (MLD version 1) RFC 3810 (MLD version 2) multicast applications Site NREN MLD / IGMP IGMP v2 : generality Interaction

Plus en détail

Mise en place d un cluster NLB (v1.12)

Mise en place d un cluster NLB (v1.12) Mise en place d un cluster NLB (v1.12) Tutorial conçu et rédigé par Michel de CREVOISIER Avril 2013 SOURCES Présentation du NLB : http://technet.microsoft.com/en-us/library/bb742455.aspx Installation :

Plus en détail

Réseaux et protocoles Damien Nouvel

Réseaux et protocoles Damien Nouvel Réseaux et protocoles Plan Les couches du réseau Suite de protocoles TCP/IP Protocoles applicatifs pour les sites web Requêtes HTTP 2 / 35 Plan Les couches du réseau Suite de protocoles TCP/IP Protocoles

Plus en détail

Le protocole TCP. Services de TCP

Le protocole TCP. Services de TCP Le protocole TCP TCP (Transmission Control Procedure) est un protocole de transport bout-en-bout (Host-To- Host) Ajoute les fonctions que le réseau ne peut offrir et qui sont demandées par les applications

Plus en détail

Dynamic Host Configuration Protocol

Dynamic Host Configuration Protocol Dynamic Host Configuration Protocol 1 2 problèmes de gestion avec IP La Gestion des adresses IP Les adresses IP doivent être unique Nécessité d une liste d ordinateurs avec leurs adresses IP respectives

Plus en détail

COMMANDES RÉSEAUX TCP/IP WINDOWS. frati@unice.fr

COMMANDES RÉSEAUX TCP/IP WINDOWS. frati@unice.fr COMMANDES RÉSEAUX TCP/IP WINDOWS frati@unice.fr COMMANDES RÉSEAUX TCP/IP WINDOWS Ipconfig Ping Tracert Route Netstat Arp Nslookup Hostname Finger Netmon Telnet / ssh Ftp / scp Net Netsh Nbtstat PING :

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Administration Réseau sous Ubuntu SERVER 12.10 Serveur DHCP

Administration Réseau sous Ubuntu SERVER 12.10 Serveur DHCP Installation d un serveur DHCP (Dynamic Host Configuration Protocol) sous Ubuntu Server 12.10 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières 1. Comment le protocole DHCP alloue

Plus en détail

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition Surveillance de Scripts LUA et de réception d EVENT avec LoriotPro Extended & Broadcast Edition L objectif de ce document est de présenter une solution de surveillance de processus LUA au sein de la solution

Plus en détail

Contrôleur de communications réseau. Guide de configuration rapide DN1657-0606

Contrôleur de communications réseau. Guide de configuration rapide DN1657-0606 K T - N C C Contrôleur de communications réseau Guide de configuration rapide DN1657-0606 Objectif de ce document Ce Guide de configuration rapide s adresse aux installateurs qui sont déjà familiers avec

Plus en détail

TP : STATION BLANI 2000 SIMULATION DU RESEAU INFORMATIQUE

TP : STATION BLANI 2000 SIMULATION DU RESEAU INFORMATIQUE SIN STI2D - Système d'information et Numérique TD TP Cours Synthèse Devoir Evaluation Projet Document ressource TP : STATION BLANI 2000 SIMULATION DU RESEAU INFORMATIQUE 1 MISE EN SITUATION Le plan réseau

Plus en détail

FILTRAGE de PAQUETS NetFilter

FILTRAGE de PAQUETS NetFilter TP RESEAUX MMI Semestre 3 FILTRAGE de PAQUETS NetFilter OBJECTIF : Introduction à Netfilter. Configuration d'un firewall. MATERIELS : (Machines Virtuelles) 1 Serveur Debian avec apache d'installé, 1 Poste

Plus en détail

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free. 2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée)

Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée) Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée) Propriétés Description Intitulé long Formation concernée Matière Présentation Développement d un logiciel de messagerie

Plus en détail

Le Multicast. A Guyancourt le 16-08-2012

Le Multicast. A Guyancourt le 16-08-2012 Le Multicast A Guyancourt le 16-08-2012 Le MULTICAST Définition: On entend par Multicast le fait de communiquer simultanément avec un groupe d ordinateurs identifiés par une adresse spécifique (adresse

Plus en détail

Télécommunications. IPv4. IPv4 classes. IPv4 réseau locaux. IV - IPv4&6, ARP, DHCP, DNS

Télécommunications. IPv4. IPv4 classes. IPv4 réseau locaux. IV - IPv4&6, ARP, DHCP, DNS Télécommunications IV - &6, ARP, DHCP, 1 32 bits => 2 32 adresses => 4'294'967'296 C'était largement suffisant dans les années 80 (Internet n'était constitué que de plusieurs centaines de noeuds) Clairement

Plus en détail

Technique de défense dans un réseau

Technique de défense dans un réseau Technique de défense dans un réseau Projet présenté dans le cadre des Bourses d'excellence ASIQ 2011-2012 Présenté par : Frédérik Paradis fredy_14@live.fr Gregory Eric Sanderson gzou2000@gmail.com Louis-Étienne

Plus en détail

Les ACL Cisco. F. Nolot Master 2 Professionnel STIC-Informatique 1

Les ACL Cisco. F. Nolot Master 2 Professionnel STIC-Informatique 1 Les ACL Cisco Master 2 Professionnel STIC-Informatique 1 Les ACL Cisco Présentation Master 2 Professionnel STIC-Informatique 2 Les ACL Cisco? Les ACL (Access Control Lists) permettent de filtrer des packets

Plus en détail

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F) NanoSense 123 rue de Bellevue, 92100 Boulogne Billancourt France Tél : 33-(0) 1 41 41 00 02, fax : 33-(0) 1 41 41 06 72 Protocole Modbus de la sonde Particules P4000 (Version 01F) Ver V01A V01B V01C V01D

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

DHCP. Dynamic Host Configuration Protocol

DHCP. Dynamic Host Configuration Protocol DHCP Dynamic Host Configuration Protocol DHCP : Dynamic Host Configuration Protocol Permet la configuration des paramètres IP d une machine: adresse IP masque de sous-réseau l adresse de la passerelle

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail