Progetto fine al superamento del corso di Sistemi Operativi. Http server proxy Http web monitor

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Progetto fine al superamento del corso di Sistemi Operativi. Http server proxy Http web monitor"

Transcript

1 Progetto fine al superamento del corso di Sistemi Operativi Http server proxy Http web monitor Sviluppato da: Santoro Carlo Maurizio Sviluppo terminato in Luglio/2006

2 Obiettivo: Progettare ed implementare in ambiente UNIX/ Linux, utilizzando il linguaggio C e le primitive POSIX, un proxy server che monitori il traffico generato dai browser che lo usano. Il web monitor e' un server che ascolta su una porta le richieste dai client (web browser). Alla ricezione della richiesta da parte del client, il monitor crea un altra connessione all attuale web server di destinazione e trasmette la richiesta del client. Il monitor inoltra la risposta del web server indietro al client. Il monitor dovrebbe anche fornire un opzione per il salvataggio di tutto il traffico su di un file. Nello specifico: PARTE 1 Scrivere un web monitor che prende tre argomenti: un numero di porta p, un nome di web server di destinazione e un flag verbose. Il monitor ascolta su una porta p una richiesta di connessione. Stabilita una connessione, il monitor realizza una connessione alla porta 80 del web server di destinazione. Il monitor inoltra tutti i messaggi ricevuti dal client al web server di destinazione (passato come argomento al monitor) e viceversa. Se o il client o il web server chiude una connessione, il monitor chiude la sua connessione sia al client che al server, scrivendo le informazioni di stato sullo standard error indicando il nome del client, l URL di destinazione, il numero di byte scritti ed il tempo impiegato dal momento in cui il monitor ha ricevuto la prima informazione dal client a quando la connessione è stata chiusa. Se il flag di verbose è ad 1, il monitor dovrebbe copiare tutto il traffico tra il client ed il web server su di un file. Testare il programma per accedere il monitor realizzato attraverso il proprio web browser. Supponendo di voler testare il proprio programma tramite ed il proprio numero di porta e' pari a 10355, si puo' eseguire il programma di monitor sulla macchina X come monitor informatica.uniparthenope.it 0 e nel proprio web browser eseguire lo stesso monitor tramite l URL con: Part II Modificare il monitor realizzato nella Parte I in modo che operi come un proxy e usi la redirezione HTTP per realizzare la connessione tra il client ed il server di destinazione. Non e' piu' necessario passare il web server di destinazione come argomento al monitor, ma e' necessario effettuare il parsing dell HTTP derivante dal client. Se il primo token non e' GET, chiudere tutte le connessioni e trattare la connessione come un errore. Dovrete estrarre l'indirizzo di web server della destinazione dall URL e scartare gli header proxy. Spiegare come la richiesta del cliente ad un proxy sia differente da una richiesta client ad un web server.

3 SPECIFICHE DI PROGETTO Descrizione generale: Un proxy è un programma che si interpone tra un client ed un server, inoltrando le richieste e le risposte dall'uno all'altro. Il client si collega al proxy invece che al server, e gli invia delle richieste. Il proxy a sua volta si collega al server e inoltra la richiesta del client, riceve la risposta e la inoltra al client. Un caso in cui viene spesso usato un proxy è la navigazione web (denominato proxy HTTP dal nome del protocollo usato). Per utilizzare un proxy è possibile configurare il client in modo che si colleghi al proxy invece che al server, in questo caso le connessioni HTTP vengono automaticamente indirizzate al proxy. Un proxy può essere usato per una o più delle seguenti ragioni: connettività: per permettere ad una rete privata di accedere all'esterno è possibile configurare un computer in modo che faccia da proxy tra gli altri computer e Internet, in modo da mantenere un unico computer connesso all'esterno, ma permettere a tutti di accedere. In questa situazione, solitamente il proxy viene usato anche come firewall. monitoraggio: un proxy può permettere di tenere traccia di tutte le operazioni effettuate (ad esempio, tutte le pagine web visitate), consentendo statistiche ed osservazioni dell'utilizzo della rete che possono anche violare la privacy degli utenti. controllo: un proxy può applicare regole definite dall'amministratore di sistema per determinare quali richieste inoltrare e quali rifiutare, oppure limitare l'ampiezza di banda utilizzata dai client, oppure filtrare le pagine Web in transito, ad esempio bloccando quelle il cui contenuto è ritenuto offensivo in base a determinate regole. privacy un proxy può garantire un maggiore livello di privacy mascherando il vero IP del client in modo che il server non venga a conoscenza di chi ha effettuato la richiesta. Nome del progetto Secondo il tipico stile GNU ho scelto un acronimo ricorsivo che indica la funzionalità dello stesso programma: Gisp G I S P I S I R S M O P P X L E Y Dato che è stato sviluppato tramite e per un sistema GNU\Linux. Lo stesso sorgente è stato compilato su varie distribuzioni GNU\Linux ed è risultato funzionante. Il programma accetta connessioni da ogni tipo di browser che effettui chiamate compatibili con lo standard : E risultato funzionante con Firefox, MS Internet Explorer e Netscape

4 Funzionamento del Main : Il server attende connessione da browser che inviano una richiesta di una pagina, il proxy deve rinviare le richieste al reale web-server. Il programma principale crea un socket principale atto ad attendere connessioni che resta sempre attivo per tutta la durata del programma. Dopo aver accettato la connessione si crea un processo figlio che ha al suo interno una procedura di gestione proxy o webmonitor e quando la transazione è terminata il processo figlio muore. Il tutto Segue il seguente schema: Procedura che serve le richieste La procedura riceve in input dal padre il FD del Socket_Client ed in caso di WebMonitor anche l indirizzo dove collegarsi. Crea il Socket Server che si connetterà al Web Server di riferimento e farà scambiare dati ai sue socket secondo il seguente metodo: Controllo dei File Descriptor Dato che si hanno piu' canali di comunicazione (server,client)aperti c'è il problema di controllarli contemporaneamente; Può succedere di rimanere bloccati in una operazione su un descrittore di socket non pronto mentre ce ne potrebbe essere un'altro disponibile, ritardando l'accesso a quest'ultimo e con il rischio di incorrere in un deadlock (se l'accesso al descrittore in attesa può essere sbloccato solo da qualcosa in arrivo su quello disponibile). POLLING Una soluzione abbastanza semplice sarebbe quella di rendere l'accesso ai socket non bloccante in modo che le relative funzioni ritornino subito (con errore EAGAIN) e prevedere un meccanismo ciclico di interrogazione di tutti i flussi dati verso il nostro processo. Questa soluzione, usa in modo molto inefficiente le risorse del sistema in quanto la maggior parte del tempo macchina è perso ad interrogare flussi che non hanno dati. I/O multiplexing Molto migliore è questa soluzione con la quale si controllano vari flussi contemporaneamente, permettendo di bloccare un processo quando le operazioni volute non sono possibili, e di riprenderne l'esecuzione una volta che almeno una sia disponibile. Il tutto viene realizzato con l'uso della funzione select() che ritorna il numero di file descriptor, che sono attivi, oppure -1 se c'è errore,.

5 Differenza trà WebMonitor e Proxy La fondamentale differenza è nel server dove il programma si deve collegare: WebMonitor Il WebMonitor è connesso ad un solo sito per tutta la sua durata e l indirizzo è passato come parametro Argv all atto di chiamata del programma. Proxy In questo caso non si hanno informazioni sul server di destinazione ed è necessario effettuare il parsing della richiesta HTTP che è nella forma : GET /wiki/pagina_principale HTTP/1.1 Connection: Keep-Alive User-Agent: Mozilla/5.0 (compatible; Konqueror/3.2; Linux) (KHTML, like Gecko) Accept: text/html, image/jpeg, image/png, text/*, image/*, */* Accept-Encoding: x-gzip, x-deflate, gzip, deflate, identity Accept-Charset: iso , utf-8;q=0.5, *;q=0.5 Accept-Language: en Host: it.wikipedia.org:eventuale_prota È necessario individuare ed estrarre il nome host effettuando il parsing, quando è stato trovato l indirizzo la procedura si comporta come nel caso del WebMonitor

6 MAN GISP NAME gisp proxy server and web monitor SYNOPSIS gisp [ mode] [ flag verbouse] [ port ] [address ] DESCRIPTION gisp is a low-performance proxy no caching server for web clients, no supporting FTP, gopher, and HTTPS data objects. gisp consists of a main server program that listen and serve all request, when gisp starts up, it go in listen mode, until a client make a request For details on how to configure gisp and for updates see the FAQ and the documentation at the gisp home page OPTIONS - mode You can chose between webmonitor or proxy - verbouse Enable logging to file, 1 for activate, 0 for not. - port Specify HTTP port number (range : [ ]). - address If You chose webmonitor, you must indicate the address of webserver FILES LogGispRicheste The main log file. Il the flag verbouse is on 0, it will not create. DIAGNOSTICS BUGS Normally, exit status is 0. But the exit status is 2 if an error occurred. bug reports to alanturing2@hotmail.com. Be sure to include the word "gisp" somewhere in the "Subject:" field.

7 MANUALE UTENTE Avviare il programma come Proxy Dopo aver compilato il programma con gcc gisp.c o gisp Per lanciarlo sulla porta 8080 tipica dei server proxy eseguire :./gisp proxy Terminarlo chiudendo la shell oppure con CTRL+C Avviare il programma come WebMonitor Dopo aver compilato il programma con gcc gisp.c o gisp Per lanciarlo sulla porta 8080 tipica dei server proxy e sul sito eseguire :./gisp webmonitor Terminarlo chiudendo la shell oppure con CTRL+C Con queste modalità si otterrà un file con i log, per non salvarli sostituire 1 con 0 Primo caso :./gisp proxy Secondo caso :./gisp webmonitor Impostare il client (Web Browser) Su ogni client che si collega a gisp deve essere impostato il proxy con l indirizzo IP dove è stato lanciato e la porta scelta. Per il webmonitor basta inserire come url per ottenera la pagina scelta

8 PROCEDURE AUSILIARIE E VARIABILI GLOBALI #include <arpa/inet.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <unistd.h> #include <fcntl.h> #include <wait.h> #include <netdb.h> #include <errno.h> #include <ctype.h> #include <signal.h> #include <sys/types.h> #include <sys/file.h> #include <sys/ioctl.h> //VARIABILI GLOBALI int proxy=0; //Indica se il programma e' stato aperto come Proxy int webmonitor=0; //Indica se il programma e' stato aperto come Web Monitor int verbouse=0; //Indica se e' stato attivato il flag di log int porta=0; //Porta locale del server scelta dall'utente //Intercetta il segnale di fine processo figlio void elimina_zombie(int sig) {//Identifica gli zombie e li termina while(waitpid(wait_any, NULL, WNOHANG) > 0) ; return;} //Visualizza il messaggio di errore se si passano parametri errati void erroreinput(void) { printf("errore : Sintassi errata\n"); printf("uso: gisp proxy [FlagVerbouse] [porta] \n"); printf("oppure: gisp webmonitor [FlagVerbouse] [porta] [indirizzo] \n"); return; } //Restituisce l'ip nella struttura in_addr da un nomehost struct in_addr * ricava_ip_da_host(char * host) { struct hostent * a; struct in_addr add; } if(inet_aton(host,&add)) a=gethostbyaddr((char *)&add,sizeof(add),af_inet); else a=gethostbyname(host); return (struct in_addr *)a->h_addr_list[0];

