栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python,如何获取具有多个NIC的所有外部IP地址

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python,如何获取具有多个NIC的所有外部IP地址

您应该使用netifaces。它被设计为在Mac OS
X,Linux和Windows上跨平台。

>>> import netifaces as ni>>> ni.interfaces()['lo', 'eth0', 'eth1', 'vboxnet0', 'dummy1']>>> ni.ifaddresses('eth0'){17: [{'broadcast': 'ff:ff:ff:ff:ff:ff', 'addr': '00:02:55:7b:b2:f6'}], 2: [{'broadcast': '24.19.161.7', 'netmask': '255.255.255.248', 'addr': '24.19.161.6'}], 10: [{'netmask': 'ffff:ffff:ffff:ffff::', 'addr': 'fe80::202:55ff:fe7b:b2f6%eth0'}]}>>> >>> ni.ifaddresses.__doc__'Obtain information about the specified network interface.nnReturns a dict whose keys are equal to the address family constants,ne.g. netifaces.AF_INET, and whose values are a list of addresses innthat family that are attached to the network interface.'>>> # for the IPv4 address of eth0>>> ni.ifaddresses('eth0')[2][0]['addr']'24.19.161.6'

用于索引协议的数字来自

/usr/include/linux/socket.h
(在Linux中)…

#define AF_INET         2       #define AF_INET6        10      #define AF_PACKET       17      


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/640608.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号