IP di partenza e IP di fine: con uno script php i nomi di dominio, possibile?

Salve a tutti,

credo che dal titolo abbiate già compreso ciò che vorrei capire se è possibile fare oppure no. (E se è possibile ma non in questo modo..in quale..)

E' possibile che uno script PHP effettui una "scansione" di indirizzi IP (da indirizzo IP di partenza a indirizzo IP di fine) e che da questa "scansione" ne escano fuori i nomi di dominio? Quindi i nomi dei siti web?

Chiarisco meglio...

...è possibile con uno script PHP ottenere una lista di siti web che contengano nel nome di dominio, ad esempio, la parola "forum" ?

Grazie a tutti.

inviato 5 anni fa
wartpro
X 0 X

Se ti interessano i nomi di dominio non scansioni gli indirizzi ip ma interroghi i vari DNS e i register name. Si può fare anche con Php.

risposto 5 anni fa
Mario Santagiuliana
X 0 X

Ciao wartpro, certo, in PHP è realizzabile un programma del genere, ma dovrai iniziare a lavorare con l'input/output (di rete, in questo caso) non bloccante.

Come ti ha suggerito MarioS puoi scegliere se utilizzare un Server DNS, consultandono come se fosse un archivio di coppie <ip, nome dominio> oppure utilizzare le funzioni offerte dall'estensione sockets (deve essere abilitata quando compili PHP con il configure switch --enable-sockets) per connetterti all'ip e determinare se è connesso o meno.

Nel primo caso, quello dell'interrogazione del server DNS, non saprei verso cosa indicarti, però nel secondo caso il problema è più interessante da risolvere perché bisogna realizzare I/O non bloccante senza threads usando concetti di scheduling del tutto simili a quelli introdotti nei primi sistemi operativi a time sharing.

In questo modo, utilizzando socket multipli e la funzione socket_select, puoi leggere o scrivere incrementalmente sui socket in round robin affinché il tuo ciclo di scheduling non si blocchi durante le operazioni.

Il trucco sta nel leggere (o scrivere) un numero di byte prefissati sufficientemente piccolo, senza impostare un timeout, in questo modo il tuo ciclo di scheduling leggerà continuamente con socket_read i byte che vuoi da tutti i socket pronti ritornati da socket_select e di accumulare il risultato in un buffer (un'area di memoria/variabile temporanea) fin tanto non è completo.

Se riesco a recuperare un po' di codice da un mio vecchio repository ti posto un esempio di codice, altrimenti ti scrivo un esempio in pseuodo codice.

Tom.

risposto 5 anni fa
Andrea Turso
Andrea Turso
86
modificato 5 anni fa
X 0 X

Grazie ragazzi..trash risposta interessantissima, non sono a questi livelli ma più o meno ho capito  :)  e grazie a Mario, la tua risposta mi ha dato un barlume..ma..

..come si interroga un DNS?

risposto 5 anni fa
wartpro
X 0 X

Alcune funzioni per il php le puoi trovare qui:

http://www.php.net/manual/en/ref.network.php

In rete ci sono tante guide in proposito e centinaia di script per fare una cosa specifica.

risposto 5 anni fa
Mario Santagiuliana
X 0 X

Grazie mille!  8)

risposto 5 anni fa
wartpro
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda