Obtendo o IP público (Internet) usando o Ruby
Algumas vezes nós precisamos saber qual é o nosso endereço de IP público (que é diferente do de rede) e uma das formas de fazer isso é acessando serviços online que mostram seu IP.
Este script segue o mesmo modelo do script que fiz a tempos atrás mas desta vez em Ruby.
PRÉ-REQUISITOS:
- ruby
- módulo open-uri
REFERÊNCIAS:
http://ruby-doc.org/stdlib-2.2.0/libdoc/open-uri/rdoc/OpenURI.html
EXECUTANDO:
Para executar o script:
$ ruby public-ip.rb
Este script segue o mesmo modelo do script que fiz a tempos atrás mas desta vez em Ruby.
PRÉ-REQUISITOS:
- ruby
- módulo open-uri
REFERÊNCIAS:
http://ruby-doc.org/stdlib-2.2.0/libdoc/open-uri/rdoc/OpenURI.html
EXECUTANDO:
Para executar o script:
$ ruby public-ip.rb
Descrição
Algumas vezes nós precisamos saber qual é o nosso endereço de IP público (que é diferente do de rede) e uma das formas de fazer isso é acessando serviços online que mostram seu IP.
Este script segue o mesmo modelo do script que fiz a tempos atrás mas desta vez em Ruby.
PRÉ-REQUISITOS:
- ruby
- módulo open-uri
REFERÊNCIAS:
http://ruby-doc.org/stdlib-2.2.0/libdoc/open-uri/rdoc/OpenURI.html
EXECUTANDO:
Para executar o script:
$ ruby public-ip.rb
Este script segue o mesmo modelo do script que fiz a tempos atrás mas desta vez em Ruby.
PRÉ-REQUISITOS:
- ruby
- módulo open-uri
REFERÊNCIAS:
http://ruby-doc.org/stdlib-2.2.0/libdoc/open-uri/rdoc/OpenURI.html
EXECUTANDO:
Para executar o script:
$ ruby public-ip.rb
#!/usr/bin/env ruby
# 2016 (c) Daniel Vinciguerra
require 'open-uri'
# sites fonte
source_list = %w[ http://ipinfo.io/ip http://checkip.dyndns.org ];
source_list.each do |site|
open site do |html|
# parseando o ip
/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/.match(html.readlines.to_s);
next unless $1
# retorna o ip
puts $1; exit
end
end
eu uso de boa o ifconfig
ifconfig | egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}' | sed -n -e 3p
trocando o 3p pelo numero da posição da sua placa, no meu caso a placa que eu uso fica na terceira posição.
também é possível das seguintes formas.
curl -s http://checkip.dyndns.org | egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}'
curl -s http://whatismijnip.nl |cut -d " " -f 5
---> As vezes Para Não Me Estressar Prefiro Não Comentar
---> Márcio M M <---