istruzioni di laboratorio
Transcript
istruzioni di laboratorio
PAD: istruzioni di laboratorio (PADlab - feb'08) PAD: istruzioni di laboratorio Alberto Cappadonia Emanuele Cesena Politecnico di Torino Dip. Automatica e Informatica Per cominciare a lavorare effettuare p pagina g il logon con la matricola (sXXXXXX) del corso: http://security.polito.it/~lioy/01fqt/ © Politecnico di Torino (2004-2008) 1 PAD: istruzioni di laboratorio (PADlab - feb'08) Per cominciare a lavorare (2) ogni settimana preparare la configurazione per PAD aprire p Internet Explorer p tra i preferiti cercare WEBLaib http://weblaib.laib.cesit.polito.it nella pagina web visualizzata cliccare su “Connetti” (click su “Apri” -> “Esegui”) sul desktop vengono aggiunte le icone “Cygwin” Cygwin , GVIM ed “Home Page Personale” l’area personale è connessa come unità logica M: Esercitazioni C © Politecnico di Torino (2004-2008) 2 PAD: istruzioni di laboratorio (PADlab - feb'08) Cygwin cosa è: cygwin yg è un emulatore di ambiente Linux p per Windows, che permette di sperimentare le principali caratteristiche dell'ambiente di lavoro del sistema operativo Linux www.cygwin.com cygwin yg mette a disposizione p la possibilità di usare all'interno di un programma C le principali system call Unix/Linux (cygwin1.dll) vari interpreti dei comandi (bash, sh, tcsh) e un insieme di tool tra cui editor, compilatore e debugger Ambiente di sviluppo avvio di cygwin: W:\cygwin1.5.25\cygwin.bat (oppure icona sul desktop) !! attenzione: usare solo la versione la 1.5.25 e NON le altre eventualmente presenti sul server !! directory di lavoro per cygwin: D:\Cygwin\Home\<user> corrisponde !! (('sXXXXXX') sXXXXXX ) a /home/<user> cancellata ogni settimana !! © Politecnico di Torino (2004-2008) 3 PAD: istruzioni di laboratorio (PADlab - feb'08) Comandi principali comandi della shell “bash” elenca copia: file: ls cp src dst sposta/rinomina: cancella: cambia crea 'mv src dst‘ rm file dir: cd dir dir: mkdir dir cancella dir (vuota): rmdir dir Guide sui programmi manuali dei comandi/programmi man bash : manuale della shell man <program> : manuale del programma info <program> : manuale del programma es. info gcc © Politecnico di Torino (2004-2008) 4 PAD: istruzioni di laboratorio (PADlab - feb'08) Editor vim: Vi IMproved modalità comando: <esc> modalità inserimento: i esci: '<esc> :q(!) <invio>‘ salva: '<esc> :w <invio>' highlighting: gvim: '<esc> :sy on' Vim grafico (click su icona sul desktop) normale in inserimento: <esc> i Altre utility less zip p <filename>: lista il contenuto di un file / unzip p (se ( presenti) p ) zip -r pippo.zip pippo/ unzip tar (-l) pippo.zip / gzip ('zip versione Unix') tar czvf pippo.tar.gz pippo/ tar (x|t)zvf pippo.tar.gz © Politecnico di Torino (2004-2008) 5 PAD: istruzioni di laboratorio (PADlab - feb'08) Compilatore: gcc gcc: GNU C compiler g gcc file1.c file2.c ... -o p progname g -g g -Wall -l<libname> : per linkare librerie make: utilizzo di script per la compilazione esempio: server: server.c errlib.c sockwrap.c gcc -o $@ $^ clean: rm -f *.o *.exe Debugger: gdb gdb <exefile> <corefile> (ulimit -c unlimited) run c [[arglist] g ] : avvia il programma p g : continua l’esecuzione break bt [file:]function : setta un breakpoint su function : stampa lo stack del programma (up/down) list [file:]function : lista il codice 'corrente' print <expr> : stampa il valore dell'espressione next / step : esegue la prossima riga di codice (over/into) quit : esce da gdb © Politecnico di Torino (2004-2008) 6 PAD: istruzioni di laboratorio (PADlab - feb'08) Test con Solaris/SPARC disponibile !! la macchina cclix2 al Labinf necessario un account al Labinf !! connessione ssh via ssh [email protected] ulteriori informazioni per la connessione via ssh http://www.labinf.polito.it/ “Servizio SSH e FTP” Stile di programmazione requisiti minimi il programma p g DEVE essere leggibile gg -> indentare il programma si DEVE capire -> commentare il programma DEVE funzionare -> compilare, testare requisiti di sicurezza controllo dell’input controllo dimensioni dei buffer e delle stringhe logging testing © Politecnico di Torino (2004-2008) / error reporting -> err_msg() avanzato (errori, casi limite, ...) -> debugger 7 PAD: istruzioni di laboratorio (PADlab - feb'08) Esercitazioni Web Ambiente di lavoro installare Mozilla Firefox ((click sul desktop) p) "Installazione applic." pp (click sul pulsante) “Aggiungi nuovo prog.“ contiene la plug-in HTML validator http://addons.mozilla.org/en-US/firefox/addon/249 directory di lavoro per esercizi sul web M:\ visibile tramite browser (IE/Firefox) come http://weblaib.laib.cesit.polito.it/sXXXXXX oppure © Politecnico di Torino (2004-2008) link “Home Page Personale” sul desktop 8 PAD: istruzioni di laboratorio (PADlab - feb'08) Uso e durata degli account del corso username durante dopo e password possono essere usati il corso PAD la fine del corso PAD fino al 31 luglio 2010 i file contenuti nell’area personale (M:\) saranno conservati per tutta la durata degli account ATTENZIONE! sono visibili all’interno del Poli via browser con la seguente URI: http://weblaib.laib.cesit.polito.it/sXXXXXX Conclusione approccio testate !! incrementale il programma p g imparate ad usare il debugger !! chiedete informazioni agli esercitatori e ai borsisti salvate il lavoro (chiavetta USB) al termine dell'esercitazione !! le l aree utente t t di cygwin i vengono cancellate ll t !! © Politecnico di Torino (2004-2008) 9