There is no software that can accurately take into consideration what move your opponent has done (i.e., assuming you were in position and he bet before you, take into account his bet or check) and tell you what likely has he has.
There are way too many variables to account for here, including but not limited to, how aggressive, how tight he is playing pre-flop, how likely he is bluffing given the cards if they look scary or not, etc.
That said, the best one can do after the flop is rely on previous experience and their own judgement calls.
There is software that takes into account number of players at the table, chip counts, etc, that will give you the mathematically correct play late in tournaments. This is usually when you are in push or fold mode. If you wish to see how this works, please see some software such as sit and go wizard (sngwiz.com)
As to answering your original question, I don't think the hands a player could possibly has would be useful to you at all, but of course, it is not hard to see what these are based on the cards you see.
EDIT:
In answer to your question about where you should look into, if you are looking to improve your game, which seems to be the case, the best thing you can do in my opinion is sign up at a forum such as 2 plus 2 or any really, that has some good players willing to help you out. Post hand histories and see the players will be more than happy to comment on your play.