title: Android APK - How do applications connect to their servers without DNS queries
body: <p>I wanted to understand how the applications on play store (majority of them) connect to their servers without performing explicit DNS queries. I downloaded the APK file and reverse-engineered the code and I could not find any IPs. May be the IPs are hidden in the code through some obfuscation, like .so files etc. But what is not clear to me is that, these IPs are perennial and never ending, so the possibility of hard coding is very less, because each day I try to launch the same version of the application using the same phone and then collect the .pcap files I see that the application is talking to different servers. I understand that it could be over some kind of cloud servers, where the IPs in the subnet range would be huge, but again, the IPs are from different cloud servers. </p>
  
  <p>So how does the application learn about these new IPs everyday without a software update?</p>