9 PROCEDURA CHE SERVE UN CLIENT (1) void proxy_server(int client_socket,char *url_server) { int server_socket; //Socket server fd_set select_cli_serv; //insieme che contiene fdserver e fdclient struct timeval time_out; //Struttura contenente il time_out della select int log_richieste; //File contenente le richieste char buffer[2048]; //Buffer di R-W int size_buffer; //Size del buffer char porta_remota[10]="80"; //Porta del server web struct sockaddr_in address_c; //Struttura che contiene info sul server web //Variabili per il parsing nel proxy char *punt_inizio; //Punta all'inizio della stringa char *punt_fine; //Punta alla fine della stringa char *punt_duepunti; //Punta agli eventuali : nella richiesta char host_parsing[32]={"\0"}; //Contiene l'host dopo il parsing char nome_host[64]; //nome host provvisorio prima del controllo dei : if (verbouse){ if((log_richieste=open("loggisprichieste",o_append O_CREAT O_WRONLY,0644))<0){ printf("errore di apertura file"); exit(1);}} memset(buffer,'\0',sizeof(buffer)); //Azzera il buffer if (proxy){ memset(nome_host,'\0',sizeof(nome_host)); //Azzera la var. che conterra' l indi. dove collegarsi //Legge la prima richiesta del client in buffer if((size_buffer = read(client_socket,buffer,sizeof(buffer))) <= 0) exit(1); //Parsing richiesta FORMATO : " GET [indirizzo] \t\n\r " //Se non e' GET esce e stampa l'errore if (((buffer[0]!='g')&(buffer[1]!='e'))&(buffer[2]!='t')) { exit(0);} //Parsing richiesta HOST FORMATO : " HOST [indrizzo_host] \t\n\r " punt_inizio=strstr(buffer,"host: ");//Trova la prima occorrenza di HOST nella richiesta punt_inizio=punt_inizio+6; //Si sposta al nome_host di 4 lettere : HOST [nome_host] punt_fine=strpbrk(punt_inizio,"\t\n\r"); //punt_fine punta alla fine del nome_host //Copia il nome host contenuto in punt_inizio in nome_host memcpy(nome_host,punt_inizio,(int)(punt_fine-punt_inizio)); //Dopo HOST puo' essere nel formato "HOST [nome_host]:[porta_remota]" //Se nel nome_host non ci sono : il risultato e' lo stesso nome_host punt_duepunti=strchr(nome_host,':'); //Cerca la prima occorrenza di : if(!(punt_duepunti)) strcpy(host_parsing,nome_host); else{ memcpy(host_parsing,nome_host,(int)(punt_duepunti-nome_host)); //Copia fino al : host_parsing[(int)(punt_duepunti-nome_host)+1]='\0'; //Imposta il terminatore di stringa strcpy(porta_remota,(punt_duepunti+1));} //Dopo i : e' contenuta la porta remota (80) }//FINE parsing address_c.sin_family=af_inet; address_c.sin_port=htons(atoi(porta_remota)); if (proxy){ //host_parsing e' l'indirizzo ricavato dalla richiesta memcpy(&address_c.sin_addr,ricava_ip_da_host(host_parsing),sizeof(address_c.sin_addr));} if (webmonitor){ //Url_server viene passato alla funzione con argv[4] memcpy(&address_c.sin_addr,ricava_ip_da_host(url_server),sizeof(address_c.sin_addr));} //Crea il socket verso il webserver if((server_socket = socket(af_inet,sock_stream,0)) < 0){ printf("\nerrore: creazione socket\n"); exit(1);} //Connette il socket al webserver di indirizzo address_c if( connect(server_socket,(struct sockaddr *) &address_c, sizeof(address_c))<0){ printf("\nerrore: connessione\n"); exit(1);} //inoltra la prima richiesta del client al webserver if(webmonitor){ if((size_buffer = read(client_socket,buffer,sizeof(buffer))) <= 0) exit(1);} write(server_socket,buffer,size_buffer); //Log della prima richiesta if (verbouse){ write(log_richieste,buffer,size_buffer); //File di log close(log_richieste);}

10 } PROCEDURA CHE SERVE UN CLIENT (2) FD_ZERO(&select_cli_serv); //Inizializza l'insieme select_cli_serv FD_SET(client_socket,&select_cli_serv); //Aggiunge il client all'insieme select_cli_serv FD_SET(server_socket,&select_cli_serv); //Aggiunge il server all'insieme select_cli_serv while(1){ int conto=0; //Controlla se in un ciclo e' stata effettuata almeno una R o W time_out.tv_sec = 1; //secondi di attesa time_out.tv_usec = 0; //microsecondi di attesa //Imposta la select su select_cli_serv e il timeout if(select(fd_setsize,&select_cli_serv,null,null,&time_out) < 0){ printf("\nerrore : Select\n"); exit(1);} //Se Il client ha mandato dati li legge e li scrive al server if(fd_isset(client_socket,&select_cli_serv)){ if((size_buffer = read(client_socket,buffer,sizeof(buffer))) <= 0) exit(0); write(server_socket,buffer,size_buffer);} else conto=1; //Memorizza che non e' stato letto niente dal client //Se Il server ha mandato dati li legge e li scrive al client if(fd_isset(server_socket,&select_cli_serv)){ if((size_buffer = read(server_socket,buffer,sizeof(buffer))) <= 0) exit(0); write(client_socket,buffer,size_buffer);} else conto=conto+1;//memorizza che non e' stato letto niente dal server if (conto==2) exit(1);//termina se non ha letto niente dal client e dal server }//end while(1) //Chiude tutti i FD close(server_socket); //Server close(client_socket); //Client if (verbouse) close(log_richieste); //File di log

11 int main(int argc,char ** argv) { struct sockaddr_in Ind_Loc; //Indirizzo locale struct sockaddr_in Ind_Rem; //Indirizzo remoto int socket_primario; //Socket che resta sempre in attesa di connessioni int client_sock; //Socket dei client che richedono connessioni int riutilizza=1; //Imposta le opzioni di riutilizzo per il socket primario unsigned int SizeIndRem; //Unsigned Per non avere il warning nella accept pid_t chpid; //PID del figlio signal(sigchld, elimina_zombie); //CONTROLLO SULL'INPUT //Numero Parametri if((argc<4) (argc >5)){printf("Numero parametri errati!\n");erroreinput(); exit(0);} //Primo parametro PROXY o WEBMONITOR if(strcmp(argv[1],"proxy")==0) proxy=1; else if(strcmp(argv[1],"webmonitor")==0) webmonitor=1; else {printf("scegli la tipologia corretta!\n");erroreinput(); exit(0);} //Secondo parametro flag verbouse LogGispRichieste if(strcmp(argv[2],"1")==0) verbouse=1; else if(strcmp(argv[2],"0")==0) verbouse=0; else {printf("scegli correttamente il flag verbouse!\n");erroreinput(); exit(0);} //Terzo parametro porta range [ ] porta=atoi(argv[3]); if((porta<1) (porta >65534)){printf("Range porta errato [ ]!\n");erroreinput(); exit(0);} //OUTPUT degli input passati come parametri printf("\nattivato CORRETTAMENTE COME : "); if (webmonitor) printf("webmonitor sull'indirizzo %s \n",argv[4]); if (proxy) printf("proxy\n"); if (verbouse) printf("i log verranno salvati nel file LogGispRichieste \n"); if (!(verbouse)) printf("i log non verranno salvati \n"); printf("in ascolto sulla porta %d \n",porta); //Imposta i dati del server sul quale e' stato lanciato il proxy Ind_Loc.sin_family=AF_INET; Ind_Loc.sin_port=htons(porta); //La porta e' data in input memset(&ind_loc.sin_addr,0,sizeof(ind_loc.sin_addr)); //Crea il socket primario che attende le connessioni dai figli if((socket_primario=socket(af_inet,sock_stream,0))<0){ printf("socket error\n"); exit(1); } //imposta le opzioni generiche per il socket_primario //SOL_SOCKET permette di operare su un socket di tipo generico //SO_REUSEADDR permette di riutilizzare l'indirizzo //L'opzione e' impostata ad : i=1 setsockopt(socket_primario,sol_socket,so_reuseaddr,&riutilizza,sizeof(riutilizza)); //BIND con l'indirizzo locale if(bind(socket_primario,(struct sockaddr *)&Ind_Loc,sizeof(Ind_Loc))){ printf("errore in bind\n"); exit(1); } //LISTEN attende la connessione del primo client //Pone il server primario in attesa passiva con una coda massima di 5 client if(listen(socket_primario,5)){ printf("errore in listen\n"); exit(1); } SizeIndRem=sizeof(Ind_Rem); //Ciclo che accetta le connessioni while(1) { //ACCEPT Il client viene memorizzato su client_sock //client_sock : contiene il FD del client connesso client_sock=accept(socket_primario,(struct sockaddr *)&Ind_Rem,&SizeIndRem); if(client_sock<0 ) //Controllo errore { printf("errore : in accept \n"); exit(1); } //FORK if(!(chpid=fork())){ //CODICE DEL FIGLIO close(socket_primario); //Chiude il socket del padre proxy_server(client_sock,argv[4]); //Avvia il proxy exit(1); //Termina il figlio } close(client_sock); //chiude la connessione con il client che e' stato gia' servito } return 0; }

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale

Dettagli

Firewall, Proxy e VPN. L' accesso sicuro da e verso Internet

Firewall, Proxy e VPN. L' accesso sicuro da e verso Internet L' accesso sicuro da e verso Internet L' accesso ad Internet è ormai una necessità quotidiana per la maggior parte delle imprese. Per garantire la miglior sicurezza mettiamo in opera Firewall sul traffico

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix-

Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix- Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix- 1 Sommario Esercizi sulla gestione dei processi Creazione di un nuovo processo: fork Sincronizzazione tra processi: wait 2 -

Dettagli

I/O su Socket TCP: read()

I/O su Socket TCP: read() I/O su Socket TCP: read() I socket TCP, una volta che la connessione TCP sia stata instaurata, sono accedibili come se fossero dei file, mediante un descrittore di file (un intero) ottenuto tramite una

Dettagli

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/2014. 1.1 Lato client

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/2014. 1.1 Lato client RETI INFORMATICHE - SPECIFICHE DI PROGETTO A.A. 2013/2014 1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/2014 Il progetto consiste nello sviluppo di un

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 9- -Thread-

Lab. di Sistemi Operativi - Esercitazione n 9- -Thread- Lab. di Sistemi Operativi - Esercitazione n 9- -Thread- 1 Sommario Esercizi su: Comunicazione tra processi: la funzione pipe() Condivisione dati e codice tra due o più processi: concetto di Thread 2 -

Dettagli

Il client deve stampare tutti gli eventuali errori che si possono verificare durante l esecuzione.

Il client deve stampare tutti gli eventuali errori che si possono verificare durante l esecuzione. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2010/2011 Il progetto consiste nello sviluppo di un applicazione client/server. Sia il server che il client dovranno

Dettagli

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ&

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ& (VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ& 3ULPRHVHUFL]LR6RFNHWVWUHDPFRQULGLUH]LRQH Si progetti un applicazione distribuita Client/Server per una rete di workstation UNIX (BSD oppure System V). In particolare,

