| 
					
				 | 
			
			
				@@ -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')) 
			 |