11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

lsof<br />

strace<br />

nmap<br />

Capitolo 13. Coman<strong>di</strong> <strong>di</strong> sistema e d’amministrazione<br />

Elenca i file aperti. Questo comando visualizza una tabella dettagliata <strong>di</strong> tutti i file aperti in quel<br />

momento e fornisce informazioni sui loro proprietari, sulle <strong>di</strong>mensioni, sui processi ad essi associati<br />

ed altro ancora. Naturalmente, lsof può essere collegato tramite una pipe a grep e/o awk per<br />

verificare ed analizzare il risultato.<br />

bash$ lsof<br />

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME<br />

init 1 root mem REG 3,5 30748 30303 /sbin/init<br />

init 1 root mem REG 3,5 73120 8069 /lib/ld-2.1.3.so<br />

init 1 root mem REG 3,5 931668 8075 /lib/libc-2.1.3.so<br />

cardmgr 213 root mem REG 3,5 36956 30357 /sbin/cardmgr<br />

...<br />

Strumento <strong>di</strong>agnostico e <strong>di</strong> debugging per il tracciamento dei segnali e delle chiamate <strong>di</strong> sistema. Il<br />

modo più semplice per invocarlo è strace COMANDO.<br />

bash$ strace df<br />

execve("/bin/df", ["df"], [/* 45 vars */]) = 0<br />

uname({sys="Linux", node="bozo.localdomain", ...}) = 0<br />

brk(0) = 0x804f5e4<br />

...<br />

È l’equivalente Linux del comando truss <strong>di</strong> Solaris.<br />

Analizzatore delle porte <strong>di</strong> rete. Questo comando analizza un server per localizzare le porte aperte<br />

ed i servizi ad esse associati. È un importante strumento per la sicurezza, per proteggere una rete<br />

contro tentativi <strong>di</strong> hacking.<br />

#!/bin/bash<br />

SERVER=$HOST # localhost.localdomain (127.0.0.1).<br />

NUMERO_PORTA=25 # porta SMTP.<br />

nmap $SERVER | grep -w "$NUMERO_PORTA" # Questa specifica porta è aperta?<br />

# grep -w verifica solamente la parola esatta,<br />

#+ così, per esempio, non verrà verificata la porta 1025.<br />

354

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!