NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

route.py (718B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\datadog\dogstatsd\route.py
      2 import socket
      3 import struct
      4 
      5 class UnresolvableDefaultRoute(Exception):
      6     pass
      7 
      8 
      9 def get_default_route():
     10     try:
     11         with open('/proc/net/route') as f:
     12             for line in f.readlines():
     13                 fields = line.strip().split()
     14                 if fields[1] == '00000000':
     15                     return socket.inet_ntoa(struct.pack('<L', int(fields[2], 16)))
     16 
     17     except IOError:
     18         raise NotImplementedError(u'Unable to open `/proc/net/route`. `use_default_route` option is available on Linux only.')
     19 
     20     raise UnresolvableDefaultRoute(u"Unable to resolve the system default's route.")