То, что я сделал до сих пор, используя классы PyQt:
all_Addresses = QNetworkInterface.allAddresses() #list-of-QHostAddress
for addr in all_Addresses:
print(addr.toString())
Вывод:
172.16.0.186 - Virtual Interface IP address
192.168.10.2 - Physical interface IP address. I want this one.
127.0.0.1
Использование сокета
:
import socket
print(socket.gethostbyname(socket.gethostname()))
Вывод:
172.16.0.186 - When openVPN is on
192.168.10.2 - When its off