Dettagli

Socket TCP. seconda parte

Socket TCP. seconda parte Socket TCP seconda parte Schema della connessione Computer 1 127.43.18.1 indirizzo I1 indirizzo I2 Computer 2 143.225.5.3 porta 45000 socket porta 5200 socket processo client processo server socket(...)

Dettagli

Socket TCP. prima parte

Socket TCP. prima parte Socket TCP prima parte Cosa cambia: socket int fd = socket(pf_inet, SOCK_STREAM, 0); if (fd

Dettagli

I Socket. Laboratorio Software 2008-2009 M. Grotto R. Farina

I Socket. Laboratorio Software 2008-2009 M. Grotto R. Farina M. Grotto R. Farina Sommario 1. Applicazioni Distribuite 2. I Socket Introduzione Interfacce e protocolli Descrizione Stile di comunicazione Namespace e protocollo Include e system call Creazione e chiusura

Dettagli

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine. ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Una prima applicazione in C per l utilizzo delle socket

Una prima applicazione in C per l utilizzo delle socket Una prima applicazione in C per l utilizzo delle socket Richiamo sulle socket Socket in Windows (WinSock) Differenze tra sistemi operativi D. Gendarmi Socket API API: Application Programming Interface

Dettagli

Lezione 1 Introduzione

Lezione 1 Introduzione Lezione 1 Introduzione Ingegneria dei Processi Aziendali Modulo 1 Servizi Web Unità didattica 1 Protocolli Web Ernesto Damiani Università di Milano I Servizi Web Un Servizio Web è un implementazione software

Dettagli

Scuola Superiore Sant Anna. Progetto parte Unix. AA 2008-2009: Distributed File Repository

Scuola Superiore Sant Anna. Progetto parte Unix. AA 2008-2009: Distributed File Repository Scuola Superiore Sant Anna Progetto parte Unix AA 2008-2009: Distributed File Repository Distributed File Repository Descrizione del sistema da realizzare Progettare e implementare un server che mantiene

Dettagli

AXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema

AXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema AXO Architetture dei Calcolatori e Sistema Operativo programmazione di sistema Il sistema operativo Il Sistema Operativo è un insieme di programmi (moduli software) che svolgono funzioni di servizio nel

Dettagli

Esercitazione. Formato di compitini e compiti: domande ed esercizi "closed book" G. Ferrari - Reti di calcolatori.

Esercitazione. Formato di compitini e compiti: domande ed esercizi closed book G. Ferrari - Reti di calcolatori. Esercitazione Formato di compitini e compiti: domande ed esercizi "closed book" Esercitazione - 1 Domanda 1 In una comunicazione di rete tra due host, quale è il client e quale è il server. Necessario:

Dettagli

Client - Server. Client Web: il BROWSER

Client - Server. Client Web: il BROWSER Client - Server Client Web: il BROWSER Il client Web è un applicazione software che svolge il ruolo di interfaccia fra l utente ed il WWW, mascherando la complessità di Internet. Funzioni principali Inviare

Dettagli

COMUNICAZIONE TRA PROCESSI REMOTI IN UNIX

COMUNICAZIONE TRA PROCESSI REMOTI IN UNIX A cura del prof. Gino Tombolini 1 COMUNICAZIONE TRA PROCESSI REMOTI IN UNIX Il sistema UNIX TCP/IP fornisce un meccanismo di comunicazione tra processi residenti su nodi distinti di una rete, compatibili

Dettagli

HTTP adaptation layer per generico protocollo di scambio dati

HTTP adaptation layer per generico protocollo di scambio dati HTTP adaptation layer per generico protocollo di scambio dati Sandro Cavalieri Foschini 101786 Emanuele Richiardone 101790 Programmazione in Ambienti Distribuiti I - 01FQT prof. Antonio Lioy A.A. 2002-2003

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

Funzioni. Il modello console. Interfaccia in modalità console

Funzioni. Il modello console. Interfaccia in modalità console Funzioni Interfaccia con il sistema operativo Argomenti sulla linea di comando Parametri argc e argv Valore di ritorno del programma La funzione exit Esercizio Calcolatrice 2, presente in tutti i programmi

Dettagli

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

Dettagli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

Dettagli

rsystem Maximiliano Marchesi maximiliano.marchesi@studenti.unipr.it

rsystem Maximiliano Marchesi maximiliano.marchesi@studenti.unipr.it Maximiliano Marchesi 28 Settembre 2005 Diario delle Revisioni Revisione 1.2 28 Settembre 2005 maximiliano.marchesi@studenti.unipr.it Sommario Introduzione..................................................................................

Dettagli

Esempio 1: stampa locale di file remoto

Esempio 1: stampa locale di file remoto Alcuni esempi di uso di Socket Esempio 1: stampa locale di file remoto Visualizzazione locale del contenuto di un file remoto. Il client deve richiedere la creazione della connessione e successivamente

Dettagli

Architetture Web Protocolli di Comunicazione

Architetture Web Protocolli di Comunicazione Architetture Web Protocolli di Comunicazione Alessandro Martinelli alessandro.martinelli@unipv.it 10 Maggio 2011 Architetture Web Architetture Web Protocolli di Comunicazione Il Client Side Il Server Side

Dettagli

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. ESERCIZIARIO Risposte ai quesiti: 10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. 10.2. Un numero intero in Java è compreso nell'intervallo ( 2 31 ) e (2 31

Dettagli

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Dettagli

Invio SMS. DM Board ICS Invio SMS

Invio SMS. DM Board ICS Invio SMS Invio SMS In questo programma proveremo ad inviare un SMS ad ogni pressione di uno dei 2 tasti della DM Board ICS. Per prima cosa creiamo un nuovo progetto premendo sul pulsante (Create new project): dove

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Reti di Telecomunicazione Lezione 7

Reti di Telecomunicazione Lezione 7 Reti di Telecomunicazione Lezione 7 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Il protocollo Programma della lezione file transfer protocol descrizione architetturale descrizione

Dettagli

Altri tipi di connessione

Altri tipi di connessione Altri tipi di connessione Francesca Martelli f.martel@di.unipi.it Socket Un socket è una connessione a una porta su un computer remoto, che è usata per scambiare informazioni con comandi HTTP Supponiamo

Dettagli

Guida di Pro PC Secure

Guida di Pro PC Secure 1) SOMMARIO 2) ISTRUZIONI DI BASE 3) CONFIGURAZIONE 4) INFORMAZIONI AGGIUNTIVE 1) SOMMARIO Guida di Pro PC Secure Pro PC Secure è un programma che si occupa della protezione dagli attacchi provenienti

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 200, ore 1.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall Firewall e NAT A.A. 2005/2006 Walter Cerroni Protezione di host: personal firewall Un firewall è un filtro software che serve a proteggersi da accessi indesiderati provenienti dall esterno della rete Può

