Als Senior Network Engineer, habe ich die Durchführung einer eingehenden Forschung und mit Burp Suite Proxy-Tools. Einmal in der tatsächlichen Projekt, stieß die Notwendigkeit, häufig die IP-Adresse der Situation zu ändern, wählen Sie die IP-Proxy-Pool verwenden, um dieses Problem zu lösen. Heute werde ich die spezifische Implementierungsmethode teilen.
Der Weg zur Burp-Proxy-Einrichtung
Bevor wir beginnen, wollen wir kurz die Burp Suite vorstellen, eine Suite von Schwachstellen-Scannern, Angriffs-Proxys und Test-Tools für Webanwendungen. Bei der normalen Entwicklung und Fehlersuche verwenden wir oft die Proxy-Funktion der Burp Suite. Natürlich stoßen wir bei der Verwendung der Proxy-Funktion auch auf einige Probleme, wie die Notwendigkeit, die IP-Adresse zu ändern usw.
IP-Proxy-Pool-Implementierung
Wie lässt sich dieses Problem also lösen? Hier können wir den Ansatz des IP-Proxy-Pools verwenden. Einfach ausgedrückt ist ein IP-Proxy-Pool ein Pool mit mehreren IP-Adressen, aus dem ein Proxy-Tool nach dem Zufallsprinzip eine IP-Adresse für den Proxy auswählt. Dadurch kann effektiv verhindert werden, dass der andere Server die IP-Adresse blockiert.
Als Nächstes wollen wir uns ansehen, wie die Proxy-Einstellungen von Burp Suite unter Verwendung von IP-Proxy-Pools in Verbindung mit dem Code implementiert werden können.
"ipipgothon
Einfuhrgesuche
proxies = {'http': 'http://ip:port', 'https': ' https://ip:port'}
url = 'http://www.example.com'
r = requests.get(url, proxies=proxies)
“`
Im obigen Code definieren wir zunächst einen Pool von IP-Proxys und übergeben sie dann als Argumente an die get-Methode der Anforderungsbibliothek.
In der Praxis müssen wir natürlich auch die IP-Adresse regelmäßig ändern. Hier können wir einen quelloffenen IP-Proxy-Pool-Dienst eines Drittanbieters, IPProxyPool, verwenden.
"ipipgothon
Einfuhrgesuche
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}
versuchen.
html = requests.get(url, proxies=proxies).content.decode()
# Durchführung der entsprechenden Crawling-Vorgänge
drucken(html)
außer Ausnahme wie e.
drucken(e)
delete_proxy(proxy)
if __name__ == '__main__'.
url = 'http://www.example.com'
proxy = get_proxy()
crawl(url, proxy)
“`
Im obigen Code haben wir IPProxyPool verwendet, um die IP-Adresse im IP-Proxy-Pool zu erhalten. Dann übergeben wir sie als Parameter an die get-Methode der requests-Bibliothek. Wenn die Anfrage eine Ausnahme auslöst, wird die IP-Adresse aus dem IP-Proxy-Pool entfernt, um ihre Verwendung bei der nächsten Anfrage zu vermeiden.
Zusammenfassend lässt sich sagen, dass wir bei der Verwendung der Burp Suite für das Web-Proxying das Problem der IP-Sperrung auf Servern aufgrund häufiger IP-Adressänderungen durch die Verwendung eines IP-Proxy-Pools vermeiden können. Bei der Implementierung können Sie einen IP-Proxy-Pool-Dienst eines Drittanbieters verwenden oder Ihren eigenen Code schreiben, um ihn zu implementieren. Ich hoffe, dass dieser Artikel hilfreich für Sie sein wird.