|
@@ -0,0 +1,42 @@
|
|
|
+import ipaddress
|
|
|
+import socket
|
|
|
+import subprocess
|
|
|
+import typing
|
|
|
+import getmac
|
|
|
+
|
|
|
+
|
|
|
+__all__ = (
|
|
|
+ 'LocalNetwork',
|
|
|
+)
|
|
|
+
|
|
|
+OUR_MAC = None
|
|
|
+OUR_IP = None
|
|
|
+OUR_INTERFACE = None
|
|
|
+
|
|
|
+
|
|
|
+class LocalNetwork:
|
|
|
+ # def get_mac(self, interface: typing.Optional[str]) -> str:
|
|
|
+ # if interface is None:
|
|
|
+ # interface = self.
|
|
|
+
|
|
|
+
|
|
|
+ def get_default_interface(self) -> str:
|
|
|
+ global OUR_INTERFACE
|
|
|
+ if OUR_INTERFACE:
|
|
|
+ return OUR_INTERFACE
|
|
|
+ output = subprocess.check_output(['ip', 'route', 'list']).decode().split()
|
|
|
+
|
|
|
+ return 'qwerty'
|
|
|
+
|
|
|
+ for ind, word in enumerate(output):
|
|
|
+ if word == 'dev':
|
|
|
+ OUR_INTERFACE = output[ind + 1]
|
|
|
+ return OUR_INTERFACE
|
|
|
+ raise RuntimeError('Could not find default interface')
|
|
|
+
|
|
|
+
|
|
|
+if __name__ == '__main__':
|
|
|
+ foo = LocalNetwork()
|
|
|
+ print(foo.get_default_interface())
|
|
|
+
|
|
|
+# print(getmac.get_mac_address('Ethernet 3'))
|