Ads by RevenueHits

Linuxeros Faq

Ads by Bidvertiser

Busqueda sobre Linux y software libre

Obtener número IP en Linux Bash tip - Número IP


Primera forma

Un interesante tip de otra forma de obtener el numero ip de un
interface de red en linux bash:


# ifconfig eth0 | awk '/inet addr/ {split ($2,A,":"); print A[2]}'


Fuente:


http://adf.ly/1ecLp3


Segunda forma

Buena! ahí te van las que yo uso...

# perl -e '`ifconfig eth0`=~/inet [^:]*:([^ ]+)/; print $1;'
# ifconfig eth0|egrep '^ +inet '|sed -r 's/[^:]+:([^ ]+).+/\1/'

3ra forma

Esto lo que uso en casa, para actualizar mi servidor casero con DynDNS:

en /usr/local/bin/getip.py:

#!/usr/bin/python
import socket
import fcntl
import struct
import sys

# Receta de http://code.activestate.com/recipes/439094/
def getip(ifname):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
return socket.inet_ntoa(fcntl.ioctl(
s.fileno(),
0x8915, # SIOCGIFADDR
struct.pack('256s', ifname[:15])
)[20:24])
except:
return 'No such device'

if __name__ == "__main__":
# Se que puedo usar la libreria getopt ... pero esto me parece mas simple
try:
ifname = sys.argv[1]
except:
ifname = 'lo' # Si no damos una interfaz de red, usamos la por defecto
print getip(ifname)

## Fin getip.py

Probando
mariocesar@laptop:~$ getip.py
127.0.0.1
mariocesar@laptop:~$ getip.py wlan0
192.168.1.90
mariocesar@laptop:~$ getip.py eth0
201.222.109.231
mariocesar@laptop:~$ getip.py eth1
No such device
mariocesar@laptop:~$ getip.py eth2
No such device

no estoy seguro, pero talves funcione en windows. No se si alguien tiene todavía instalado un windows para probarlo. Me da curiosidad.

Ads By Bidvertiser

Tienda linuxeros FAQ

29440009-121797753

Ads by Daily Motion