2017-06-02 14 views
0

私は過去に何の問題もなく使ってきましたが、最近何か変わってしまいました。私はそれがWindows 10の不具合かpythonsか多分netifacesかどうか分からない。とにかくここで何が起こるかです。Python netifacesが異常な出力を出す

ドキュメントによるコード:私の場合は私が取得することですが

['lo0', 'gif0', 'stf0', 'en0', 'en1', 'fw0'] 

:で

['{E3EE4C5B-38D5-4E38-ABD3-912690B3333B}', '{07ED21E7-D11D-4FAE-BCAB-00748015A895}', '{9F401909-A4A5-4AB6-8617-DFA205446FC6}', '{073251CD-250D-4FAA-889A-560941A96782}', '{6613CF18-67E7-4499-8716-58EEC449E5C6}', '{C1568B39-575B-46B3-8EA7-95A7DBA33DD0}', '{F7F856C1-2EEE-4291-B42C-444C28D7C389}', '{2FD83117-396D-11E7-81F5-806E6F6E6963}'] 

import netifaces 

netifaces.interfaces() 

が私にこのような結果を与える必要がありますこの点私はドン;私が扱っているものと次に選ぶものを知っていない。しかし、ランダムに、このような結果のいずれかを使用して:

netifaces.ifaddresses('{07ED21E7-D11D-4FAE-BCAB-00748015A895}') 

はまた、「暗号化」の結果のいくつかの種類を返します。

{-1000: [{'addr': 'fc:f8:ae:15:6f:0e'}], 23: [{'addr': 'fe80::ec58:f02f:37d0:598b%4', 'netmask': 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128', 'broadcast': 'fe80::ec58:f02f:37d0:598b%4'}]} 

の代わりにそれがドキュメントに提示されている方法は、(より多くのユーザーフレンドリーに見えます、そうではありませんか?):

{18: [{'addr': ''}], 2: [{'peer': '127.0.0.1', 'netmask': '255.0.0.0', 'addr': '127.0.0.1'}], 30: [{'peer': '::1', 'netmask': 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', 'addr': '::1'}, {'peer': '', 'netmask': 'ffff:ffff:ffff:ffff::', 'addr': 'fe80::1%lo0'}]} 

私は何が起こっているのか、どうすればこれらの結果を解読することができますか?私が最後にやろうとしているのは、自分のPCが使用しているすべてのネットワークインターフェイスのIPアドレスを取得することです。

注:Pythonの3.6、Netifaces 0.10.5、Windowsの10

答えて

1

['lo0', 'gif0', 'stf0', 'en0', 'en1', 'fw0']は、UNIXシステムでのNICの名前です。 Windowsでは、ネットワークインタフェースのGUIDが得られます。 いわゆる "フレンドリネーム"を取得するには、Windowsレジストリを参照することができます。 this answerをチェックしてください(私のPython 2.7ではwinregの代わりに_winregをインポートしなければなりません)。

関連する問題