Creare eseguibili da sorgenti Matlab

16 02 2008

Per creare un eseguibile a partire da una funzione matlab si usa la funzione:

mcc -m percorsocompletomiofile.m

Questo comando richiama il compilatore per matlab che sfruttando una versione qualsiasi del compilatore c presente nel pc converte il sorgente matlab in un exe avviabile da qualsiasi pc.





Telnet : inviare posta elettronica da DOS.

8 02 2008

Telnet è un’applicazione standard di ‘Internet ed è disponibile nella maggior parte delle implementazioni del TCP/IP, indipendentemente dal sistema operativo host.Si tratta di un semplice protocollo di login remoto, implementato secondo un modello di tipo client-server, che permette ad un utente attestato ad una certa macchina di stabilire una connessione TCP con un server di login che si trova su un’altra macchina, la porta che utilizza è la numero 23. Subito dopo Telnet rilancia i caratteri battuti sulla tastiera dell’utente direttamente al calcolatore remoto come se essi fossero battuti su una tastiera direttamente connessa ad esso. Inoltre Telnet rimanda l’output della macchina remota indietro fino allo schermo dell’utente.Il servizio è definito trasparente perché dà l’apparenza che la tastiera e lo schermo dell’utente siano attaccati direttamente alla macchina remota. Sebbene Telnet non sia molto sofisticato se paragonato ad altri protocolli di terminale remoto, esso risulta tuttavia largamente diffuso. Di solito, il codice client di Telnet permette all’utente di specificare la macchina remota a cui ci si vuole connettere dando il suo nome di dominio oppure il suo indirizzo IP. Telnet è un client presente di default in windows e ci si può accedere in tre diversi modi:

  1. premendo avvio/start, poi esegui e si digitando “telnet” nella finestra di dialogo.
  2. facendo click sul file “telnet.exe” presente nella cartella “windows”.
  3. digitando “telnet” nel prompt ms-dos.

Come collegarsi: La prima cosa da fare per mandare o ricevere la posta è collegarsi al server predisposto così come farebbe il proprio client come per esempio Outlook Express, Pegasus Mail, Eudora o Netscape Messanger. Qualunque software usiate è bene sapere che una volta collegati al server compiono tutti le stesse azioni o quasi. Per avviare telnet basta utilizzare una normale sessione di DOS oppure lo si può far partire con il comando esegui. Si deve ora distinguere come inviare e come ricevere la posta.

Invio della posta. Il server destinato all’invio della posta viene generalmente denominato SMTP (Simple Mail Trasfer Protocol) e per comunicare con esso ci si deve collegare alla porta 25, riservata appunto al protocollo SMTP. Se per esempio il nostro server destinato all’ invio di posta è mail.tin.it dovremmo digitare quanto segue per collegarci:

  • telnet out.alice.it 25

Questo può essere scritto in una finestra dos oppure nella riga di comando del menu esegui. A questo punto si aprirà il programma telnet.exe pronto a collegarsi.

Ricezione della posta. Il server destinato alla ricezione della posta viene generalmente denominato POP3 e per comunicare con esso ci si deve collegare alla porta 110. Se per esempio il nostro server destinato alla ricezione della posta fosse box.tin.it dovremmo digitare quanto segue:

  • telnet in.alice.it 110

Questo può essere scritto in una finestra dos oppure nella riga di comando del menu esegui. A questo punto si aprirà il programma telnet.exe pronto a collegarsi. A questo punto senza lasciare alcuna riga vuota si deve inserire il campo Subject: specificando di seguito il soggetto del messaggio. Quindi una volta lasciata una riga vuota che sta ad indicare la fine degli header si può cominciare a scrivere il messaggio. Vediamo un esempio:

220 FBCMCL01B04.fbc.local Microsoft ESMTP MAIL Service, Version: 6.0.3790.1830 ready at Fri, 8 Feb 2008 18:34:53 +0100
helo pippo
250 FBCMCL01B04.fbc.local Hello [87.10.35.115]
mail from:<paperino@hotmail.com>
250 2.1.0 paperino@fbc.local….Sender OK
rcpt to:<olatitant@alice.it>
250 2.1.5 olatitant@alice.it
data
354 Start mail input; end with <CRLF>.<CRLF>
from: paperino@hotmail.com
to: olatitant@alice.it
subject: prova
hello world!
hello world!
.
250 2.6.0
Queued mail for deivery
quit
Connessione all’host perduta.

