PAD: istruzioni di laboratorio Alberto Cappadonia Emanuele Cesena Politecnico di Torino Dip. Automatica e Informatica Per cominciare a lavorare effettuare il logon con la matricola (sxxxxxx) pagina del corso: http://security.polito.it/~lioy/01fqt/ Politecnico di Torino (2004-2008) 1
Per cominciare a lavorare (2) ogni settimana preparare la configurazione per PAD aprire Internet Explorer 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, GVIM ed Home Page Personale l area personale è connessa come unità logica M: Esercitazioni C Politecnico di Torino (2004-2008) 2
cosa è: Cygwin cygwin è un emulatore di ambiente Linux per Windows, che permette di sperimentare le principali caratteristiche dell'ambiente di lavoro del sistema operativo Linux www.cygwin.com cygwin mette a disposizione 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> ('sxxxxxx') corrisponde a /home/<user>!! cancellata ogni settimana!! Politecnico di Torino (2004-2008) 3
Comandi principali comandi della shell bash elenca file: ls copia: cp src dst sposta/rinomina: 'mv src dst cancella: rm file cambia dir: cd dir crea 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
Editor vim: Vi IMproved modalità comando: <esc> modalità inserimento: i esci: '<esc> :q(!) <invio> salva: '<esc> :w <invio>' highlighting: '<esc> :sy on' gvim: Vim grafico (click su icona sul desktop) normale in inserimento: <esc> i Altre utility less <filename>: lista il contenuto di un file zip / unzip (se presenti) zip -r pippo.zip pippo/ unzip (-l) pippo.zip tar / gzip ('zip versione Unix') tar czvf pippo.tar.gz pippo/ tar (x t)zvf pippo.tar.gz Politecnico di Torino (2004-2008) 5
gcc: GNU C compiler Compilatore: gcc gcc file1.c file2.c... -o progname -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 [arglist] : avvia il programma c : continua l esecuzione break [file:]function : setta un breakpoint su function bt : 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
Test con Solaris/SPARC disponibile la macchina cclix2 al Labinf!! necessario un account al Labinf!! connessione via ssh ssh username@cclix2.polito.it ulteriori informazioni per la connessione via ssh http://www.labinf.polito.it/ Servizio SSH e FTP requisiti minimi Stile di programmazione il programma DEVE essere leggibile -> 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 / error reporting -> err_msg() testing avanzato (errori, casi limite,...) -> debugger Politecnico di Torino (2004-2008) 7
Esercitazioni Web installare Mozilla Firefox Ambiente di lavoro (click sul desktop) "Installazione applic." (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 link Home Page Personale sul desktop Politecnico di Torino (2004-2008) 8
Uso e durata degli account del corso username e password possono essere usati durante il corso PAD dopo 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 approccio incrementale testate il programma Conclusione!! imparate ad usare il debugger!! chiedete informazioni agli esercitatori e ai borsisti salvate il lavoro (chiavetta USB) al termine dell'esercitazione!! le aree utente t di cygwin vengono cancellate!! Politecnico di Torino (2004-2008) 9