En tant qu'ingénieur réseau senior, j'ai mené des recherches approfondies et utilisé les outils proxy de Burp Suite. Une fois dans le projet réel, j'ai rencontré le besoin de changer fréquemment l'adresse IP de la situation, et j'ai choisi d'utiliser le pool de proxy IP pour résoudre ce problème. Aujourd'hui, je vais partager la méthode de mise en œuvre spécifique.
Le chemin vers l'installation du proxy Burp
Avant de commencer, présentons brièvement Burp Suite, une suite d'outils d'analyse de vulnérabilité, de proxy d'attaque et de test pour les applications web. Dans le cadre d'un développement et d'un débogage normaux, nous utilisons souvent la fonction proxy de Burp Suite. Bien entendu, l'utilisation de la fonction proxy pose certains problèmes, tels que la nécessité de modifier l'adresse IP, etc.
Mise en œuvre d'un pool de serveurs mandataires IP
Comment résoudre ce problème ? Nous pouvons utiliser l'approche du pool de proxy IP pour y parvenir. En termes simples, un pool de proxy IP est un pool de plusieurs adresses IP à partir duquel un outil de proxy sélectionne au hasard une adresse IP à utiliser pour le proxy. Cela permet d'empêcher efficacement l'autre serveur de bloquer l'adresse IP.
Ensuite, voyons comment mettre en œuvre les paramètres de proxy de Burp Suite en utilisant des pools de proxy IP en conjonction avec le code.
"`ipipgothon
demandes d'importation
proxies = {'http' : 'http://ip:port', 'https' : ' https://ip:port'}
url = 'http://www.example.com'
r = requests.get(url, proxies=proxies)
“`
Dans le code ci-dessus, nous définissons d'abord un groupe de serveurs mandataires IP, puis nous les transmettons en tant qu'arguments à la méthode "get" de la bibliothèque de requêtes.
Bien entendu, dans la pratique, nous devons également changer l'adresse IP régulièrement. Dans ce cas, nous pouvons utiliser un service de pool de proxy IP tiers open source, IPProxyPool.
"`ipipgothon
demandes d'importation
def get_proxy().
return requests.get("http://127.0.0.1:8000/get/").content.decode()
def delete_proxy(proxy).
requests.get("http://127.0.0.1:8000/delete/?proxy={}".format(proxy))
def crawl(url, proxy).
proxies = {'http' : 'http://' + proxy, 'https' : 'https ://' + proxy}
essayer.
html = requests.get(url, proxies=proxies).content.decode()
# Effectuer les opérations de reptation appropriées
print(html)
sauf Exception comme e.
print(e)
delete_proxy(proxy)
if __name__ == '__main__'.
url = 'http://www.example.com'
proxy = get_proxy()
crawl(url, proxy)
“`
Dans le code ci-dessus, nous avons utilisé IPProxyPool pour obtenir l'adresse IP dans le pool de proxy IP. Nous l'avons ensuite transmise en tant que paramètre à la méthode "get" de la bibliothèque "requests". Lorsque la requête génère une exception, l'adresse IP est supprimée du pool de proxy IP afin d'éviter qu'elle ne soit utilisée lors de la prochaine requête.
En résumé, lorsque nous utilisons Burp Suite pour la procuration web, nous pouvons éviter le problème du blocage d'IP sur les serveurs en raison des changements fréquents d'adresse IP en utilisant un pool de procuration IP. Lors de la mise en œuvre, vous pouvez utiliser un service de pool de proxy IP tiers ou écrire votre propre code pour le mettre en œuvre. J'espère que cet article vous sera utile.