簡體   English   中英

如何在Python中獲取當前全局IPv6-前綴作為變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM