I just tried to verify the Bingbot and used the rules of this official microsoft blog entry: http://www.bing.com/community/site_blogs/b/webmaster/archive/2012/08/31/how-to-verify-that-bingbot-is-bingbot.aspx
This technique works most of the time, but in some cases it doesn't: (my or their fault?)
Works:
202.96.51.137
with a reverse DNS check: gethostbyname(gethostbyaddr(202.96.51.137))
results in 202.96.51.137
Wrong result:
This MSN bot IP: 65.55.213.246
is checked with a reverse DNS check gethostbyname(gethostbyaddr(65.55.213.246))
and results in: msnbot-65-55-213-246.search.msn.com
(usually they resolve with an ip)
Another wrong result
This MSN bot IP: 157.55.33.113
checked with a reverse DNS gethostbyname(gethostbyaddr("157.55.33.113"))
resolves in 157.55.33.11
(IP D class wrong)