Bitnodes is currently being developed to estimate the size of the Bitcoin network by finding all the reachable nodes in the network. Unreachable nodes, e.g. nodes behind firewall/NAT, are not reflected in this estimation. The current methodology involves sending getaddr messages recursively to find all the reachable nodes in the network, starting from a set of seed nodes. Bitnodes uses Bitcoin protocol version 70001 (i.e. >= /Satoshi:0.8.x/), so nodes running an older protocol version will be skipped. The crawler implementation in Python is available from GitHub (ayeowch/bitnodes) and the crawler deployment is documented in Provisioning Bitcoin Network Crawler.
The crawler maintained by Bitnodes connects from these IP addresses: