How to access peer's tip of chain?
SPV wallets typically keep track of what the best known block for each of their peers is as well, to make sure they are up to date and can assess the security of their transactions (# of confirmations). The way they do this is to start a counter initialized at the height given in the version message. And then when the node broadcasts a new inv (inventory) message for a block, get that block header, and if it builds on their previous best header, then increment the counter. With this method, you can keep a mapping of nodes to their main chain tips.

Essentially, this is just keeping track of the inv broadcasts form a peer, which is how peers publicly report new blocks.