We see that a robot can attack another robot in defense of a human, but can a 3 Laws programed robot defend one human from another human?
Yes, it can.
There are varying ways to defend one human from another human attacking them.
For starters, a robot could remove the victim from the place of attack: pick up the victim and run away from the attacker.
A robot could simply stand between the attacker and the victim, and block the attack - let the attacker hit it, instead of the victim.
A robot could immobilise the attacker without harming them, such as by wrapping its arms around them to stop them hitting the victim.
If there was a weapon involved, like a knife or a gun, the robot could disarm the attacker by grabbing the weapon. If the attacker didn't let go of their weapon and the robot ended up harming the attacker, this would cause problems for the robot - and the level of problem would depend on the amount of harm caused.
There are many ways a robot can defend a human from being attacked without harming the attacking human.
However, if the robot was unable to stop the attack in any of the above ways, the robot might have to take more direct action. And, the robot would go as far as necessary to defend the victim - until it harms the attacker. At that point, the fact of actively harming a human outweighs the potential harm to the victim, and the robot has to deal with the "guilt". Many robots will simply shut down at this point. Some would become disoriented and require service. Only a very few highly advanced robots (like Daneel Olivaw or Andrew Martin or Giskard Reventlov) would be able to deal with the harm they caused, by balancing it against the harm they prevented.
As far as I know, the scenario of a robot defending a human against another human's attack has occurred only once in any of Asimov's stories. To describe it will require spoiling the end of 'Robots and Empire'. If you haven't read that book and don't want the ending spoiled, you'll have to skip the rest of this answer. Sorry!
In that book, a couple of humans (Spacers) were conspiring to irradiate the Earth. They had different motives: Levular Mandamus wanted to irradiate the planet slowly, over centuries, merely to force the Earthpeople to leave the planet; Kelden Amadiro wanted to irradiate the planet quickly, over only a decade or two, which would kill billions of Earthpeople who would be unable to leave the planet in time.
Two robots, R. Daneel Olivaw and R. Giskard Reventlov, are trying to prevent this. They arrive on the scene and find Amadiro pointing a blaster at Mandamus (trying to convince Mandamus to do things Amadiro's way).
Simple as that: a robot caused pain to one human being to prevent him hurting or killing another human being. Admittedly, Daneel was a very advanced robot. More simplistic robots might have suffered a brain-freeze after having caused pain to prevent harm.
Later, Giskard puts Amadiro into a coma (Giskard has telepathic powers - long story!) when Amadiro explains that he wants to kill Earthpeople. And, Giskard suffers no ill effects from that action - but he's another advanced robot. In fact, he's the robot who invents the Zeroth Law of Robotics: "A robot shall not harm humanity or, through inaction, allow humanity to come to harm." (He does "die" from something else he chooses to do later, because he's not sure if he made the right choice for humanity.)
These are two robots who inflicted pain and harm on a human to prevent him: killing a visible and present human; killing many humans, neither present nor visible at the time.
To add to the answer above, it's worth remembering that the first Law states "A robot may not injure a human being or, through inaction, allow a human being to come to harm."
The ideal solution for a Three-Laws-compliant robot is to intervene in a way that prevents the harm to the victim but doesn't harm the attacker - by stepping into the path of the attack, moving the victim, etc.
If that is not possible, then the robot has been put into a position where every possible response - including doing nothing - will break the Laws. Whether a robot can survive this appears to depend on two factors: how sophisticated its 'brain' is and whether one breach is significantly more or less serious than the alternative(s). A sufficiently advanced robot will choose the course of action that causes the smallest breach of the Laws; if its brain is too simple or the breaches are all too large, it will freeze up.
The implication, at least to me, is that the traditional phrasing of the Laws is actually just an approximation intended to be easy for non-specialists to understand. The real implementation seems to be an optimisation function of some kind, with a heavier weight placed on the higher laws than the lower ones. If the robot can solve the equation for a given situation it is fine; if it can't, it starts to break down.
The problem here is that the first law as quoted is written with a built-in conflict due to the "or" tying together two distinct cases. That permits the thought experiment presented here.
Unless we know the weighting factor between them (not necessarily 1;1), and unless we know how that particular situation would be scored by that particular brain implementation, we'll never be able to answer the question.
For an example of a conflict that can not be solved at this level, see the story Runaround
This is a question that has had an evolving answer throughout Asimov's lifetime while he worked through just what all of the implications of the three laws were. That being said, the original questions can only be answered by 'yes, but ...' because positronic brains and programming became more complex and sophisticated over time in reaction to the events in that universe. I especially recommend the 1941 story "Liar": http://en.wikipedia.org/wiki/Liar!_(short_story)
The problem is that laws have to be interpreted, so the question is more about the implementation (interpretation of what is the right course of action) of robotic intelligence, especially with regards to that first law.
E.g.: What constitutes 'harm'? Even the tiniest scratch from a robot? This would not make sense to a reasonable person and that is the basis of English common law (which is also the foundation of US law and the laws of many other parts of the world).
What would make more sense to this reasonable person (me) would be to interpret the law in such a case as you describe such that any 'harm' inflicted on the human attacker by a robot is not greater than that which would, in all probability and by the robot's inaction, have been inflicted on the human victim the robot was protecting... but then you have the dilemma... of real harm inflicted on a potential attacker versus a possible/probable but not realized harm on a potential victim. In other words, laws applying to robotic actions will be just as big a can of worms as laws applying to humans and the people who will profit are the lawyers. ;-)
Consider the following situation: person A is going to harm (let's say kill) person B. The robot may prevent this only by harming person A. For example, the robot is behind the bars, but can throw a brick.
The first Law states "A robot may not injure a human being or, through inaction, allow a human being to come to harm." If the robot throws a brick, he'll injure human A, but if he doesn't, he'll allow human B to come to harm. So far, the robot is on the fence. Inaction would probably be a safer choice, because there can be no 100% certainty that A won't change his mind at the last moment.
However, if B cries "help me, robot!", action would fulfill 50% of the first Law and the second Law, while inaction would be supported by 50% of the first Law alone. This might make the difference and force the robot to act. Any order coming from person A, even seemingly innocuous like "stay away", may be ignored by the robot as their intent is clearly against the first Law.