you need to have a pokeradar on route 210 which you get when you beat the elite 4
You cannot get it in the game, however with the pokewalker, you can find it on a route.
Go to Route 210 and use the Pokeradar, he's fairly rare but you'll eventually find him.
You can find this Pokemon in route 228.
route 212 and route 229
Not really that rare... in Pokemon Diamond you can find Sunkerns on Route 204
you find them on route 224
you can find stunkys on diamond on route 214.
maybe a Abra and that
Route 214
on route 6665
all the Pokemon on route 210 in Pokemon diamond and pearl are ponyta, geodude and if your really lucky you can find onix.
Route 228 is where you can find a protector.