How do you do this? I have been known to use a baby name book and find names with a meaning that resonated with the character. Now it's easy enough to find baby naming books on the internet. For example: Here http://www.babynamespedia.com/search/m/brave I looked for a name for a boy that means brave, and came up with several I liked: Andrew, Baldwin, Harding, Leopold, Richard, and Thomas. Any one of those could be a good name for my character.
If you're not concerned with the meaning of names but rather with the sound, flip through a telephone directory. This can be a good resource for last names, especially.
Or, you could try with Tarot! Today's Tarot deck is the Wild Wood Tarot. Here are a couple of sample cards from the deck.
Images courtesy of Aeclectic Tarot
The card I drew for this question of names is the Two of Bows: Decision. I could go two ways with this card. I could take it literally, and name my character "Beau" due to it being the Two of Bows. Or the meaning of the card, the door is open and it's time to take action, could lead me to a search on those baby name sites. I searched here http://www.20000-names.com/male_serbian_names.htm for a boy name meaning active or taking action and came up with a Serbian name, Dejan. Not sure how it's pronounced in Serbian, but I like it. Try the Tarot and see what you come up with!