Underc0de

Programación Scripting => Python => Mensaje iniciado por: DtxdF en Julio 07, 2018, 06:01:25 AM

Título: BreadBad: Geolocalizar una dirección IP, A traves de tu consola con python
Publicado por: DtxdF en Julio 07, 2018, 06:01:25 AM
Este post no solo me costo publicarlo debido a la dificultad de mi internet, si no tambien programando y subiendolo a github (por que es primera vez que subo un proyecto a github, espero les guste)

Esto lo hago con la finalidad de enseñarles que tan facil es geolocalizar una dirección IP, a traves de la consola.

Eh diseñado un script en python llamado: 'BreadBad' que se encarga de geolocalizar una dirección IP o un dominio.

Instalacion y Uso:

1) - Nos vamos a mi repositorio de github donde se encuentra BreadBad: https://github.com/DtxdF/BreadBad

(https://i.imgur.com/9PNIPjZ.png)

2) - Clonamos o descargarmos el repositorio:

(https://i.imgur.com/uibBxCe.png)

3) - Extraemos, Abrimos nuestra consola y ejecutamos BreadBad.py

(https://i.imgur.com/Lh9tvUg.png)

Nota: lo sobraye asi porque cada vez que ejecutamos BreadBad nos mostrara informacion de nuestra direccion ip (En este caso era la informacion de mi ip y no quiero que se muestre)

(https://i.imgur.com/pwQhMtg.png)

4) - Una vez ya hecho los pasos anteriores usamos el siguiente comando para ver la información de una ip en especifico: ipadress example.com

Nota: example.com se puede cambiar por una direccion ip que queramos localizar, y example.com es un dominio existente

(https://i.imgur.com/drWDU5R.png)

# Una vez ya definida el dominio/IP podremos ejecutar los comandos que nos aparece en el menu de ayuda al inicio de la ejecucion como por ejemplo: Country (Que nos muestra el pais de origen de esa direccion ip), City (La ciudad de origen de la direccion ip), y asi sucesivamente para ver la informacion en especifico.

# Espero les halla gustado ...

- DtxdF
Título: Re:BreadBad: Geolocalizar una dirección IP, A traves de tu consola con python
Publicado por: WizardGT en Abril 08, 2019, 10:06:01 PM
Voy a ver el codigo a ver como funciona ya que soy estudiante de python, gracias
Título: Re:BreadBad: Geolocalizar una dirección IP, A traves de tu consola con python
Publicado por: animanegra en Abril 09, 2019, 06:28:20 AM
El código hace una petición a http://ip-api.com/json/direccionIP. Se puede ver en la siguiente linea:


loads(urllib.urlopen("http://ip-api.com/json/"+self.ip).read())


Y rellena los datos en una estructura para la salida. Procesa para dejar todo muy guai.

El servicio online ese esta brutalísimo y devuelve datos en JSON de la ip para que los importes directamente o lo scriptes fácilmente e integres en aplicaciones.

En realidad el programa python es bastante equivalente a hacer esto en ejecutar esto en la consola bash (Con sus diferencias evidentes, esto son los datos en bruto puestos semi bonitos y utilizando herramientas del propio linux):

animanegra@taco:~/$ curl "http://ip-api.com/json/www.google.com" 2> /dev/null | json_pp
{
   "lon" : 2.35222,
   "zip" : "75000",
   "country" : "France",
   "timezone" : "Europe/Paris",
   "region" : "IDF",
   "as" : "AS15169 Google LLC",
   "lat" : 48.8566,
   "countryCode" : "FR",
   "isp" : "Google LLC",
   "query" : "216.58.213.132",
   "city" : "Paris",
   "org" : "Google LLC",
   "status" : "success",
   "regionName" : "Île-de-France"
}


Se puede empaquetar dentro de un programa bash de esta forma:

#! /bin/bash
curl "http://ip-api.com/json/$1" 2> /dev/null | json_pp


Al que se le cambian permisos con +x y ya puedes ejecutarlo pasando como primer parámetro la IP o nombre del que deseas hacer la petición.
Título: Re:BreadBad: Geolocalizar una dirección IP, A traves de tu consola con python
Publicado por: DtxdF en Abril 09, 2019, 08:54:42 AM
@animanegra (https://underc0de.org/foro/index.php?action=profile;u=64559)

Hola, lo se, se que se puede hacer con otros programas que hagan una simple peticion http.

El programa BreadBad no es la estrella, es geoip.py que es el que hace todo, para que puedas integrarla en aplicaciones o lo edites. Ya que siempre se crean este tipo de programas/scripts pero sin un modulo para que se pueda usar en otras partes.