I know that bitcoin prevents sybil attacks through proof of work - which takes into account the computing power of each participating node . So how does bitcoin get this information ?
Proof of work does not prevent a sybil attack from occurring, Bitcoin uses Proof of Work to make it infeasible for a successful sybil attacker to feed false information to the victim.
Meanwhile, sybil attacks are made more difficult by Bitcoin nodes initiating multiple outbound connections to random other peers in the network. To sybil attack a Bitcoin user, the attacker has to first identify the victim's node and then replace that all of that node's peers with attacker nodes. The computing power of the participating nodes is not relevant to prevent a sybil attack.
A Bitcoin client does not know, nor need to know the computing power of the nodes it connects to. It only needs to know the computational power that went into the chain of blocks that the connected nodes are sending.
While this does not fully prevent sybil attacks, it makes them much more difficult. A node will independently verify the work that has gone into a chain, so that is something that cannot be spoofed. If there is a discrepancy between the amount of work that two connected nodes claim (communicated by the blocks they broadcast), then a client knows that the one with the least work is probably doing something malicious.
Only if an attacker can ensure that they control all the nodes the victim has ever connected to, can they really pull off a sybil attack. Even so, the owner of that node can compare his own node's blockchain state against that of an online blockchain explorer, and quickly see that something is amiss.