Come progettare un programma di filtro di routing intermedio per accettare input e inoltrare di conseguenza?

4

La mia situazione difficile:

Ho progettato un'app, scritta in Python, per leggere la mia posta e controllare i messaggi che contengono una certa firma digitale. Si apre e cerca parole chiave. Se il messaggio contiene queste parole chiave, alcune aree delle funzioni correlate vengono eseguite sul computer. È un modo in cui posso controllare il mio computer dal mio cellulare senza esserci. Sono ancora agli inizi e attualmente è possibile solo aprire e chiudere remotamente applicazioni / processi.

Il problema ovvio sono i rischi per la sicurezza. Speravo di fare da battistrada richiedendo e controllando la firma digitale. Tuttavia, il mio problema arriva quando mi piacerebbe rendere questo programma utilizzabile da più utenti. L'idea è che l'utente invii parole chiave: nome utente e password, ad esempio, per accedere al proprio account e-mail personale e inviare messaggi ad esso per essere analizzati.

Ignora le implicazioni sulla sicurezza dell'invio di password non codificate tramite e-mail. (Anche se potresti aiutarmi in questa parte, apprezzerei molto anche questo, ma al momento non è lo scopo della mia domanda.)

Il mio problema è la progettazione di un processo intermedio che richiederà un'email / password per leggere un'e-mail e cercare tali parole chiave. Il problema è che il programma deve accedere a una e-mail per leggere l'e-mail per il nome utente / password! Mi sono messo in un ciclo e non riesco a capire come avere questo programma di intermediazione richiesto. Potrei semplicemente creare un account e-mail arbitrario e avere questo controllo per i credenziali di accesso, ma c'è un modo migliore per farlo?

Inoltre, c'è un modo migliore di comunicare con un computer in remoto rispetto a questo? Soprattutto se il computer non è un server e si trova dietro un router con solo una subnet ip?

Se faccio questa domanda nel posto sbagliato, mi scuso profondamente. Qualsiasi aiuto sarebbe molto apprezzato!

    
posta eatonphil 31.10.2012 - 22:38
fonte

1 risposta

1

L'uso delle e-mail è una delle possibili soluzioni. Sembra che sia necessario creare un account di posta speciale su alcuni server di posta pubblici e creare un servizio (demone) che accederà al server e riceverà messaggi di posta dal server ed eseguirà i comandi che contengono. Un buon strumento per la creazione di tali servizi in Python è ritorto , hanno anche un buon tutorial per la creazione di client SMTP . Per inviare comandi al tuo computer potresti usare il tuo client di posta preferito. Una certa conoscenza dei protocolli SMTP, POP3 o IMAP è essenziale.

Un'altra opzione è quella di creare bot IRC o Bot Jabber . In questo caso è necessario studiare alcuni interni del protocollo appropriato (IRC e XMPP) e registrare alcune stanze chiuse su un server IRC o Jabber pubblico. Questo bot potrebbe anche essere implementato facilmente come servizio twisted , perché twisted ha un supporto integrato di questi protocolli. Esistono molti client IRC / Jabber, che ti aiutano a inviare comandi al tuo bot, ad es. Pidgin.

    
risposta data 01.11.2012 - 12:37
fonte

Leggi altre domande sui tag