(Note: I pilfered the following from my answer to this earlier question)
Assuming that there were cameras and microphones in the Death Star's detention center, and that Vader was smart enough to check them after Leia escaped, he would have gotten all the information he needed from Luke's introduction:
[Luke, dressed as a storm trooper, opens the door to Leia's detention cell.]
Princess Leia Organa: Aren't you a little short for a storm trooper?
Luke Skywalker: Huh? Oh, the uniform. [removes his helmet] I'm Luke Skywalker. I'm here to rescue you!
Princess Leia Organa: You're who?
Luke Skywalker: I'm here to rescue you! Look, I've got your R2-unit and I'm here with Ben Kenobi!
Princess Leia Organa: Ben Kenobi? He's here!?
Note: Even if there were no recordings from the detention center, there were presumably wireless communications scanners, which would have recorded Luke's chatter with C-3PO, as well as a recording from the hangar control room where Luke, Han, Obi Wan, Chewbacca, R2, and 3PO went after getting off the Falcon:
Ben: I don’t think you boys can help. I must go alone.
Han: Whatever you say. I’ve done more than I bargained for on this trip
already.
Luke: I want to go with you.
Ben: Be patient, Luke. Stay and watch over the droids.
Obviously, Vader already knew that Obi Wan had been there (because he killed him), and he would have been able to piece together the rest of the story pretty quickly.
A few days before the Millennium Falcon showed up, it had blasted its way through a blockade on Tatooine, at the Mos Eisley spaceport.
Just before that happened, an old man in a robe had lopped off someone's arm with a lightsaber in the Mos Eisley Cantina.
The old man was with a blond kid who matched the description of the "Luke" who had helped Leia escape the Death Star.
Days prior to this, the droids with the stolen Death Star plans had jettisoned from the consular ship and landed on Tatooine, and chances are, Mos Eisley was the nearest spaceport to the site where the droids had landed.
All of this happened not far from the house where Vader's stepfather, (and later, Vader's stepbrother) lived.
The stepbrother and his wife were dead, and Imperial stormtroopers had killed them while searching for the missing droids.
This was the Skywalker family, and obviously, the boy named "Luke" had been living with them.
It stands to reason, then, that the blond kid's full name was "Luke Skywalker".1
Everything Vader needed to know, virtually presented on a silver platter:
Droids with the Death Star plans disappear and land on Tatooine; they are sold to Vader's own stepfamily; Vader's stepbrother and his wife were killed by Vader's troops, but their ward/nephew/adopted son (essentially) was missing; just after Vader's stepfamily is killed, a boy matching the description of the missing nephew shows up at the spaceport with a Jedi; the boy shows up on the Death Star with the Jedi, who happens to be Obi-Wan; Vader may or may not have had access to recordings of the boy introducing himself as "Luke Skywalker"; even if there are no recordings of him saying "I'm Luke Skywalker", there are plenty of recordings (and ear-witness accounts) of the rescue party's radio chatter, in which the boy is repeatedly referred to as "Luke"; days later, the ship that carried Luke and Obi-Wan to the Death Star (and carried the rescue party, droids, and Leia away) shows up and saves the rebel pilot who managed to destroy the Death Star; Vader had engaged this rebel pilot personally, and had noticed that "the Force is strong with [him]".
We don't know how efficient the empire was regarding birth records, identification papers, censuses, etc, but if they put even the slightest amount of effort into such documentation, Vader would have had access to conclusive proof that his stepbrother had been raising a boy named Luke, and that this boy had no known birth certificate. He may or may not have had information regarding a certain "Ben Kenobi" living nearby.
As to when this happened, I would think that the first thing Vader did after the Falcon escaped (and after the people Vader chose as scapegoats had been Force strangled) was to find out how the Princess had gotten away. This probably happened within hours at the most. It probably would have taken another day or two for Vader to hear about what had happened on Tatooine. Once all of this information was available to Vader, it probably wouldn't have taken more than a few moments for him to piece everything together and come to the crucial conclusion:
"A boy, about the age my child would be now (if my child had been born), was living with my stepbrother and his wife on my former home planet (and I probably know that this boy's name was Luke); I have no evidence that my child was ever born, but I also have no evidence, apart from the Emperor's highly dubious word, that my child wasn't born; the boy on the Death Star was named Luke; the boy on the Death Star arrived aboard a ship that had recently left the spaceport closest to my stepbrother's house, after some sort of Jedi-related trouble in the local bar; my old mentor Obi-Wan Kenobi had a strong interest in this "Luke" kid; and I may or may not have heard a recording of this kid actually saying "I'm Luke Skywalker, I'm here to rescue you, I came with Ben Kenobi"."
Fast forward a couple of days, and the evidence, already very compelling, becomes too clear to question:
"The pilot of the ship that brought the kid and Obi-Wan to the Death Star appeared during the attack on the Death Star, and rescued a fighter pilot who was gifted with the Force; the pilot of the other ship referred to the fighter pilot as "kid", so the fighter pilot is young; the fighter pilot had an R2-D2 unit that not only matches the description of the one we had been looking for, but is actually the exact same R2-D2 unit that I spent most of my childhood with."
With all of this information, Vader must have caught on to what was happening:
"Clearly, this fighter pilot is the Luke who saved Leia, and this Luke is clearly the kid who was being raised by my stepbrother, and they were clearly raising him because he was actually my son, and Obi-Wan had clearly been living on Tatooine so that he could protect Luke from me."
1 We know that Luke and Leia's names were chosen by Padmé, but we don't know why she chose these particular names; however, it is at least possible that Anakin and Padmé had discussed what they would name their child (they didn't know Padmé was carrying twins), and if such a conversation took place, it seems likely that Padmé would have said "Luke for a boy, Leia for a girl". This theory runs into trouble, however, when we recognize that Vader doesn't seem to consider the possibility that Leia is his daughter until he reads Luke's thoughts in RotJ.
Even before Padmé found out that she was pregnant, she may have told Anakin that she liked the name Luke. If we speculate a bit more, we might imagine that Padmé knew someone named Luke, and this person inspired her to give the name to her son. If this was the case, it isn't difficult to conceive of Padmé having mentioned this earlier Luke - for example, she might have mentioned that her favorite uncle was named Luke, and he used to bring her candy whenever he visited, or whatever the case may have been.
So it isn't hard to imagine that Vader might have known that Padmé liked the name Luke, and it is at least possible that Anakin and Padmé had explicitly discussed naming their child Luke, but this is purely deductive and speculative reasoning.
Any one of these speculative scenarios might have helped Vader connect the dots between Luke and himself, but even if Padmé never mentioned the name Luke, Vader still would have had everything he needed to figure it out on his own.