viniciusalopes
(usa Ubuntu)
Enviado em 07/01/2018 - 03:23h
Opa!
Espero que esse vídeo ajude!
Neste vídeo, obtenho a geolocalização do servidor, sem o uso de navegadores de internet com interface. Todos os comandos são executados via terminal, em um servidor Debian 8.9 recém instalado. Abaixo, a sequencia de comandos e o script utilizado no vídeo para a automação da consulta da geolocalização.
Realize testes em dias diferentes e após reiniciar o roteador, para que o IP externo se altere. Assim poderá observar os níveis de variação da geolocalização obtida com esse script (script no final).
COMANDOS DO VÍDEO:
- Conexão via SSH com o servidor
$ ssh [USUARIO]@[IP_DO_SERVIDOR]
- Acesso de super usuário
$ su
- Exibe dados da versão do servidor
# cat /etc/*-release && uname -a
- Verifica se o sistema está atualizado
# apt update
- Download do pacote de instalação do 'docker-ce'
# wget https://download.docker.com/linux/debian/dists/jessie/pool/stable/amd64/docker-ce_17.03.2~ce-0~debia...
- Instalação do pacote baixado
# dpkg -i docker-ce_17.03.2~ce-0~debian-jessie_amd64.deb
- Download da dependência 'libapparmor1'
# wget http://ftp.br.debian.org/debian/pool/main/a/apparmor/libapparmor1_2.9.0-3_amd64.deb
- Download da dependência 'libltdl7'
# wget http://ftp.br.debian.org/debian/pool/main/libt/libtool/libltdl7_2.4.2-1.11+b1_amd64.deb
- Instalação dos pacotes das dependências 'libapparmor1' e 'libltdl7'
# dpkg -i lib*
- Instalação do pacote baixado
# dpkg -i docker-ce_17.03.2~ce-0~debian-jessie_amd64.deb
- Executar a API em um container
# docker run –restart=always -p 8080:8080 -d fiorix/freegeoip
- Instalação do ‘curl’ via apt
# apt install curl
- Obter o IP externo do servidor
# curl ifconfig.me
- Obter a geolocalização do servidor
# curl localhost:8080/[IP_DO_SERVIDOR]
- Copia o script de outro servidor em minha rede
# scp [USUARIO]@[IP_DO_SERVIDOR]:/caminho/do/arquivo.sh [NOME_DO_ARQUIVO].sh
- Edita o script com o ‘nano’
# nano [NOME_DO_ARQUIVO].sh
-------------------
- Conteúdo do SCRIPT de Automação da Consulta
#!/bin/bash
echo -e "-\nObtendo IP externo..."
meuip=`curl ifconfig.me`
echo -e "--------------------------------------------------------------------------------\nObtendo geolocalização..."
geolocal=`curl localhost:8080/json/$meuip`
IFS=',' read -r -a array <<< $geolocal
#for element in "${array[@]}"
#do
# echo "$element"
#done
ip=`echo "${array[0]}" | cut -d: -f2 | sed -e 's/\"//g'`
pais=`echo "${array[2]}" | cut -d: -f2 | sed -e 's/\"//g'`
uf=`echo "${array[3]}" | cut -d: -f2 | sed -e 's/\"//g'`
cidade=`echo "${array[5]}" | cut -d: -f2 | sed -e 's/\"//g'`
latitude=`echo "${array[8]}" | cut -d: -f2`
longitude=`echo "${array[9]}" | cut -d: -f2`
echo -e "--------------------------------------------------------------------------------\nRESULTADOS:"
echo "IP.......: $ip"
echo "Latitude.: $latitude"
echo "Longitude: $longitude"
echo "Cidade...: $cidade-$uf"
echo "País.....: $pais"
-------------------
- Encerra a sessão do superusuário (root)
# Ctrl+d
__________________________________
/ Apresente soluções! \
| Opiniões não resolvem problemas. |
| |
\ --Viniciusalopes /
---------------------------------
\ ^__^
\ (oo)\_______
(__) )/\/
||----w |
|| ||