In questo caso mi sono collegato al server SMTP del mio provider e ho inviato una e-mail a me stesso. Come si più notare posso inserire nell’ header tutti i campi che voglio, anche un falso “From:” e un falso “To:”. Come si può notare il server risponde ad ogni comando. Queste risposte possono variare da programma a programma. Ecco qui di seguito un esempio di ricezione:

+OK Microsoft Exchange Server 2003 POP3 server version 6.5.7638.1 (FBCMPO01B08.fbc.local) ready.
user olatitant@alice.it
+OK
pass xxxxxxxxxxxxx
+OK User successfully logged on.
list
+OK 16 229096
1 13707
2 13707
3 13509
4 13509
5 18364
6 18364
7 12650
8 12650
9 13712
10 13712
11 27941
12 27941
13 26047
14 1789
15 747
16 747
.
retr 16
+OK
X-Kaspersky: Original server data starting here: +OK
Received: from FBCMMI01B06.fbc.local ([192.168.69.39]) by FBCMST05V03.fbc.local
with Microsoft SMTPSVC(6.0.3790.1830);
Fri, 8 Feb 2008 19:27:38 +0100
Received: from FBCMCL01B08.fbc.local ([192.168.171.46]) by FBCMMI01B06.fbc.local
with Microsoft SMTPSVC(6.0.3790.1830);
Fri, 8 Feb 2008 19:27:37 +0100
Received: from RA ([87.10.35.115]) by FBCMCL01B08.fbc.local with Microsoft SMTPS
VC(6.0.3790.1830);
Fri, 8 Feb 2008 19:27:22 +0100
from: paperino@hotmail.com
to: olatitant@alice.it
subject: prova
Return-Path: paperino@hotmail.com
Message-ID: <FBCMCL01B08EUjb9oBs000ab154@FBCMCL01B08.fbc.local>
X-OriginalArrivalTime: 08 Feb 2008 18:27:30.0250 (UTC) FILETIME=[4398BAA0:01C86A
80]
Date: 8 Feb 2008 19:27:30 +0100
hello world!
hello world!
.
quit
Connessione all’host perduta.

Il protocollo SMTP usato per depositare posta in un server di posta da un altro server di posta o da un user-agento anche maualmente da remoto come abbiamo fatto noi è definito nella RFC 821, mentre il formato del messaggio mail è definito nella RFC 822. Dai numeri piccoli di RFC (l’HTTP è definito nella RFC 1945), si capisce che l’SMTP è vecchiotto, ed in quanto tale ha una grossa pecca, lavora sempre con codifica ASCII a 7 bit sia per le linee di controllo che per il messaggio in se e per se, e a discapito dell’evoluzione subita dal web, tratta unicamente codifica ASCII e non usa oggetti, ma tutto quello che trasporta deve essere contenuto in un unico messaggio tutto codificato in ASCII.Per ovviare a cio’già nella RFC 822 sono state definite estensioni multiuso che servono per indicare che decodifica applicare all’ASCII del messggio. Tali estensioni sono state ulteriormente ampliate per stare al passo con i contenuti multimediali moderni nell RFC 2045 e 2046. Si vede che sto preparando l’esame di “Reti di Calcolatori”. Unico appunto che ancora voglio aggiungere, riguarda il fatto della comunicazione remota che instaura telnet : una volta avvenuta la connessione TCP, tutto quello che viene battuto a tastiera è come se fosse battuto sull’host remoto con cui si sta comunicando, in questo caso il server di posta, ragion per cui quando si fanno errori di battitura, anche se sul video locale si risolve cancellando, la stessa cosa non avviene nell’host remoto, sul quale è come se passassimo i caratteri ASCII corrispondenti ai tasti premuti a seguito dell’errore di battitura.