Как вы получаете IP-адрес данного сетевого интерфейса? - PullRequest
0 голосов
/ 02 сентября 2011

В Python есть функция для получения IP-адреса данного сетевого интерфейса?Есть ли программа командной строки, которая может это сделать?

Я хочу получить IP-адрес en1.

Это результат ifconfig на моей машине.

$  ifconfig 
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    inet6 ::1 prefixlen 128 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    inet 127.0.0.1 netmask 0xff000000 
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:23:32:be:4e:90 
    media: autoselect
    status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:23:6c:7e:3e:0c 
    inet6 fe80::223:6cff:fe7e:3e0c%en1 prefixlen 64 scopeid 0x5 
    inet 192.168.1.70 netmask 0xffffff00 broadcast 192.168.1.255
    media: autoselect
    status: active
vmnet1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:50:56:c0:00:01 
    inet 172.16.64.1 netmask 0xffffff00 broadcast 172.16.64.255
vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:50:56:c0:00:08 
    inet 172.16.174.1 netmask 0xffffff00 broadcast 172.16.174.255
vboxnet0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 0a:00:27:00:00:00

1 Ответ

2 голосов
/ 02 сентября 2011

$ netifaces для установки sudo pip

$ python

Python 2.6.1 (r261: 67515, 24 июня 2010 г., 21:47:49) [GCC 4.2.1 (Apple Inc.build 5646)] на darwin Для получения дополнительной информации введите «help», «copyright», «credits» или «license».

import netifaces

netifaces.ifaddresses ('en0')

{18: [{'addr': '10: 9a: дд: 52: 89: dc '}], 2: [{'broadcast': '10 .188.55.255 ',' маска сети ':' 255.255.254.0 ',' addr ': '10 .188.55.130'}], 30: [{'маска сети': 'ffff: ffff: ffff: ffff:: ',' addr ':' fe80 :: 129a: ddff: fe52: 89dc% en0 '}]

...