Dettagli

Socket. Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server.

Socket. Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale architettura consente ai sistemi di condividere risorse e cooperare per il raggiungimento

Dettagli

Avvio di Internet ed esplorazione di pagine Web.

Avvio di Internet ed esplorazione di pagine Web. Incontro 1: Corso di aggiornamento sull uso di internet Avvio di Internet ed esplorazione di pagine Web. Istituto Alberghiero De Filippi Via Brambilla 15, 21100 Varese www.istitutodefilippi.it Tel: 0332-286367

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Installazione di GFI WebMonitor

Installazione di GFI WebMonitor Installazione di GFI WebMonitor Requisiti di sistema di GFI WebMonitor Server Microsoft Windows 2000 (SP 3) o 2003. Microsoft ISA 2000 Server (non in modalità solo firewall) OPPURE Server Microsoft ISA

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Creare connessioni cifrate con stunnel

Creare connessioni cifrate con stunnel ICT Security n. 24, Giugno 2004 p. 1 di 5 Creare connessioni cifrate con stunnel Capita, e purtroppo anche frequentemente, di dover offrire servizi molto insicuri, utilizzando ad esempio protocolli che

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C

Dettagli

ESERCIZI DI PROGRAMMAZIONE C IN AMBIENTE UNIX

ESERCIZI DI PROGRAMMAZIONE C IN AMBIENTE UNIX ESERCIZI DI PROGRAMMAZIONE C IN AMBIENTE UNIX Introduzione In questa dispensa sono stati raccolti alcuni esercizi di programmazione C in ambiente Unix, tratti dagli esami di Sistemi Operativi svoltisi

Dettagli

Attivazione della connessione PPTP ADSL

Attivazione della connessione PPTP ADSL Attivazione della connessione PPTP ADSL MC-link HELP DESK ADSL Tel. 06 41892434 INSTALLAZIONE DEL MODEM ADSL Prima di tutto bisogna controllare che sia disponibile tutto quello che serve per eseguire l'installazione.

Dettagli

Le caselle di Posta Certificata attivate da Aruba Pec Spa hanno le seguenti caratteristiche:

Le caselle di Posta Certificata attivate da Aruba Pec Spa hanno le seguenti caratteristiche: 1 di 6 05/01/2011 10.51 Supporto Tecnico Quali sono le caratteristiche di una casella di posta certificata? Come ricevere e consultare messaggi indirizzati alle caselle di posta certificata? Come posso

Dettagli

Laboratorio di Reti Esercitazione N 2-DNS Gruppo 9. Laboratorio di Reti Relazione N 2. Mattia Vettorato Alberto Mesin

Laboratorio di Reti Esercitazione N 2-DNS Gruppo 9. Laboratorio di Reti Relazione N 2. Mattia Vettorato Alberto Mesin Laboratorio di Reti Relazione N 2 Gruppo N 9 Mattia Vettorato Alberto Mesin Scopo dell'esercitazione Configurare un Name Server per un dominio, in particolare il nostro dominio sarà gruppo9.labreti.it.

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 22 Martedì 7-1-2014 1 System Call per l'uso dei segnali Un processo che

Dettagli

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+... Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad

Dettagli

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,

Dettagli

MANUALE UTENTE Fiscali Free

MANUALE UTENTE Fiscali Free MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Approfondimento di Marco Mulas

Approfondimento di Marco Mulas Approfondimento di Marco Mulas Affidabilità: TCP o UDP Throughput: banda a disposizione Temporizzazione: realtime o piccoli ritardi Sicurezza Riservatezza dei dati Integrità dei dati Autenticazione di

Dettagli

Esercizio 1. Esercizio 1

Esercizio 1. Esercizio 1 Esercizio 1 Un registratore di cassa registra su di un file binario alcuni dati relativi agli scontrini emessi. In particolare, tramite una struttura dati di nome scontrino, il registratore di cassa tiene

Dettagli

Esercitazione [6] Client/Server con Socket

Esercitazione [6] Client/Server con Socket Esercitazione [6] Client/Server con Socket Leonardo Aniello - aniello@dis.uniroma1.it Daniele Cono D'Elia - delia@dis.uniroma1.it Sistemi di Calcolo - Secondo modulo (SC2) Programmazione dei Sistemi di

Dettagli

Cookie Policy per www.lalocandadisettala.com

Cookie Policy per www.lalocandadisettala.com Policy per www.lalocandadisettala.com Uso dei cookie Il "Sito" (www.lalocandadisettala.com) utilizza i per rendere i propri servizi semplici e efficienti per l utenza che visiona le pagine di www.lalocandadisettala.com.

