[PLUTO-help] reperire la posta con telnet: script bash

Gian Uberto Lauri GianUberto.Lauri a eng.it
Mer 23 Ago 2006 11:57:28 CEST


>>>>> "ci" == casellaemail a email it <casellaemail a email.it> writes:

ci> Qui non usa telnet per comunicare col server, mi

Il segreto  tutto in questa riga:

# Apre socket TCP sul descrittore 3:
3<>/dev/tcp/$host/$port || exit 1

che peraltro richiede che ci sia  il supporto per /dev/tcp, che se non
ricordo  male era  una primitiva  interfaccia Unix  System V  versi il
TCP/IP alternativa ai socket del  BSD. Ergo, non sempre c', visto che
usualmente si usano appubto i socket (ed il commmento  impreciso).

In  particolare  /dev/tcp/[host]/[port]  rappresenta  una  connessione
TCP/IP verso  un certo [host]  su una determinata [port]a,  ad esempio
per prendere  la mia posta userei  /dev/tcp/mail.eng.it/110 (se avessi
voluto il supporto per /dev/tcp)  oppure potrei chiedere l'ora al ser-
ver time.nist.gov con:

cat < /dev/tcp/time.nist.gov/13

E  con questo  dovrei aver  spiegato  a cosa  si accede  in /dev,  che
ricordo   la directory speciale in  cui ci sono  gli "pseudofile" che
mappano i  dispositivi visti  dal computer (vedi  anche la  pagina al-
l'URL: http://www.pluto.it/files/ildp/guide/abs/devproc.html)

Vediamo ora la testa e la coda del comando:

La prima  redirige in lettura  e scrittura (  <> ) il device  che rap-
presenta la  connessione sul descrittore 3  (0  stdin, 1  strdout e 2
stderr).

La coda   un  pelino pi  "criptica" ma   leggibile una  volta letto
tutto man bash alla voce Liste  (di cui si parla in modo meno completo
sulla pagina che hai indicato).

Se manca /dev/tcp puoi provare a creare due named pipe con 

mknod ingresso p
mknod uscita p

e poi mandare in background  netcat (facile da installare senza ricom-
pilare il kernel)

netcat [host] [port] < ingresso > uscita &

La cosa  un po' rozza e richiede un po' di lavoro, sopratutto per fare
terminare il netcat...

-- 
 /\           ___
/___/\_|_|\_|__|___Gian Uberto Lauri_____
  //--\| | \|  |   Integralista GNUslamico
\/                 e coltivatore diretto di Software



More information about the pluto-help mailing list