Below is a guide on how to receive Defog in Pokemon Brilliant Diamond and Shining Pearl.
Defog can be found in Pastoria Great Marsh Safari Zone in the northern part of Pastoria City. You’ll have to spend 500 to enter the Safari Zone. Once inside, speak to the guy with green hair on the right side of the entrance to receive the TM for Defog. This will make it available on the Hidden Moves tab of the Poketch.