This large data structure smells like the get method could be refactored a bit further.  Perhaps it would be better to create a base class for the various ways to resolve IP addresses, then create platform specific subclasses to implement each behavior using a common interface.