updt: README help '-hq', mejora '-q --pais-desde'
iploc -q --pais-desde: muestra fecha ingresada como con local 'CL'. en el titular de la tabla
This commit is contained in:
parent
6e6eb49200
commit
9c722a7e04
102
README.md
102
README.md
@ -28,13 +28,14 @@ ej. alias `alias iploc='~/ruta/script/iplocate.py'`
|
||||
```bash
|
||||
ipLocate
|
||||
|
||||
Consulta información sobre IP(s) disponibles en ipinfo.io con o sin token.
|
||||
Carga logs de nginx en base de datos. Consulta con ipinfo.io y registra
|
||||
en base de datos.
|
||||
Consulta en ipinfo.io (con o sin token) información sobre IP(s).
|
||||
Carga logs de nginx en base de datos.
|
||||
Consulta con ipinfo.io y registra en base de datos.
|
||||
Consultas y reportes según información en la base de datos.
|
||||
|
||||
iploc -h - Muestra esta ayuda.
|
||||
|
||||
iploc -hq - Ayuda sobre querys.
|
||||
|
||||
Consultas ipinfo.io:
|
||||
iploc <IP> - Consulta la información de <IP> disponible en ipinfo.io.
|
||||
iploc -f <archivo> - Consulta info. de las IPs en <archivo> (ipinfo.io).
|
||||
@ -45,7 +46,7 @@ ej. alias `alias iploc='~/ruta/script/iplocate.py'`
|
||||
Consultas base de datos:
|
||||
iploc -d <IP> - Consulta la información de <IP> disponible en base de datos.
|
||||
iploc -D <archivo> - Consulta info. de las IPs en <archivo> (base de datos).
|
||||
iploc -M - Genera mapa según registro de la BD (cod. 200 y otros).
|
||||
iploc -M - Genera mapa según registro en BD (cod. 200 y otros).
|
||||
|
||||
Operaciones base de datos:
|
||||
iploc --sync - Sincroniza logs del servidor (bash script).
|
||||
@ -150,6 +151,90 @@ ej. formato `./archivo_IPs`.
|
||||
...
|
||||
```
|
||||
|
||||
### Reportes y consultas
|
||||
|
||||
`iploc -hq`
|
||||
```txt
|
||||
ipLocate
|
||||
|
||||
Reportes según consultas a base de datos.
|
||||
|
||||
Consultas a base de datos:
|
||||
iploc -q -p <pais> - Conteo de respuestas html para <pais> (ejs. CL AR)
|
||||
iploc -q --top <n> - Visitas top <n> paises
|
||||
iploc -q --detalle-pais <pais> - Muestra al detalle las visitas desde <pais>
|
||||
iploc -q --pais-desde <pais> <fecha> - Detalle visitas <pais> desde <fecha> (ej. 2022/9/19)
|
||||
```
|
||||
|
||||
**`iploc -q -p us`**
|
||||
|
||||
```txt
|
||||
Códigos html: US
|
||||
╭────────┬────────╮
|
||||
│ Código │ Conteo │
|
||||
├────────┼────────┤
|
||||
│ 404 │ 4806 │
|
||||
│ 200 │ 1772 │
|
||||
│ 400 │ 1709 │
|
||||
│ 403 │ 1381 │
|
||||
│ 0 │ 1089 │
|
||||
│ 301 │ 709 │
|
||||
│ 300 │ 284 │
|
||||
│ 405 │ 88 │
|
||||
│ 302 │ 14 │
|
||||
│ 303 │ 6 │
|
||||
│ 499 │ 2 │
|
||||
│ 444 │ 1 │
|
||||
╰────────┴────────╯
|
||||
```
|
||||
|
||||
**`iploc -q --top 3`**
|
||||
|
||||
```txt
|
||||
Vistas Top 3
|
||||
╭──────┬─────────╮
|
||||
│ País │ Visitas │
|
||||
├──────┼─────────┤
|
||||
│ US │ 2146 │
|
||||
│ CN │ 515 │
|
||||
│ DE │ 363 │
|
||||
╰──────┴─────────╯
|
||||
```
|
||||
|
||||
**`iploc -q --detalle-pais il`**
|
||||
|
||||
```txt
|
||||
Detalle visitas pais: IL
|
||||
╭────────────┬────────────────┬─────────┬───────────┬──────────────────────────────────────╮
|
||||
│ Fecha │ IP │ Metodo │ Respuesta │ Consulta │
|
||||
├────────────┼────────────────┼─────────┼───────────┼──────────────────────────────────────┤
|
||||
│ 2022-08-11 │ 87.239.255.117 │ GET │ 404 │ http://dyn.epicgifs.net/test6956.php │
|
||||
│ 2022-08-15 │ 87.239.255.117 │ GET │ 404 │ http://dyn.epicgifs.net/test6956.php │
|
||||
│ 2022-08-15 │ 87.239.255.117 │ GET │ 400 │ http://dyn.epicgifs.net/test6956.php │
|
||||
│ 2022-08-22 │ 79.179.30.54 │ OPTIONS │ 405 │ / │
|
||||
│ 2022-08-22 │ 79.179.30.54 │ POST │ 405 │ / │
|
||||
│ 2022-08-22 │ 79.179.30.54 │ GET │ 404 │ /robots.txt │
|
||||
│ 2022-08-28 │ 87.239.255.117 │ GET │ 404 │ http://dyn.epicgifs.net/test6956.php │
|
||||
│ 2022-09-03 │ 87.239.255.117 │ GET │ 404 │ http://dyn.epicgifs.net/test6956.php │
|
||||
╰────────────┴────────────────┴─────────┴───────────┴──────────────────────────────────────╯
|
||||
```
|
||||
|
||||
**`iploc -q --pais-desde fr 2022/9/17`**
|
||||
|
||||
```txt
|
||||
Visitas FR, desde 17/9/2022
|
||||
╭────────────┬────────────────┬────────┬───────────┬──────────────────────╮
|
||||
│ Fecha │ IP │ Metodo │ Respuesta │ Consulta │
|
||||
├────────────┼────────────────┼────────┼───────────┼──────────────────────┤
|
||||
│ 2022-09-17 │ 185.49.20.77 │ GET │ 444 │ /wp-login.php │
|
||||
│ 2022-09-18 │ 94.23.133.43 │ GET │ 444 │ //wallet/.git/config │
|
||||
│ 2022-09-18 │ 94.23.133.43 │ GET │ 444 │ //admin/.git/config │
|
||||
│ 2022-09-18 │ 94.23.133.43 │ GET │ 444 │ //core/.git/config │
|
||||
│ 2022-09-18 │ 94.23.133.43 │ GET │ 444 │ //live/.git/config │
|
||||
│ 2022-09-18 │ 212.83.186.254 │ HEAD │ 444 │ / │
|
||||
╰────────────┴────────────────┴────────┴───────────┴──────────────────────╯
|
||||
```
|
||||
|
||||
### Sicronización manual
|
||||
|
||||
No es necesario el uso manual del script, ya que este es llamado por `iploc --sync`.
|
||||
@ -177,7 +262,7 @@ Pero ya que existe, puede resultar conveniente tener la opción de llamar manual
|
||||
```
|
||||
|
||||
`./muevelog.sh --start`:
|
||||
Realiza todo el proceso **--sync**, **--copia**, **--extraer** y **--concat**.
|
||||
Realiza todo el proceso **--sync**, **--copia**, **--extraer** y **--concat**.
|
||||
|
||||
|
||||
### Implementación
|
||||
@ -215,7 +300,10 @@ Correr `iploc -h` para crear base de datos.
|
||||
|
||||
```
|
||||
📂️ nginx_data/
|
||||
├── 📁️ consultas/
|
||||
│ └── querys_sqlite.py
|
||||
├── 📁️ maps
|
||||
│ └── map_thumb.svg
|
||||
├── 📄️ __init__.py
|
||||
├── 📄️ config.cfg
|
||||
├── 📄️ ipinfo.db
|
||||
@ -251,5 +339,3 @@ Seguir los pasos explicados en [Uso](#uso).
|
||||
<br>
|
||||
|
||||
- *[Token](https://ipinfo.io/)*
|
||||
|
||||
|
||||
|
@ -66,10 +66,12 @@ def sel_pais_desde(pais, unix_e):
|
||||
resp = c.fetchall()
|
||||
return resp
|
||||
|
||||
def pt_sel_pais_fecha(pais, unix_e):
|
||||
respuesta = sel_pais_desde(pais, unix_e)
|
||||
def pt_sel_pais_fecha(pais, fecha_ux, fecha_loc):
|
||||
fecha = fecha_loc.split('/')
|
||||
fecha = fecha[2] +'/'+ fecha[1] +'/'+ fecha[0]
|
||||
respuesta = sel_pais_desde(pais, fecha_ux)
|
||||
tbl_v = Table(
|
||||
title=f"[bold][blue]Visitas {pais}, desde {unix_e}[/blue][/bold]",
|
||||
title=f"[bold][blue]Visitas {pais}, desde {fecha}[/blue][/bold]",
|
||||
box = box.ROUNDED,
|
||||
show_lines = False,
|
||||
row_styles=["dim", ""],
|
||||
|
13
iplocate.py
13
iplocate.py
@ -232,8 +232,9 @@ def main():
|
||||
querys.pt_top_paises(top)
|
||||
case '--pais-desde':
|
||||
pais = sys.argv[3]
|
||||
desde = sql_alch.fecha_error_to_epoch(sys.argv[4]+' 00:00:00')
|
||||
querys.pt_sel_pais_fecha(pais.upper(), desde)
|
||||
fecha_local = sys.argv[4]
|
||||
fecha_unix = sql_alch.fecha_error_to_epoch(sys.argv[4]+' 00:00:00')
|
||||
querys.pt_sel_pais_fecha(pais.upper(), fecha_unix, fecha_local)
|
||||
case '--detalle-pais':
|
||||
pais = sys.argv[3]
|
||||
querys.pt_visita_pais_detalle(pais.upper())
|
||||
@ -265,7 +266,7 @@ def uso_consultas():
|
||||
[deep_sky_blue1]Reportes según consultas a base de datos.[/deep_sky_blue1]
|
||||
|
||||
[bold blue]Consultas a base de datos:[/bold blue]
|
||||
[bold yellow]iploc -q -p[/bold yellow] [blue]<pais>[/blue] [green]- Conteo de respuestas html para <pais> (ejs. CL AR) <IP>[/green]
|
||||
[bold yellow]iploc -q -p[/bold yellow] [blue]<pais>[/blue] [green]- Conteo de respuestas html para <pais> (ejs. CL AR)[/green]
|
||||
[bold yellow]iploc -q --top [/bold yellow][blue]<n>[/blue] [green]- Visitas top <n> paises[/green]
|
||||
[bold yellow]iploc -q --detalle-pais[/bold yellow][blue] <pais>[/blue] [green]- Muestra al detalle las visitas desde <pais>[/green]
|
||||
[bold yellow]iploc -q --pais-desde[/bold yellow][blue] <pais> <fecha>[/blue] [green]- Detalle visitas <pais> desde <fecha> (ej. 2022/9/19)[/green]
|
||||
@ -276,9 +277,9 @@ def uso():
|
||||
ayuda = f"""
|
||||
[bold blue]ipLocate[/bold blue]
|
||||
|
||||
[deep_sky_blue1]Consulta información sobre IP(s) disponibles en ipinfo.io con o sin token.
|
||||
Carga logs de nginx en base de datos. Consulta con ipinfo.io y registra
|
||||
en base de datos.
|
||||
[deep_sky_blue1]Consulta en ipinfo.io (con o sin token) información sobre IP(s).
|
||||
Carga logs de nginx en base de datos.
|
||||
Consulta con ipinfo.io y registra en base de datos.
|
||||
Consultas y reportes según información en la base de datos.[/deep_sky_blue1]
|
||||
|
||||
[bold yellow]iploc -h[/bold yellow] [green]- Muestra esta ayuda.[/green]
|
||||
|
Loading…
Reference in New Issue
Block a user