The way I learned is as follows:
Train yourself to become aware of your glottis and perform a glottal stop at will. You can train pronouncing 'uh-oh' and observing what happens between those syllabes. Also when coughing, you will close your glottis before the cough. You may also try to inhale air and try to stop the flow with your throat. Train youself to ...
First, exposure is important. You need to be exposed to the sounds and listen to them in natural contexts, over a period of time. Some people will pick up the sounds quicker than others, but you should expect it to take some time. But with continued exposure, you'll notice the differences.
Second, become familiar with articulatory phonetics and read ...
One way is to get a well educated native speaker to pronounce, and contrast similar sounds.
You want, not just a native speaker, but a well educated one. "Average Joes" sometimes confuse such sounds in their own native language. And in any event, they won't be able to explain the subtleties to you.
I found that pronouncing them myself was a good way to learn the difference.
When I had difficulty understanding the auditory difference between two sounds, I practiced saying them out loud until I could understand the physical difference between saying them.
If you can produce sounds that are different, then you should be able to understand them.