Is there a way to find how many nodes are there? As a single bitcoind node I can only detect how many connected peers I have. Is there a way to have a vision of the whole bitcoin network?
There are websites such as Bitnodes.io that track the number of nodes currently reachable in the network. The site also gives an account of the versions the nodes deploy and what countries they are located in.

According to Bitnodes.io, there are currently 6426 nodes reachable.

To collect your own list of nodes, you'd ask your peers for more peers, i.e. getaddr, then recursively request more peers from the newly discovered peers, until you have polled everyone you have discovered.

Note that this doesn't guarantee you to find all nodes, as some don't accept connections from the outside, and getaddr doesn't necessarily give you all peers. Also see: Does getaddr.bitnodes.io find all Bitcoin nodes or only one node per mining pool?