[英]How to get current global IPv6-prefix as a variable in python
如何在python中獲取當前的全局IPv6前綴?
假設我在eth0
上擁有全局IP 2010:a:b:c::400/64
,如何在python中獲取此地址? 有沒有辦法分割前綴?
您可以使用netifaces來做到這一點:
>>> import netifaces
>>> addrs=netifaces.ifaddresses('ens3')
>>> addrs[netifaces.AF_INET6]
[{'netmask': 'ffff:ffff:ffff:ffff::/64', 'addr': '2001:19f0:4400:4983:5400:ff:fe54:1677'}, {'netmask': 'ffff:ffff:ffff:ffff::/64', 'addr': 'fe80::5400:ff:fe5e:1977%ens3'}]
請注意,存在一個以fe80
開頭的鏈接本地ipv6地址。
對於這樣的過程,您可以嘗試在python的subprocess
模塊中使用check_output
。 一個簡單的例子:
from subprocess import check_output
output=check_output(['ifconfig'],shell=True).decode('utf-8')
print(output)
這將輸出ifconfig
的輸出。 希望對您有所幫助,編碼愉快!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.