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