Dettagli

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati. 2010 Ing. Punzenberger COPA-DATA Srl Tutti i diritti riservati. Tutti i diritti riservati la distribuzione e la copia - indifferentemente dal metodo - può essere consentita esclusivamente dalla dittacopa-data.

Dettagli

Collegamento remoto vending machines by do-dots

Collegamento remoto vending machines by do-dots Collegamento remoto vending machines by do-dots Ultimo aggiornamento 23 marzo 2011 rev1 - Stesura iniziale 18/10/2010 rev2 - Approfondimenti 12/11/2010 rev3 Riduzione dei contenuti per una lettura generica

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

Dettagli

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli

1) GESTIONE DELLE POSTAZIONI REMOTE

1) GESTIONE DELLE POSTAZIONI REMOTE IMPORTAZIONE ESPORTAZIONE DATI VIA FTP Per FTP ( FILE TRANSFER PROTOCOL) si intende il protocollo di internet che permette di trasferire documenti di qualsiasi tipo tra siti differenti. Per l utilizzo

Dettagli

Elementi di Architettura e Sistemi Operativi

Elementi di Architettura e Sistemi Operativi Elementi di Architettura e Sistemi Operativi Bioinformatica - Tiziano Villa 15 Giugno 2015 Nome e Cognome: Matricola: Posta elettronica: problema punti massimi i tuoi punti problema 1 4 problema 2 6 problema

Dettagli

P2-11: BOOTP e DHCP (Capitolo 23)

P2-11: BOOTP e DHCP (Capitolo 23) Autunno 2002 Prof. Roberto De Prisco -11: BOOTP e DHCP (Capitolo 23) Università degli studi di Salerno Laurea e Diploma in Informatica Indirizzi IP dinamici 11.2 Un indirizzo IP statico è assegnato ad

Dettagli

URI. Introduzione. Pag. 1

URI. Introduzione. Pag. 1 URI Introduzione Gli URI (Universal Resource Indentifier) sono una sintassi usata in WWW per definire i nomi e gli indirizzi di oggetti (risorse) su Internet. Questi oggetti sono considerati accessibili

Dettagli

Console di Amministrazione Centralizzata Guida Rapida

Console di Amministrazione Centralizzata Guida Rapida Console di Amministrazione Centralizzata Contenuti 1. Panoramica... 2 Licensing... 2 Panoramica... 2 2. Configurazione... 3 3. Utilizzo... 4 Gestione dei computer... 4 Visualizzazione dei computer... 4

Dettagli

Lezione II: Web server e ambiente di lavoro

Lezione II: Web server e ambiente di lavoro Lezione II: Web server e ambiente di lavoro In questa lezione, in laboratorio, si mostrerà quali sono i passi necessari per creare ed eseguire una pagina ASP. Brevemente, verrà fatto anche vedere, come

Dettagli

Lo scenario: la definizione di Internet

Lo scenario: la definizione di Internet 1 Lo scenario: la definizione di Internet INTERNET E UN INSIEME DI RETI DI COMPUTER INTERCONNESSE TRA LORO SIA FISICAMENTE (LINEE DI COMUNICAZIONE) SIA LOGICAMENTE (PROTOCOLLI DI COMUNICAZIONE SPECIALIZZATI)

Dettagli

Corso di Reti di Calcolatori T

Corso di Reti di Calcolatori T Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 2 (proposta) Socket Java con connessione Luca Foschini Anno accademico 2015/2016 Esercitazione 2 1 Specifica

Dettagli

Tabelle di riferimento Pulsanti Inserire documento Predisposizione doc Approvazione Doc Numerazione Doc Pubblicazione Albo Webservice

Tabelle di riferimento Pulsanti Inserire documento Predisposizione doc Approvazione Doc Numerazione Doc Pubblicazione Albo Webservice - Albo pretorio virtuale e gestione della consultazione documentale - Argomenti Tabelle di riferimento Pulsanti Inserire documento Predisposizione doc Approvazione Doc Numerazione Doc Pubblicazione Albo

Dettagli

CHIUSURE di MAGAZZINO di FINE ANNO

CHIUSURE di MAGAZZINO di FINE ANNO CHIUSURE di MAGAZZINO di FINE ANNO Operazioni da svolgere per il riporto delle giacenze di fine esercizio Il documento che segue ha lo scopo di illustrare le operazioni che devono essere eseguite per:

Dettagli

Cognome: Nome: Matricola: Sicurezza dei sistemi informatici e delle reti 18 febbraio 2014

Cognome: Nome: Matricola: Sicurezza dei sistemi informatici e delle reti 18 febbraio 2014 Tempo a disposizione: 70 minuti. Libri e appunti chiusi. Vietato comunicare con chiunque. Vietato l'uso di smartphone, calcolatrici e affini. 1. Protocolli crittografici. 1.1. Fornisci un esempio di protocollo

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client

Dettagli

Utilizzo dei Cookie Cosa sono i cookie? A cosa servono i cookie? cookie tecnici cookie, detti analitici cookie di profilazione

Utilizzo dei Cookie Cosa sono i cookie? A cosa servono i cookie? cookie tecnici cookie, detti analitici cookie di profilazione Utilizzo dei Cookie Questo sito utilizza i cookie. Utilizzando il nostro sito web l'utente accetta e acconsente all utilizzo dei cookie in conformità con i termini di uso dei cookie espressi in questo

Dettagli

Il Web Server e il protocollo HTTP

Il Web Server e il protocollo HTTP Corso PHP Parte 2 Il Web Server e il protocollo HTTP E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta la esegue e restituisce il risultato al browser,

Dettagli

Sistema per scambi/cessioni di Gas al Punto di Scambio Virtuale

Sistema per scambi/cessioni di Gas al Punto di Scambio Virtuale Sistema per scambi/cessioni di Gas al Punto di Scambio Virtuale Modulo Bacheca 1 INDICE 1 Generalità...3 2 Accesso al sistema...4 2.1 Requisiti tecnici 5 3 Elenco funzioni e tasti di navigazione...6 3.1

Dettagli

Utilizzo di Certificati SSL e relative implicazioni

Utilizzo di Certificati SSL e relative implicazioni Utilizzo di Certificati SSL e relative implicazioni Affinché possano essere correttamente stabilite delle connessioni cifrate tramite i protocolli SSL/TLS ai servizi di IceWarp, è necessario che sul server

Dettagli

Corso di Sistemi Operativi A.A. 2008-2009 - CHIAMATE DI SISTEMA PER IL CONTROLLO DEI PROCESSI. Fabio Buttussi

Corso di Sistemi Operativi A.A. 2008-2009 - CHIAMATE DI SISTEMA PER IL CONTROLLO DEI PROCESSI. Fabio Buttussi Corso di Sistemi Operativi A.A. 2008-2009 - CHIAMATE DI SISTEMA PER IL CONTROLLO DEI PROCESSI Fabio Buttussi La programmazione di sistema Il kernel è la parte di Unix che corrisponde al sistema operativo

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

Proxy. Krishna Tateneni Traduzione del documento: Luciano Montanaro Manutenzione della traduzione: Federico Zenith

Proxy. Krishna Tateneni Traduzione del documento: Luciano Montanaro Manutenzione della traduzione: Federico Zenith Krishna Tateneni Traduzione del documento: Luciano Montanaro Manutenzione della traduzione: Federico Zenith 2 Indice 1 Proxy 4 1.1 Introduzione......................................... 4 1.2 Uso..............................................

Dettagli

Progettare un Firewall

Progettare un Firewall Progettare un Firewall Danilo Demarchi danilo@cuneo.linux.it GLUG Cuneo Corso Sicurezza 2006 Concetti introduttivi Come pensare un Firewall Argomenti trattati I Gli strumenti del Firewall Gli strumenti

Dettagli

Come si può vedere, la regola è stata fatta in modo da spostare tutti i messaggi di Spam nella cartella del cestino.

Come si può vedere, la regola è stata fatta in modo da spostare tutti i messaggi di Spam nella cartella del cestino. www.playnet.it agg. Documento 1/03/2007 REGOLE DEL CLIENT Le regole del client sono un sistema di smistamento dei messaggi (arrivati) fra le varie cartelle di posta presenti sul server. Possono essere

Dettagli

ESERCITAZIONE Semplice creazione di un sito Internet

ESERCITAZIONE Semplice creazione di un sito Internet ESERCITAZIONE Semplice creazione di un sito Internet Sistemi e Tecnologie Informatiche - Prof. Gregorio Cosentino 1 Internet Una rete globale che connette milioni di computer in tutto il mondo, anarchica

Dettagli

Il protocollo BitTorrent

Il protocollo BitTorrent 4 Università degli studi di Bari Corso di Laurea Magistrale in Informatica Sistemi Distribuiti: architetttura e modelizzazione Modulo B modellizzazione Anno Accademico 2008 2009 Modellizzazione del protocollo

Dettagli

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

Sviluppo Applicativi personalizzati per automatizzare le Analisi SPC

Sviluppo Applicativi personalizzati per automatizzare le Analisi SPC Sviluppo Applicativi personalizzati per automatizzare le Analisi SPC Query sui Databases Aziendali Report Automatici Interfacce Operatore Analisi Statistiche Minitab Web: www.gmsl.it Email: info@gmsl.it

Dettagli

Chat. Connettersi a un server di chat. Modificare le impostazioni di chat. Ricevere impostazioni chat. Chat

Chat. Connettersi a un server di chat. Modificare le impostazioni di chat. Ricevere impostazioni chat. Chat 2007 Nokia. Tutti i diritti sono riservati. Nokia, Nokia Connecting People, Nseries e N77 sono marchi o marchi registrati di Nokia Corporation. Altri nomi di prodotti e società citati nel presente documento

Dettagli

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Dettagli

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Sistema inoltro telematico domande di nulla osta, ricongiungimento e conversioni Manuale utente Versione 2 Data creazione 02/11/2007 12.14.00

Dettagli

IPC System V. Code di messaggi

IPC System V. Code di messaggi IPC System V Code di messaggi Panoramica coda di messaggi una lista concatenata di messaggi, FIFO semaforo un contatore condiviso, atomicamente modificabile memoria condivisa uno spazio di memoria accessibile

Dettagli

Sincronizzazione e comunicazione tra processi in Unix. usati per trasferire ad un processo l indicazione che un determinato evento si è verificato.

Sincronizzazione e comunicazione tra processi in Unix. usati per trasferire ad un processo l indicazione che un determinato evento si è verificato. Processi parte III Sincronizzazione e comunicazione tra processi in Unix Segnali: usati per trasferire ad un processo l indicazione che un determinato evento si è verificato. Pipe: struttura dinamica,

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

Laboratorio di Sistemi Operativi 29-01-2009. Cognome Nome Mat.

Laboratorio di Sistemi Operativi 29-01-2009. Cognome Nome Mat. Il compito è costituito da domande chiuse, domande aperte ed esercizi. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio

Dettagli

Firewall e Abilitazioni porte (Port Forwarding)

Firewall e Abilitazioni porte (Port Forwarding) Firewall e Abilitazioni porte (Port Forwarding) 1 Introduzione In questa mini-guida mostreremo come creare le regole sul Firewall integrato del FRITZ!Box per consentire l accesso da Internet a dispositivi

Dettagli