What is the most efficient way to get all of the external ip address of a machine with multiple nics, using python? I understand that an external server is neeeded (I have one available) but am un able to find a way to find a good way to specify the nic to use for the connection (So I can use a for loop to iterate through the various nics).  Any advice about the best way to go about this?
For the general case, there is no solution.  Consider the case where the local machine is behind a machine with two IP addresses doing NAT.  You can change your local interface to anything you like, but it's unlikely that you'll convince the NAT machine to make a different routing decision on its outgoing connections.
Python, How to get all external ip addresses with multiple NICs