http://www.zago.eti.br/script/ip-pegar.txt
FAQ, dicas e indicações pra scripts pra pegar IP, manipular IP em
variaveis e scripts.
veja também outro FAQ sobre IP, semelhante a este, veja em:
http://www.zago.eti.br/firewall/ip.txt
Configurar a placa de rede e configurações de IP veja no FAQ:
http://www.zago.eti.br/placa_ne.txt
Pra calcular, mascara de rede, sub-rede, indicações de outros arquivos
no FAQ com mais dicas sobre IP, veja no FAQ
http://www.zago.eti.br/ip.txt
http://www.zago.eti.br/firewall/ip.txt
http://www.zago.eti.br/ip_calc.txt
http://www.zago.eti.br/firewall/
Use CTRL+F para refinar a pesquisa.
Linha de: **************** separa mensagens ou tópicos.
********************************************************
Zago
http://www.zago.eti.br/menu.html
FAQ e artigos sobre Linux
Veja também o resultado dos comandos:
Comando hostname -i retorna o ip da propria maquina.
hostname -i
192.168.1.130
ifconfig -a
retorna IP, MAC e outras informações, neste resultado o IP é 192.168.1.130
[root@cl10 root]# ifconfig -a
eth0 Encapsulamento do Link: Ethernet Endereço de HW 00:0C:76:8F:27:2F
inet end.: 192.168.1.130 Bcast:192.168.1.255 Masc:255.255.255.0
cat /etc/sysconfig/network-scripts/ifcfg-eth0
retorna as configurações da placa de rede, veja o resultado:
[root@cl10 root]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.130
NETMASK=255.255.255.0
HOSTNAME=cl10
DOMAIN=zago.eti.br
cat /etc/hosts
[root@cl10 root]# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.1.130 cl10.zago.eti.br cl10
Uso do comando arp.
arp - manipula o cache ARP do sistema
Não esqueça do manual = man arp
arp -v
Pra pegar IP de maquinas remotas conectatas na sua maquina:
[root@cl10 root]# arp -v
Endereço TipoHW EndereçoHW Flags Máscara Iface
192.168.1.53 ether 00:E0:4C:91:46:6C C eth0
Pra selecionar a placa de rede na pesquisa use -i
[root@cl10 root]# arp -i eth0
Endereço TipoHW EndereçoHW Flags Máscara Iface
192.168.1.53 ether 00:E0:4C:91:46:6C C eth0
Pegar IP de todas as maquinas da rede, precisa instalar o pacote nmap.
[root@cl10 apt]# nmap -sP 192.168.1.*
Starting nmap 3.50 ( http://www.insecure.org/nmap/ ) at 2005-04-05 21:53 BRT
Host 192.168.1.2 appears to be up.
Host 192.168.1.53 appears to be up.
Host 192.168.1.100 appears to be up.
Host 192.168.1.120 appears to be up.
Host cl10.zago.eti.br (192.168.1.130) appears to be up.
Nmap run completed -- 256 IP addresses (5 hosts up) scanned in 48.680 seconds
arping
[root@cl10 root]# apt-cache search arping
arping - Utilitário para ARP ping
man arping
********************************************************
O IP fica no arquivo:
#cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
Isto é o basico, poderá ter mais diretivas nesta configuração.
Cada placa de rede tem um arquivo associado a ela, pra segunda
placa será ifcfg-eth1, e assim por diante, pra saber o IP pode
acessar este arquivo diretamente, usar comandos como:
ifconfig
ifconfig -a
Tem varias ferramentas e formas se saber qual o IP da maquina, pra usar em
script segue alguns exemplos de comandos pra pegar IP e colocar em uma variavel.
Scripts pra pegar IP.
[zago@faqcl9 zago]$ hostname -i
192.168.1.53
[root@faqcl9 root]# ipeth0=`LC_ALL= LANG= ifconfig eth0 | grep "inet addr:" | sed 's/.*inet addr://' | cut -d ' ' -f 1`
cuidado com a quebra de linha no navegador, cliente de e-mail ou editores
de texto, a linha acima é uma única linha de comando, a linha abaixo foi
quebrada com a barra pra copiar e colar sem problema, o resultado é o mesmo:
ipeth0=`LC_ALL= LANG= ifconfig eth0 | grep "inet addr:" | \
sed 's/.*inet addr://' | cut -d ' ' -f 1`
Gravar IP local na variavel ipeth0:
como root:
ipeth0=`LC_ALL= LANG= ifconfig eth0 | grep "inet addr:" | \
sed 's/.*inet addr://' | cut -d ' ' -f 1`
com user normal:
ipeth0=`LC_ALL= LANG= /sbin/ifconfig eth0 | grep "inet addr:" | \
sed 's/.*inet addr://' | cut -d ' ' -f 1`
Neste exemplo pega o IP da eth0, pra outros device, troque na linha
de comando eth0 pelo que deseja pegar o IP.
Observe que "LC_ALL= LANG= " ajusta pro idioma local, alguns scripts
não consideram isto e acaba não pegando o IP, observe isto nas mensagens
deste FAQ, alguns script funcionam coretamente somente pra quem está
usando o idioma ingles.
pra ver o resultado:
[zago@faqcl9 zago]$ ipeth0=`LC_ALL= LANG= /sbin/ifconfig eth0 | grep "inet addr:" | \
sed 's/.*inet addr://' | cut -d ' ' -f 1`
[zago@faqcl9 zago]$ echo $ipeth0
192.168.1.53
ipeth0=`ifconfig eth0 | grep inet | cut -f2 -d: | cut -f2 -d" "`
echo $ipeth0
192.168.1.3
Ou:
ipeth0=`LC_ALL= LANG= /sbin/ifconfig eth0 | grep inet | cut -f2 -d: | cut -f1 -d" "`
echo $ipeth0
192.168.1.3
********************************************************
Pegar o MAC das placas de rede.
Vá na estação e dispare um ping para o servidor e depois execute arp no servidor,
veja a sequencia:
Na estação:
ping -c3 192.168.1.53
No servidor o comando arp retorna:
arp
Endereço TipoHW EndereçoHW Flags Máscara Iface
192.168.1.121 ether 00:0C:76:8F:27:2F C eth0
********************************************************
Pegar IP via site: http://whatismyip.com
Saber qual IP pegou na conexão, com qual IP está navegando, ideal para usar
em maquinas atras de proxy ou quando usa IP dinamico, pode executar na estaçao
da rede que pega o IP real que está usando na net.
Varios sites fornecem o IP ao acessar via browser, via script vai a dica
abaixo, a penultima linha envia o IP por e-mail, esta opção de enviar por e-mail
vale somente em maquinas com servidor de e-mail rodando, caso queira o resultado
no console, remova o redirecionador para o arquivo ipatual.txt esta parte (> ipatual.txt),
Para executar junto com o boot, acrescente no /etc/rc.d/rc.local ou outro local
mais apropriado na sua distro/instalação, segue copia do script.
[root@mailserv zago]# cat /etc/rc.d/ipatual.sh
#!/bin/bash
wget http://whatismyip.com/ -q -O ipatual
cat ipatual | grep "
ipatual.txt
mail zagolinux@gmail.com < ipatual.txt
rm -rf ipatual
rm -rf ipatual.txt
exit 0
As linhas que iniciam com rm -rf removem os dois arquivos que foram criados
no diretório local
rm -rf ipatual
rm -rf ipatual.txt
********************************************************
Pegar IP via site: http://whatismyip.com
#!/bin/bash
cd /tmp
ARQUIVOIP=`cat /tmp/iparquivo`
# ultimo ip enviado
# estação com IP 192.168.1.3, buscar o IP na net (myip)
wget http://whatismyip.com/ -q -O ipatual
cat ipatual | grep " /tmp/ipatual.txt
IPATUAL=`cat /tmp/ipatual.txt`
# comparar IP atual com iparquivo
echo $IPATUAL
echo $ARQUIVOIP
if [ $IPATUAL != $ARQUIVOIP ]
then
echo $IPATUAL
# enviar e-mail
DESTINATARIO="zagolinux@gmail.com"
ASSUNTO="Novo IP de .."
MENSAGEM="Novo IP $IPATUAL"
echo "$MENSAGEM" | mail -s "$ASSUNTO" "$DESTINATARIO"
echo $IPATUAL > /tmp/iparquivo
fi
falta testar a existencia do arquivos /tmp/iparquivo
ou se vazio.
#testar se existe iparquivo
#if -f /tmp/iparquivo
#if [ $? = 0 ]; then
# exit
# else
# echo "200.204.0.10" > /tmp/iparquivo
#fi
Ou da forma mais simples.
Pegar o IP da própria maquina, funciona na maquina do firewall,
em maquinas que faz a conexão com com rp-pppoe use interface ppp0,
nas demais use eth0 ou eth1 conforme a configuração.
Altere nos exemplos abaixo para sua interface e e-mail
enviar a linha do ifconfig que informa o IP, exemplo de recebida.
(inet end.: 192.168.1.3 Bcast:192.168.1.255 Masc:255.255.255.0)
ifconfig eth0 | grep inet | mail -s "IPATUAL" zagolinux@gmail.com
Enviar somente o IP, recebe somente o IP na mensagem
LC_ALL= LANG= /sbin/ifconfig eth0 | grep inet | cut -f2 -d: | cut -f1 -d" " | mail -s "IPATUAL" zagolinux@gmail.com
Outros exemplos para pegar o IP que está navegando.
lynx -dump www.whatismyip.com | grep Your | awk '{print $4}'
lynx -dump www.whatismyip.com | grep Your | awk '{print $4}' | mail -s "IPATUAL" zagolinux@gmail.com
********************************************************
Pegar IP via site modem club, basta acessar este endereço.
http://www.modemclub.com.br/cgi-bin/mostraip.cgi
Salvar resultado em arquivo via lynx.
lynx -dump http://www.modemclub.com.br/cgi-bin/mostraip.cgi > arqtemp.txt
retorna o IP na linha 10 do arquivo arqtemp.txt
Passar o IP para variável, fazer comparação ou retirar somente o IP,
use um script para incluir os demais comandos, exemplo para jogar o
IP em na variável MEUIP.
MEUIP=`awk 'NR == 10' arqtemp.txt`
echo $MEUIP
********************************************************
Pegar todos IP da rede, separar em dois arquivos, os que respondem e não
respondem ao PING.
salva o resultado em dois arquivos, caso não queira o resultado do que
não respondem, basta eliminar a opção de salvar em falhou.txt
for((i=1; i <= 255; i++)); do
if ! ping -c 2 192.168.1.$i ; then
echo "192.168.1.$i não respondeu $1 " >> falhou.txt
else
echo "192.168.1.$i respondeu $1 " >> respondeu.txt
fi
done
fonte deste script.
http://www.Dicas-L.com.br/dicas-l/20070829.php
********************************************************
De: Marcus Lima
Responder-a: marcuslima@marcuslima.eti.br
Para: Aguinaldo Fernandes Rosa , linux-br@bazar.conectiva.com.br
Assunto: Re: (linux-br)Script IP
Data: Wed, 17 Sep 2003 15:05:40 -0300
#!/bin/bash
export LANG=en
sIP=`ifconfig eth0 | grep -i inet | cut -d: -f2 | cut -d. -f1-3`
echo $sIP.
COMENTARIO ZAGO
A resposta acima serve para exibir os 3 primeiros octetos do IP, exibe o IP assim:
192.168.1.
caso tire o ponto do "echo $sIP." exibirá o IP assim: 192.168.1
Não sei pra serve mas caso precise basta usar um editor de texto para criar um script,
por exemplo:
vi pegarip
(copie estas linhas para o texto)
#!/bin/bash
export LANG=en
sIP=`ifconfig eth0 | grep -i inet | cut -d: -f2 | cut -d. -f1-3`
echo $sIP.
depois salve com: SHIT+: wq (grava e sai), torne-o executavel com:
chmod +rwx pegarip, e execute-o assim:
./pegarip
exibirá no prompt: 192.168.1.
Para exibir somente 192.168, altere no script -f1-3` para -f1-2`, fica assim:
#!/bin/bash
export LANG=en
sIP=`ifconfig eth0 | grep -i inet | cut -d: -f2 | cut -d. -f1-2`
echo $sIP
exibirá: 192.168
Para pegar todo o IP, altere no script -f1-3` para -f1-4`, fica assim:
#!/bin/bash
export LANG=en
sIP=`ifconfig eth0 | grep -i inet | cut -d: -f2 | cut -d. -f1-4`
echo $sIP
exibirá: 192.168.1.53 Bcast
********************************************************
De: Carlos Eduardo
Para: agfero@infotec.com.br, linux-br@bazar2.conectiva.com.br
Assunto: Re: (linux-br)Script IP - corrigido
Data: Thu, 18 Sep 2003 10:00:09 -0300
Voce pode fazer um script contendo a seguinte linha de comando:
cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep -i ipaddr | cut -d'"' -f2 | cut -b-11
OBS.:
Na parte que diz ... cut -d'"'...., é uma aspa dupla( " ) cercada por aspas simples( ' ' ),
tudo sem espaço.
Sem mais
Carlos E.
COMENTARIO ZAGO, teste no CL9:
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep -i ipaddr | cut -d'"' -f2 | cut -b-11
IPADDR=192.
Exibiu somente o primeiro octeto do IP da minha maquina.
Alterando no final do script de -b-11 para -b-22, exibe o IP completo.
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep -i ipaddr | cut -d'"' -f2 | cut -b-22
IPADDR=192.168.1.53
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep -i ipaddr
IPADDR=192.168.1.53
Parece que a parte | cut -d'"' -f2 não está fazendo efeito no script.
********************************************************
De: Augusto Farina
Para: linux-br@bazar2.conectiva.com.br
Assunto: Re: (linux-br)Como detectar endereçoIP
Data: Wed, 14 Jan 2004 08:33:37 -0200
> Olá!
>
> Estou utilizando um script de firewall com regras de iptables porém preciso
> saber como pegar meu IP já que uso VELOX e meu ip é dinâmico.
>
> Atualmente estou tentando algo como:
>
> NET='ifconfig ppp0 | grep inet | cut -f2 -d: | cut -f1 -d" "'/32
>
> mas o script retorna um erro tipo 'ppp0 bad argument
>
> alguma dica!
>
[auf@nirvana testes]$ cat bla.sh
#!/bin/sh
BLA=`ifconfig eth0 | grep inet | cut -f2 -d: | cut -f2 -d" "`
echo $BLA
[auf@nirvana testes]$ ./bla.sh
192.168.1.5
[auf@nirvana testes]$
Só mude sua a interface eth0 para aquela que voce quiser, mas antes veja se ela existe
mesmo =)
--
********************************************************
De: caio ferreira
Para: linux-br@bazar2.conectiva.com.br
Assunto: Re: (linux-br)Como detectar endereçoIP
Data: Wed, 14 Jan 2004 06:22:06 -0200
On Tue, 13 Jan 2004 12:55:10 +0000
Moacir Cardoso wrote:
> Estou utilizando um script de firewall com regras de iptables porém
> preciso saber como pegar meu IP já que uso VELOX e meu ip é dinâmico.
> Atualmente estou tentando algo como:
> NET='ifconfig ppp0 | grep inet | cut -f2 -d: | cut -f1 -d" "'/32
> mas o script retorna um erro tipo 'ppp0 bad argument
> alguma dica!
NET=`ifconfig ppp0 | grep "inet addr:" | sed 's/.*inet addr://' | cut -d' '
-f 1`
--
[ ]'s
******************* .''`.
* Caio A. Ferreira * : :' :
* GNU/Linux Debian * `. `'`
******************* `-
Gnupg ID 0x01186BE1
********************************************************
De: Moacir Cardoso
Para: Alessandro Cesar
Cc: linux
Assunto: Re: RES: RES: (linux-br)Como detectar endereçoIP
Data: Wed, 14 Jan 2004 17:33:35 +0000
Consegui! O comando abaixo funciona!
`ifconfig ppp0 | grep inet | cut -f 13 -d " "`/32
Bye!
Moa :-)
********************************************************
De: Thiago Macieira
Para: linux-br@bazar2.conectiva.com.br
Assunto: Re: (linux-br) ¿Variables que retorna o IP da máquina?
Data: Fri, 7 May 2004 21:16:11 -0300
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[não faça cross-post]
Miguel da Silva wrote:
>Olá para todos ... alguém conhece qual é a variável (se é que
> existe...) que retorna o IP que a máquina está usando?!?! Imagino que
> se uso DHCP o valor dessa variável mudará quando eu der resete na
> máquina, certo?
Certo. Não tem nenhuma variável assim.
Mas você pode recuperar o IP a partir da saída do comando ifconfig:
IP=$(LC_ALL=C ifconfig eth0 | awk '/inet addr:/ { print substr($2,6) }')
echo $IP
- --
Thiago Macieira - Registered Linux user #65028
thiago (AT) macieira (DOT) info
ICQ UIN: 1967141 PGP/GPG: 0x6EF45358; fingerprint:
********************************************************
De: Thiago Macieira
Para: linux-br@bazar2.conectiva.com.br
Assunto: Re: (linux-br) ¿Variables que retorna o IP da máquina?
Data: Sat, 8 May 2004 10:09:11 -0300
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Carlos wrote:
>#!/usr/bin/perl -w
>use strict;
>use IO::Socket;
>use Sys::Hostname;
>my $name = hostname();
>my $ip = inet_ntoa(scalar gethostbyname($name));
>printf("$ip\n");
>
>
>O programa acima sempre retornara o endereco ip da maquina , estando
> ele associado ao hostname.
Isso retorna o IP que deveria estar associado. Não garante que ele
esteja realmente associado.
Além disso, ele sempre retorna o IP principal. Pode ser que o usuário
queira o endereço em outra interface.
- --
Thiago Macieira - Registered Linux user #65028
thiago (AT) macieira (DOT) info
********************************************************
De: Thiago Macieira
Para: linux-br@bazar2.conectiva.com.br, Carlos A Silva
Assunto: Re: (linux-br) Achar o IP de camêra AXIS na Rede !
Data: Sat, 19 Jun 2004 13:09:39 -0300
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Carlos A Silva wrote:
>Já "varri" com o nmap, nada foi encontrado, pelo menos na classe
>192.168.0.0.
>Alguém tem alguma dica, como descobrir qual é o bendito IP dela??
>Alguma ferramenta que ajude nesta busca ??
>Que mostre os IPs, das mais variadas classes, de uma mesma rede
> física??
tcpdump, ethereal, etherape
PS: não abuse de !
- --
Thiago Macieira - Registered Linux user #65028
thiago (AT) macieira (DOT) info
ICQ UIN: 1967141 PGP/GPG: 0x6EF45358; fingerprint:
********************************************************
De: Thiago Macieira
Para: linux-br@bazar2.conectiva.com.br
Assunto: Re: (linux-br) descobrir endereço ip
Data: Mon, 12 Jul 2004 00:05:33 -0300
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
caio ferreira wrote:
># recover IPs
>ETH0IP=`ifconfig eth0 | grep "inet addr:" | sed 's/.*inet addr://' |
> cut -d ' ' -f 1`
Simplificando:
LC_ALL=C /sbin/ifconfig eth0 | \
sed -n '/inet addr/{s/^.*inet addr:\([^ ]*\) .*$/\1/;p;}'
- --
Thiago Macieira - Registered Linux user #65028
thiago (AT) macieira (DOT) info
ICQ UIN: 1967141 PGP/GPG: 0x6EF45358; fingerprint:
********************************************************
De: Cláudio Costa
Responder-a: c.costa@globo.com
Para: linux-br@bazar2.conectiva.com.br
Assunto: Re: (linux-br)Como saber meu IP na internet ?
Data: Fri, 29 Oct 2004 15:41:04 -0200
Em Qui 28 Out 2004 16:47, adilson escreveu:
> Eu quero apenas saber qual é o meu endereço de IP
> na internet - já que ele é dinâmico - quero descobrir
> isto a cada novo número que me for dado pelo
> meu ISP.
Olá Adilson:
Eu uso já algum tempo um script para isso.
Ele não é de minha autoria , e infelizmente não lembro do nome do autor para
dar-lhe os devidos créditos.
Ele funciona muito bem e com alguma alteração vc pode até carregar este
endereço num arquivo para utilização de algum aplicativo.
Segue o script:
#!/bin/sh
wget -q http://www.whatismyip.com/
IP_EXTERNO=`awk '/Your ip is/ {print $4}' index.html`
echo "Endereço IP externo: $IP_EXTERNO"
rm index.html
Viu simples e eficiente!
Saudações
--
Cláudio Costa
c.costa@globo.com
********************************************************
De: Thiago Macieira
Para: linux-br@bazar2.conectiva.com.br
Cc: Eddy Martins
Assunto: Re: (linux-br)verificando ips na rede
Data: Tue, 5 Apr 2005 15:58:00 -0300
Eddy Martins wrote:
>Bom dia lista...
>
>antes eu dava um comando no console q apaceria os ips q estava
>utilizando a minha rede.
>
>mas esqueci... alguem me passa esta comando ???
findsmb
ettercap
tcpdump -n
cat /var/lib/dhcp/dhcp.leases
--
Thiago Macieira - thiago (AT) macieira (DOT) info
********************************************************
De: Thiago Macieira
Para: linux-br@bazar2.conectiva.com.br
Assunto: Re: (linux-br)Como saber meu IP externo no modem ADSL
Data: Mon, 3 Oct 2005 23:13:32 -0300
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Rogério P. Teixeira wrote:
>Fiz uma pequena adaptação, usando o "sed" em vez do "awk", porque em meu
>sistema o script sugerido não funcionou:
>
>#------------- Inicio do script ip_externo.sh ----------------------
>#!/bin/sh
>wget -q http://www.whatismyip.com/
>sed -n 4p index.html | tr ' ' '\012\' | sed -n 5p > ip_externo.txt
>#------------- Final do script ip_externo.sh -----------------------
Por que não consertou o script awk ao invés disso? :-)
>No entanto, creio que deve haver alguma outra maneira de saber o
>endereço de gateway no shell, sem depender de um acesso externo pelo
>wget. Tentei com ifconfig, router e netstat, sem sucesso. Meu servidor é
>um FreeBSD com modem Parks 642R ADSL ligado no HUB, ambos com IP´s na
>rede 192.168.0.x e protocolo PPPoE (IP dinâmico).
Bom, visto que o IP não está na sua máquina (você disse que ela tem IP na
rede 192.168.0.0), mas sim no seu modem, a sua máquina sozinha nunca vai
saber o IP. Você tem as seguintes opções (e _somente_ elas):
1) usar um site externo para dizer qual é o seu IP
2) perguntar para o modem
Pergunto eu: o seu modem sabe responder qual é o IP? Se sim, basta usar
esse método. Alguns modem-roteadores têm um serviço de telnet para
configurá-los; outros mais avançados têm ssh. O mais simples têm serviço
de http.
- --
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
3. Ac seo woruld wearð geborod, swá se Scieppend cwæð "Gewurde Unix" and
wundor fremede and him "Unix" genemned, þæt is se rihtendgesamnung.
********************************************************
De: Manoel Pinho
Para: "Rogério P. Teixeira"
Cc: linux-br@bazar2.conectiva.com.br
Assunto: Re: (linux-br)Como saber meu IP externo no modem ADSL
Data: Tue, 04 Oct 2005 19:28:35 -0300
Rogério P. Teixeira escreveu:
> Tenho um problema semelhante ao postado aqui por outro usuário, ou seja,
> saber o endereço de gateway (IP externo) quando estou acessando a
> Internet via ADSL com modem roteador com IP dinâmico.
>
> Consegui solucionar isto, em parte, com a dica postada no link abaixo:
>
> http://bazar2.conectiva.com.br/pipermail/linux-br/2004-October/026048.html
Eu uso esse script (na realidade são linhas dentro do meu script de
autenticação):
#!/bin/sh
IP_EXTERNO=`curl http://www.whatismyip.com/ 2> /dev/null | awk --
'/Your IP/ {print $4}'`
echo "Endereço IP externo: $IP_EXTERNO"
********************************************************
De: Thiago Macieira
Para: linux-br@bazar2.conectiva.com.br
Cc: Rogério P. Teixeira
Assunto: Re: (linux-br)Como saber meu IP externo no modem ADSL
Data: Tue, 4 Oct 2005 23:45:24 -0300
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Rogério P. Teixeira wrote:
>>Por que não consertou o script awk ao invés disso? :-)
>
>Bem, primeiro, porque meu sistema é o FreeBSD e o comportamento do awk
>neste ambiente é um pouquinho diferente. Por exemplo, ele não reconheceu
>o comando "{print $4}", com certeza isso deve funcionar bem no Linux,
>mas aqui não funcionou; segundo, porque não me considero um expert em
>shell script, assim busquei outra alternativa com o sed, que funcionou.
Funciona bem:
$ echo 1 2 3 4 | awk '{print $4}'
4
$ uname -a
FreeBSD x86-freebsd1 4.10-BETA FreeBSD 4.10-BETA #24: Tue Apr 13 11:20:20
PDT 2004
Mas cuidado que é '{print $4}' não "{print $4}"
- - --
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
4. And æfter se scieppend ingelogode, he wrát "cenn", ac eala! se
rihtendgesamnung andswarode "cenn: ne wát hú cennan 'eall'. Ástynt."
********************************************************
De: Jorge Godoy
Para: Eduardo
Cc: Lista Linux-br
Assunto: Re: (linux-br) Descobrir o hostname através do IP
Data: Sun, 06 Aug 2006 16:18:34 -0300
Eduardo writes:
> Bem... A dúvida é a seguinte: como descobrir o hostname de uma máquina
> na rede local conhecendo apenas o seu IP?
host endereço_ip -> isso te dará o nome configurado no DNS.
> Observações:
> - Rede com 80 máquinas rodando vários tipos de distro linux;
> - Um servido dhcp ( Fedora core 5 ) fornecendo ip, gateway e dns;
> Como os ip's são dinâmicos não tenho nenhum mapeamento ip <-> hostname e
> também não irei colocar ip fixo nas máquinas; O que poderia ser feito
> apenas realizando algumas modificações no servidor dhcp fazendo com que
> ele fornecesse para determinadas placas ( endereço MAC ) um ip
> específico. Também não uso nenhum PDC na rede ( não senti necessidade
> ainda ).
E o quê te impede de colocar os nomes nas máquinas e fazer com que o servidor
DHCP atualize o DNS de acordo com o que receber delas? Existe essa
possibilidade há anos...
--
Jorge Godoy
De: Jorge Godoy
Para: Eduardo
Cc: linux-br@bazar2.conectiva.com.br
Assunto: Re: (linux-br) Descobrir o hostname através do IP
Data: Sun, 06 Aug 2006 18:10:10 -0300
Eduardo writes:
> Opa! Tudo bom?
> Bem... Não entendi direito a história do DNS ser atualizado pelo DHCP.
> Seria possível que você explicasse melhor?
> Obrigado pela antenção.
> Eduardo
Dê uma olhada na documentação do DHCP e do BIND. Você vai ver como funciona e
o que pode fazer. Quaisquer dúvidas, volte a postar na lista.
--
Jorge Godoy
********************************************************
De: Thiago Macieira
Para: linux-br@bazar2.conectiva.com.br
Assunto: Re: (linux-br) Descobrir o hostname através do IP
Data: Sun, 6 Aug 2006 21:37:48 +0200 (16:37 BRT)
Eduardo wrote:
>Bem... A dúvida é a seguinte: como descobrir o hostname de uma máquina
>na rede local conhecendo apenas o seu IP?
ssh usuario@IP hostname
É o jeito mais fácil e mais garantido. Obviamente você tem que ter o sshd
rodando e ter um usuário com shell ativo e senha.
Se as máquinas estiverem rodando Samba, você pode usar o nmblookup para
obter o nome SMB dessas máquinas. Em 99% dos casos, o nome SMB é o mesmo
que o nome da máquina.
>Criei um script recentemente que utiliza o nmap para scanear na rede as
>máquinas que estão ativas. Esse script gera um arquivo em html que é
>aberto pelo firefox mostrando as máquinas. O problema é que ele gera por
>ip e seria mais interessante que ele o fizesse pelo hostname. Fui no
>google e não consegui achar nada que me ajudasse, nenhum programa que
>escaneasse a rede me trazendo os hostnames e não ip's. Sei que se
>tivesse ip's fixos isso não seria problema algum...
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
********************************************************
********************************************************