Usurpation d'adresse IP à l'aide de tor sur macOS et vérification avec python

J'écrivais avec l'intention de gratter avec python, S'il est accédé à partir de la même adresse IP pendant un certain temps, l'accès sera refusé pendant un certain temps. Si un site comme celui-ci apparaît, vous ne pourrez peut-être pas bien gratter, alors Je vais usurper mon adresse IP et la gratter.

Cependant, comme il s'agit d'une confirmation de fonctionnement uniquement pour macOS, je pense que la méthode est un peu différente surtout pour Windows.

À propos, le déguisement donne une mauvaise impression, mais cela ne signifie pas qu'il est mauvais. Bien entendu, lors du scraping, tenez compte du temps d'exécution du programme pour ne pas mettre de charge sur le serveur cible.

Les choses nécessaires

Installation de Python

Veuillez installer la série 3. (Je pense que cela fonctionnera avec 2 systèmes, mais l'opération n'a pas été confirmée)

demande l'installation d'une bibliothèque

Une bibliothèque qui appelle une URL externe (API) à partir de python. C'est comme ajax en javascript.

Installez avec la commande suivante

pip install requests

installation de la bibliothèque beautifulsoup4

C'est une bibliothèque qui vous permet de prendre le contenu avec des conditions plus détaillées après avoir obtenu le texte avec demande.

pip install beautifulsoup4

tor

C'est un tor qui peut communiquer de manière anonyme. Utilisez ceci pour l'usurpation d'adresse IP. https://www.torproject.org/

Installez avec la commande suivante.

brew install tor

Une fois l'installation terminée, entrez la commande suivante

tor

Divers processus commenceront. Il est terminé lorsque les conditions suivantes sont remplies.

Jan 28 00:29:59.000 [notice] Bootstrapped 100% (done): Done

Puis démarrez tor.

brew services start tor

Ce n'est pas grave si vous obtenez ** avec succès ** l'anglais.

programmation python

Écrivons python. Cette fois, j'ai accédé à l'URL pour obtenir ma propre adresse IP et j'ai regardé le résultat.

Vous pouvez vérifier votre propre adresse IP sur le site suivant. https://grupo.jp/myip/

test.py

#UTF-8
import requests
from bs4 import BeautifulSoup

get = requests.get('http://httpbin.org/ip').text
soup = BeautifulSoup(get, 'html.parser')
ip = soup.find('table', class_='pubwaku')

print(get)

Tout d'abord, une exécution de grattage normale

python test.py

Les résultats suivants seront renvoyés. Un grand nombre de données HTML seront renvoyées, mais recherchez l'emplacement où l'adresse IP et l'hôte distant sont écrits comme indiqué ci-dessous.

<tr><th>adresse IP</th><td style="font-size:18px;font-weight:bold;">153.999.999.99</td><td class="commentary">現在、接続されるadresse IP</td></tr>
<tr><th>Hôte distant</th><td>p554999-************.*****.ne.jp</td><td class="commentary">Nom d'hôte associé à l'adresse IP</td></tr>

** Adresse IP ** 153.999.999.99

** Hôte distant ** p554999-*******..ne.jp

Si cela reste tel quel, ce sera un grattage normal, mais en passant à la description suivante, ce sera un grattage à l'aide de tor.

test.py

#UTF-8
import requests
from bs4 import BeautifulSoup

get = requests.get('https://grupo.jp/myip/',
                    proxies=dict(http='socks5://127.0.0.1:9050',
                                 https='socks5://127.0.0.1:9050')).text

soup = BeautifulSoup(get, 'html.parser')
ip = soup.find('table', class_='pubwaku')
                                 
print(ip)

Ajout d'une partie des proxys dans les demandes.

Courir

python test.py

Voyons le résultat. Recherchez à nouveau l'emplacement où l'IP et l'hôte distant sont écrits.

Les résultats suivants seront renvoyés. Un grand nombre de données HTML seront renvoyées, mais recherchez l'emplacement où l'adresse IP et l'hôte distant sont écrits comme indiqué ci-dessous.

<tr><th>adresse IP</th><td style="font-size:18px;font-weight:bold;">82.223.99.999</td><td class="commentary">現在、接続されるadresse IP</td></tr>
<tr><th>Hôte distant</th><td>tornode3.*******.net</td><td class="commentary">Nom d'hôte associé à l'adresse IP</td></tr>

** Adresse IP ** 82.223.99.999

** Hôte distant ** tornode3.*******.net

Comme vous pouvez le voir, non seulement l'adresse IP, mais également l'hôte distant convient.

Si vous exécutez à nouveau test.py, l'adresse IP restera la même. Si vous souhaitez modifier à nouveau l'adresse IP, redémarrez tor.

Redémarrer

brew services restart tor

exécuter test.py

python test.py

Vérifiez le résultat.

