Optimiser la recherche web

Bonjour,
Je suis en train de scruter le web à une vitesse considérable et je n’obtiens pas beaucoup de réponses.
J’ai commencé à scruter à 1.0s d’attente par adresse, puis je suis passé à 2s, et maintenant je suis entre 0.1s et 1.1s, plus rapide mais j’ai eu beaucoup de timeout, quelque réseau introuvable, et quelque connection refusée.

Je souhaiterais savoir si il y a moyen d’optimiser mes recherches.

Je procède de la manière suivante :
Je tire une adresse IPv4 au hasard en évitant les réseaux privés et le réseau local.

J’obtiens, j’ai pas compté en fait mais, environ 90% de requête non aboutit.

Soi le web est vide. Soit je fais mal le boulot.
Je penche pour la deuxième hypothèse.

S’il vous plaît, Merci.

Il me semble que Emmanuel a quitté ce forum. Mais au cas où ce message servirait à d’autres, voici ma réponse :

Il faudrait déjà préciser comment exactement tu “scrutes”. Recherche de ports ouverts ? Lesquels ? Ping ? Envoi de requête HTTP ? Avec ou sans en-tête ? Si c’est avec en-tête, vers quel nom de domaine ? En fonction de la technique utilisée, il est normale que tu n’obtiennes aue très peu de réponses.

Au vu des résultats (10% de données valides), je suupose que tu “scrutes” en envoyant des paquets ICMP. Et 10% de résultats positifs, c’est déjà pas mal ! Je ne dirais pas que le “web est vide”. Au contraire. Mais pour faire une analogie, si tu prends une position au hasard dans l’univers, la probabilité que tu sois dans le vide total est relativement élevée. (N’ayant aps fait de calcul, j’évite d’avancer une valeur au hasard.) Ici, c’est pareil. Tu prends une adresse IP au hasard, la probabilité pour qu’elle soit assignée à ce moment précis, et que la machine utilisant cette IP soit allumée, et réponde au ping est assez faible.

Pour améliorer ton process, tu peux ouvrir plusieurs connexions TCP simultannées en parallèle vers différentes destinations, et les laisser ouverte pendant plusieurs secondes (théoriquement 64535 connexions parallèles, utilisant les ports de 1001 à 65535). Il me semble que j’avais joué avec ça, et qu’en créant des interfaces réseaux virtuelles, tu peux encore augmenter le nombre de conenxions disponibles.
Si tu ne fais qu’envoyer des requêtes ICMP, tu n’as aucune limite, à part ta bande passante. Envoi juste tes paquets, et récupère les retours. L’adresse qui a répondu est indiqué dans les champs IP de ton paquet.

Par contre, fais gaffe en faisant ça. Il y a de fortes chances pour que tu te fasses repérer comme étant un bot pas forcément bien intentionné…

Son problème était qu’il imaginait que derrière une IP il y a un serveur ce qui est souvent faux.