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.

nc<br />

exit 0<br />

# 25/tcp open smtp<br />

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

L’utility nc (netcat) è uno strumento completo per la connessione e l’ascolto sulle porte TCP e<br />

UDP. Utile per la <strong>di</strong>agnostica e le prove, nonché per client e server HTTP basati su semplici script<br />

<strong>di</strong> cui ne è la componente principale.<br />

bash$ nc localhost.localdomain 25<br />

220 localhost.localdomain ESMTP Sendmail 8.13.1/8.13.1; Thu, 31 Mar 2005 15:41:35 -0700<br />

Esempio 13-5. Verificare se su un server remoto è in esecuzione identd<br />

#! /bin/sh<br />

## Stessa funzionalità <strong>di</strong> ident-scan <strong>di</strong> DaveG<br />

#+ usando, però, netcat. Oooh, come sarà inc***to.<br />

## Argomenti: porta <strong>di</strong> riferimento [porta porta porta ...]<br />

## Blocca stdout _e_ stderr.<br />

##<br />

## Vantaggi: esecuzione più lenta <strong>di</strong> ident-scan, con meno possibilità<br />

##+ che l’inetd remoto si allarmi, e verifica i pochi demoni conosciuti in<br />

##+ esecuzione solo sulle porte specificate.<br />

## Svantaggi: le porte devono essere in<strong>di</strong>cate solo con il loro nummero, output<br />

##+ striminzito e non funziona per servizi remoti provenienti da porte con<br />

##+ numerazione elevata.<br />

# Autore dello script: Hobbit <br />

# Usato in <strong>Guida</strong> ASB con il suo consenso.<br />

# ------------------------------------------------------<br />

E_ERR_ARG=65 # Sono necessari almeno due argomenti.<br />

DUE_PAUSE=2 # Durata dell’interruzione.<br />

TRE_PAUSE=3<br />

IDPORTA=113 # Porta <strong>di</strong> autenticazione "tap ident".<br />

CAUS1=999<br />

CAUS2=31337<br />

TIMEOUT0=9<br />

TIMEOUT1=8<br />

TIMEOUT2=4<br />

# ------------------------------------------------------<br />

case "${2}" in<br />

"" ) echo "Specificate l’HOST e almeno un PORTA." ; exit $E_ERR_ARG ;;<br />

esac<br />

# Effettua un ping per vedere se "stanno" eseguendo identd.<br />

355

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

Saved successfully!

Ooh no, something went wrong!