<tr><th>adresse IP</th><td style="font-size:18px;font-weight:bold;">109.70.999.99</td><td class="commentary">現在、接続されるadresse IP</td></tr>
<tr><th>Hôte distant</th><td>tor-exit-anonymizer.********.net</td><td class="commentary">Nom d'hôte associé à l'adresse IP</td></tr>

** Adresse IP ** 109.70.999.99

** Hôte distant ** tor-exit-anonymizer.********.net

Résumé

Qu'est-ce que tu penses. Comme mentionné ci-dessus, la falsification de l'adresse IP peut être effectuée facilement. Ensuite, il n'en est pas ainsi si la vérification IP est inutile pour les attaques DoS. Pour changer l'adresse IP, vous devez redémarrer tor, ce qui prend un certain temps. Par conséquent, il est difficile d'attaquer avec différentes adresses IP des centaines de fois par seconde. Par conséquent, un programme qui rejette temporairement un certain nombre d'accès à partir de la même adresse IP est efficace dans une certaine mesure. ** Cependant, il n'est pas efficace contre les attaques DDos **

Arrêtez de gaspiller l'accès et les méfaits en grattant.

Recommended Posts

Usurpation d'adresse IP à l'aide de tor sur macOS et vérification avec python
Notes sur l'utilisation de rstrip avec python.
Utilisation de Python et MeCab avec Azure Databricks
Un mémo contenant Python2.7 et Python3 dans CentOS
Vérifiez les cours des actions avec Slackbot en utilisant Python
J'utilise tox et Python 3.3 avec Travis-CI
Installation de PIL avec Python 3.x sur macOS
Paramètres lors de l'utilisation de requêtes Python 3 et de Beautiful Soup avec crostini sur Chromebook
Remarques sur l'installation de Python3 et l'utilisation de pip sous Windows7
Installez Python 3.8.6 sur macOS BigSur à l'aide de pyenv
Installez OpenCV 4.0 et Python 3.7 sur Windows 10 avec Anaconda
Installez Python 3 sur MacOS Catalina (avec Homebrew uniquement)
Installer Python et les bibliothèques pour Python sur MacOS Catalina
Vérification de domaine avec Python
Vérifier la version avec python
Paramètres initiaux pour l'utilisation de Python3.8 et pip sur CentOS8
Remarques sur le traitement d'images HDR et RAW avec Python
Installez le sélénium sur votre Mac et essayez-le avec python
Suivi automatique sur Twitter avec python et sélénium! (RPA)
Vérifiez types_map lors de l'utilisation de mimetypes avec AWS Lambda (Python)
Obtenez des commentaires sur youtube Live avec [python] et [pytchat]!
Ubuntu 20.04 sur raspberry pi 4 avec OpenCV et utilisation avec python
Créer un environnement de développement Python à l'aide de pyenv sur MacOS
E-mail hipchat avec postfix, fluentd et python sur Azure
Automatisez Chrome avec Python et Selenium sur votre Chromebook
Programmation avec Python et Tkinter
Chiffrement et déchiffrement avec Python
Python et matériel - Utilisation de RS232C avec Python -
Python sur Ruby et Ruby en colère sur Python
[S3] CRUD avec S3 utilisant Python [Python]
Vérifiez la couverture de python avec pytest-cov
Enregistrez une adresse IP globale avec python
Utilisez Python 3 introduit par l'outil de ligne de commande sur macOS Catalina
Construire un environnement Python sur un Mac, jusqu'au point d'utiliser Jupyter Lab
[Python] Utilisation d'OpenCV avec Python (basique)
Tester Python avec Miniconda dans un environnement OS X et Linux avec travis-ci
Grattage avec Tor en Python
La communication I2C est effectuée en contrôlant la communication série avec python (à l'aide d'un périphérique USBGPIO8)
python avec pyenv et venv
Remarques sur le déploiement de pyenv avec Homebrew et la gestion des versions de Python
Diffusion sur LINE en utilisant python
Contrôle de la communication série avec communication python et SPI (à l'aide d'un périphérique USBGPIO8)
Utiliser OpenCV avec Python @Mac
Fonctionne avec Python et R
Envoyer en utilisant Python avec Gmail
Créez un environnement Python 2.7 64 bits avec TDM-GCC et MinGW-w64 sous Windows 7
Créez un classement de jeu sur le cloud Alibaba en utilisant Python et Redis
Créez un environnement Python sur votre Mac avec Anaconda et PyCharm
Erreur et solution lors de l'installation de python3 avec homebrew sur mac (catalina 10.15)
Obtenez des données de VPS MySQL avec Python 3 et SQL Alchemy
Pour utiliser python, mettez pyenv sur macOS avec PyCall
[Python] Mémo d'erreur et de solution lors de l'utilisation de venv avec pyenv + anaconda
Installez lp_solve sur Mac OSX et appelez-le avec python.
Communiquez avec FX-5204PS avec Python et PyUSB
Compléter python avec emacs en utilisant company-jedi
Briller la vie avec Python et OpenCV