|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2003
Città: Milano
Messaggi: 4080
|
[Vari] Analizzare traffico generato da una finestra in pagina Web
Ciao a tutti.
Premetto che ho già postato questo messaggio in un altro forum....ancora con scarsi risultati...dopo mi son ricordato che c'è anche qui una sezione programmazione ne riporto i post: 1° --------------- Vorrei analizzare il traffico di una finestra di un browser web (specifico solo contenuti non protetti). Secondo le mie (poche) conoscenze dovrei intercettare il protocollo http, esatto? Esiste un programma (o un esempio) opensource (da adattare) che fa qualcosa di simile? Se lo dovessi fare da zero quali mezzi dovrei utilizzare? Esistono classi aggiuntive (e gratutite) javascript per accedere al protocollo? Il java permette di accedere al protocollo ma è possibile intercettare l'http da una applet o va fatta una applicazione stand-alone (lato client) che si interpone tra il server e browser? Ho citato linguaggi e situazioni che mi sono familiari ma se conoscete altre soluzioni (semplici) ok comunque. Grazie 2° --------------- il post potrà risultare un pò lungo cortesemente leggetelo per voi potrebbe essere semplice aiutarmi in questi giorni ho visto un pò di cose: - ethereal è ottimo mi permette di verificare ciò che passa in rete. - ho letto qualcosa di winpcap..... - ho scritto un micro applicativo in Javascript.. - ho scritto un micro applicativo in java che filtra il traffico di una pagina web. Premetto che sono NON sono un grande programmatore, vorrei realizzare qualcosa nel modo più semplice ed ho bisogno dei vostri suggerimenti sulla strada da intraprendere. Provo a spiegare il mio obiettivo: vorrei scrivere un software per potere analizzare il contenuto di una pagina web, seguire i link presenti nella pagina ed analizzare le pagine collegate. Provo a spiegare la mia logica (ho pensato ad alcune soluzioni): 1) - uso un linguaggio interno al browser per pilotare il browser stesso e controllare i contenuti della finestra: ho già utilizzato il Javascript, ma sia IExplorer che Firefox mi danno errore di protezione (una finestra ne crea un'altra ma una volta che quest'ultima viene reindirizzata ne si perde il controllo e l'accesso, e si può solo chiudere; forse questo problema si può risolvere caricando delle estensioni (altre classi di javascript che violano questo criterio di sicurezza)). 2) - scrivere una estensione di Firefox che possa pilotare il browser (ma non so neanche da dove iniziare). 3) - prendere i sorgenti di Firefox, modificarli all'occasione e ricompilare (neanche qui so da dove iniziare). 4) - scrivere un applicativo che simuli un server sulla porta 80 localhost intercetti le richieste le reindirizzi al sito da analizzare, prenda ciò che il sito restituisce lo analizzi e lo passi al browser: già realizzato in Java ma ho strani problemi di sincronismo (spesso le pagine non sono complete) ed ho anche il problema di decodificare il sorgente html codificato GZIP (in pratica intercetto il protocollo http). 5) - analizzare i protocolli di rete (se non ho capito male winpcap permette di fare questo) ma poi dovrei riuscire ad interpretare, disimpacchettare tutto..... Sono 5 approcci architetturali differenti da un livello (architetturale) più alto ad uno più basso. Io personalmente preferirei il 4 che potrebbe essere portatabile su più piattaforme ed indipendente dal browser. Attualmente sono in un vicolo cieco...... Attendo Consigli Grazie Ps: Ho cercato di essere sintetico, nel caso qualcosa non fosse chiaro chiedete. EDIT: Valutate le difficoltà escludo il punto 3. 3° --------------- Valutate le difficoltà di installazione, compilazione .... direi che non sono in grado di gestire il punto 3 e neanche il 5 anche se vedendo le api delle pcap sono veramente potenti ma strumenti di sviluppo dei drivers ecc... non è roba per me. restano i punti 1,2,4 dai su qualche consiglio o se lo pensate scrivete pure che sto sbagliando tutto . Sto postando anche per questo.... Grazie. ------------------- ok spero che qualcuno abbiaun minimo di conoscenze e di pazienza per darmi un consiglio Ciao e Grazie
__________________
spesso, è solo quando sai che non ti resta molto tempo che ne apprezzi il reale valore quote: "some users are a classic example of the inverse ratio between the size of the mouth and the size of the brain" * se non vi rispondo è perché siete (200+) nella mia ignore list * mi chiedo perché chi è nella ignore list è spesso sospeso e, prima o poi, viene bannato * Ultima modifica di digieffe : 03-03-2006 alle 01:28. Motivo: strutturato il titolo |
|
|
|
|
|
#2 | ||||||
|
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
Quote:
Nel primo caso, lavori sul client, nel secondo sul server, e mi risulta che esistano già prodotti pronti, ad es. Webalizer. Quote:
Quote:
Javascript vive nella pagina che è stata caricata, non può andare a leggere dalla scheda di rete. Quote:
Quote:
Ti potrebbe bastare un applicativo testuale, non ti serve il browser. Se poi vuoi farci una GUI, ok, ma non serve. In Java, ad. es., con una semplice Urlconnection e un DataOutputStream ti scarichi già il codice HTML di una pagina. Il passo successivo è interpretarla mentro la salvi, per leggere i tag dei link e delle immagini, e scaricare anche quelle con altre urlconnection (da gestire i dati testo/binari). E' un punto di inizio, poi devi implementare i vari controlli sulla ricorsione e sulla propagazione (segui fino all'n-esimo link, non cambiare più di 2 dominini, ecc.) Per lanciarlo, apri una prompt del dos e passi a riga di comando il nome del sito. In pratica, devi studiare a livello di protocollo (HTML) e applicazione (per la realizzazione del programma). Non ti serve scendere nei livelli OSI per analizzare i datagram Quote:
|
||||||
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Oct 2003
Città: Milano
Messaggi: 4080
|
Quote:
mi rendo conto che nella stanchezza ho riportato dei post che possono non essere tanto chiari... riassumo cercando di spiegarmi meglio: Io ho a disposizione solo il lato client (browser) e vorrei che il browser aprisse un determinato URL (esempio google) il server del sito rispondesse con la pagina richiesta, una applicazione qualsiasi intercettasse "in modo passante" la pagina identificando i vari link presenti e la stessa applicazione lanciasse uno per volta i link che saranno visualizzati successivamente nel browser. ora con calma mi vedrò i consigli che mi hai dato. Ciao
__________________
spesso, è solo quando sai che non ti resta molto tempo che ne apprezzi il reale valore quote: "some users are a classic example of the inverse ratio between the size of the mouth and the size of the brain" * se non vi rispondo è perché siete (200+) nella mia ignore list * mi chiedo perché chi è nella ignore list è spesso sospeso e, prima o poi, viene bannato * |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
Non ho capito se è indispensabile che si comporti come sniffer rispetto alla finestra aperta (in questo caso dei pensare a metterci un proxy in mezzo) o se ti sarebbe sufficiente copiare l'url della pagina visualizzato sul browser in un programmino che faccia il resto.
|
|
|
|
|
|
#5 | |||
|
Senior Member
Iscritto dal: Oct 2003
Città: Milano
Messaggi: 4080
|
Quote:
Quote:
Quote:
- Vorrei che nel browser si aprisse (per es.) la pagina di google. (notare "SI aprisse") - che tutto ciò relativo alla pagina che va al browser andasse anche alla mia applicazione (non per essere salvata su disco). - che la mia applicazione analizzando la pagina in questione (home page di google) rispondesse al sito inviando una ricerca. - che google inviase il risultato della ricerca al browser e di conseguenza alla applicazione. EDIT: Il tutto senza che il sito si accorga di non avere a che fare con un applicazione ma creda che ci sia solo il browser e la ricerca la facesse l'utente. dimmi tu (o voi) come si definisce una applicazione del genere e qual'è la strada più semplice da percorrere Ciao
__________________
spesso, è solo quando sai che non ti resta molto tempo che ne apprezzi il reale valore quote: "some users are a classic example of the inverse ratio between the size of the mouth and the size of the brain" * se non vi rispondo è perché siete (200+) nella mia ignore list * mi chiedo perché chi è nella ignore list è spesso sospeso e, prima o poi, viene bannato * Ultima modifica di digieffe : 04-03-2006 alle 01:06. |
|||
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
Mi viene in mente solo una soluzione: una pagina da salvare in locale, che contiene 2 frame, quello sopra e principale carica la pagina che ti interessa, l'altro, quasi nascosto, manda l'url della pagina sopra (quindi compresa la query di ricerca) a una tua applicazione che sta in ascolto, ricarica la pagina in memoria, la processa, risponde al frame nascosto che aggiorna con una nuova pagina il frame sopra.
Ma c'è molto da lavorarci su, ad es. per i casi in cui nel frame sopra ci finisce una pagina con altri frames o con una pagina che forza il reload a finestra intera. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Oct 2003
Città: Milano
Messaggi: 4080
|
Quote:
- Le pagine da processare avranno sicuramente a loro volta dei frames e potrebbero anche forzare il reload. - Sto provando con google perchè come struttura di pagina è molto semplice. - Ho gia realizzato qualcosa del genere (pagina locale in Javascript+html) solo che invece di utilizzare un frame nascosto utilizzo un'altra finestra del browser (per questo ho avuto problemi di sicurezza: caricata la finestra target ne perdo il controllo eccetto per la chiusura) per quanto riguarda la logica ritengo che un esempio più significativo sia il seguente: a - l'operatore avvia l'operazione inserendo un url. b - una applicazione e/o pagina locale fa in modo che il browser carichi la pagina dell'url (una pagina di ricerca). c - la stessa applicazione e/o pagina locale deve contemporaneamente poter avere il sorgente della pagina caricata. d - la stessa applicazione e/o pagina locale caricando da un file le i testi da ricercare può fare due cose equivalenti: 1) forzare l'input nella pagina del browser riempiendo il campo di ricerca e forzare il submit. 2) generare (in base sorgente della pagina caricata) il codice da inviare al sito di ricerca senza interessare il browser. e - il sito risponderà con i risultati della ricerca che andranno al browser ma anche applicazione e/o pagina locale In un post precedente ho elencato 5 tipi di soluzioni delle quali a questo punto ne vedo utili solo un paio: pagina locale e/o applicativo esterno entrambe già tentate con i problemi già descriti (pagina locale: perdita del controllo della finestra target, applicazione esterna: pagina caricata incompleta). Scusami se mi sono ripetuto l'ho fatto sia per sintetizzare che per schiarire le idee (soprattutto a me stesso EDIT: Probabilmente dovremo pensare a vantaggi e svantaggi delle varie soluzioni. Ciao
__________________
spesso, è solo quando sai che non ti resta molto tempo che ne apprezzi il reale valore quote: "some users are a classic example of the inverse ratio between the size of the mouth and the size of the brain" * se non vi rispondo è perché siete (200+) nella mia ignore list * mi chiedo perché chi è nella ignore list è spesso sospeso e, prima o poi, viene bannato * Ultima modifica di digieffe : 04-03-2006 alle 09:53. |
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Oct 2003
Città: Milano
Messaggi: 4080
|
Quote:
Non conosco bene il funzionamento del proxy (fa da cache per le pagine e poi?) se saresti così gentile da illuminarmi Ciao
__________________
spesso, è solo quando sai che non ti resta molto tempo che ne apprezzi il reale valore quote: "some users are a classic example of the inverse ratio between the size of the mouth and the size of the brain" * se non vi rispondo è perché siete (200+) nella mia ignore list * mi chiedo perché chi è nella ignore list è spesso sospeso e, prima o poi, viene bannato * |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:43.



















