For starters,
who is the subject forum of the word,
whom is the object form. But what does this mean?
If word in question is the subject of the sentence, use
who. If this is not the case, the word is a subject, most likely modified by the rest of the sentence, use
whom.
A simple test to see which is proper is to replace who/whom with he/him. If he sounds right, use
who; if him is right, use
whom. For example: since he did it and not him did it, use
who did it; since we give something to him and not to he, use to
whom. It gets tricky only when the preposition is separated from the who/whom as in Who/whom did you give it to? Rearrange the words in your head: "To whom did you give it?"
Now it's time to test yourself:
http://webster.commnet.edu/cgi-shl/quiz.pl/who_quiz.htm