private Set<InetAddress> getAddresses()
    {
        final String interfaceName = JiveGlobals.getXMLProperty( "network.interface" );

        final Set<InetAddress> result = new HashSet<>();

        // Let's see if we hardcoded a specific interface, then use its address.
        if ( interfaceName != null && !interfaceName.trim().isEmpty() )
        {
            try
            {
                bindInterface = InetAddress.getByName( interfaceName.trim() );
                result.add( bindInterface );
                return result;
            }
            catch ( UnknownHostException e )
            {
                Log.error( "Error binding to network.interface '{}'", interfaceName, e );
            }
        }

        // When there's no specific address configured, return all available (non-loopback) addresses.
        try
        {
            final Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
            while ( networkInterfaces.hasMoreElements() )
            {
                final NetworkInterface networkInterface = networkInterfaces.nextElement();
                if ( networkInterface.isLoopback() )
                {
                    continue;
                }
                final Enumeration<InetAddress> inetAddresses = networkInterface.getInetAddresses();
                while ( inetAddresses.hasMoreElements() )
                {
                    result.add( inetAddresses.nextElement() );
                }
            }
        }
        catch ( SocketException e )
        {
            Log.error( "Error determining all addresses for this server", e );
        }
        return result;
    }
Returns the IP address(es) that the proxy connection manager is servicing.
xmppserver/src/main/java/org/jivesoftware/openfire/filetransfer/proxy/FileTransferProxy.java