pegar dados em um arquivo e salvar a saida [RESOLVIDO]

1. pegar dados em um arquivo e salvar a saida [RESOLVIDO]

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 03/10/2016 - 20:14h

Olá pessoal, to enrolado nesse script de segurança que to fazendo.
a ideia é pegar o ip, local da tentativa de login no caso smtp, pop, modsecurit ou outro local
e pegar o país do ip.
no arquivo está desse modo por exemplo:
192.99.221.134 # lfd: (smtpauth) Failed SMTP AUTH login from 192.99.221.134 (CA/Canada/-): 5 in the last 3600 secs - Sat Oct 1 18:31:22 2016
minha ideia era fazer isso
ipp 192.99.221.134 local smtpauth pais CA/Canada

até que funciona mas em alguns casos ocorre isso
ipp 198.23.216.222 local (mod_security) pais id:400023

a ideia seria salva em um arquivo dessa forma
ipp local país
pois pretendo salvar os dados no mysql

script

#!/bin/bash
SHELL=/bin/sh
PATH=/sbin:/usr/sbin:/usr/bin:/bin

clear

egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}' /home/marciommm/csf.deny | awk -F " " '{print "ipp " $1 }' >/home/bloqueios-csf/lista.txt

sed -i "/192.168.254.0/d" /home/bloqueios-csf/lista.txt

cat /home/bloqueios-csf/lista.txt | sed -r 's/(ipp)//g'|
while read ipp
do


VERIFICA=` cat /home/marciommm/csf.deny | grep "\b$ipp\b" | wc -l `

PEGA_LOCAL=` cat /home/marciommm/csf.deny | grep "\b$ipp\b" | awk -F " " '{print "local " $4 }' `
PEGA_PAIS=`cat /home/marciommm/csf.deny | grep "\b$ipp\b" | awk -F"(" '{print "pais " $3 }' | awk -F")" '{print " " $1 }' `

if [ "$VERIFICA" -gt "0" ];
then
echo -e "ipp $ipp $PEGA_LOCAL $PEGA_PAIS"
else
echo ""
fi
done







  


2. MELHOR RESPOSTA

Iago Lira
iagolira

(usa Debian)

Enviado em 05/10/2016 - 10:43h

Instale o "curl" e Implemente o código abaixo:

curl ipinfo.io/IP


E para capturar osomente o país:

curl ipinfo.io/IP | grep country | sed 's/[":,]//g; s/.*country//g; s/ //g'


Ou


curl ipinfo.io/IP | sed '1,5d;7,9d;s/[",:]//g;s/.*country //g'


Também tem o "geoiplookup": http://xmodulo.com/geographic-location-ip-address-command-line.html ou https://www.maketecheasier.com/ip-address-geolocation-lookups-linux/

Espero que minha resposta seja útil.

Nome: Francisco Iago Lira Passos
Curso: Mestrando em Física

3. Re: pegar dados em um arquivo e salvar a saida

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 05/10/2016 - 11:33h

Olá,
obrigado pela resposta uma boa solução esse curl ipinfo.io
pena que ele mostra só a sigla do país por exemplo
Turkey ele mostra TR mas já ajuda muito por que posso editar meu script usando o resultado do curl
vai me ajudar muito em outros scripts pois varias vezes precisei consultar um ip por linha de comando e não conhecia esse comando.
valeu!!!!

---> Márcio M M <---


4. Re: pegar dados em um arquivo e salvar a saida [RESOLVIDO]

Iago Lira
iagolira

(usa Debian)

Enviado em 05/10/2016 - 11:51h

conectadohost escreveu:

Olá,
obrigado pela resposta uma boa solução esse curl ipinfo.io
pena que ele mostra só a sigla do país por exemplo
Turkey ele mostra TR mas já ajuda muito por que posso editar meu script usando o resultado do curl
vai me ajudar muito em outros scripts pois varias vezes precisei consultar um ip por linha de comando e não conhecia esse comando.
valeu!!!!

---> Márcio M M <---


Que bom que ajudei.

Nome: Francisco Iago Lira Passos
Curso: Mestrando em Física


5. Re: pegar dados em um arquivo e salvar a saida [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 05/10/2016 - 16:53h

conectadohost escreveu:

Pena que ele mostra só a sigla do país por exemplo . . .
---> Márcio M M <---


Marcio, verifique se ajuda:
lynx -accept_all_cookies --dump ipinfo.io|egrep 'City' |sed -r 's/^[ ]+City[ ]+//g' 

São Paulo, Sao Paulo, Brazil

marcelo oliver



6. Re: pegar dados em um arquivo e salvar a saida [RESOLVIDO]

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 05/10/2016 - 22:57h

Olá,
tava sentindo falta de suas respostas msoliver.kkkk
Perfeito


lynx -accept_all_cookies --dump ipinfo.io/37.187.35.173 |egrep 'City' |sed -r 's/^[ ]+City[ ]+//g'

me deu o resultado France

o script ficou como eu queria o resultado
ipp 37.187.35.173 local (mod_security) pais France

desse modo eu faço um loop com while e um insert no mysql
listo no php e está pronto meu plugin de logs pra Cpanel/WHM

Valeu msoliver e passosfil

---> Márcio M M <---






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts