Port already Using Error in Android
Without any additional tools, this should be possible via adb shell or a terminal app, using the netstat command: netstat --tcp --listening -p should list up all listening ports along with the app behind it. But it might very well be (as in your case, obviously) that the -p parameter requires root; and without it, the output won't show the app holding the port open.

However, NetStat Plus might offer what you need:

 
NetStat Plus and Connection List (source: Google Play; click for larger image)

I did not try this app myself, but the screenshots suggest it does exactly what you need: Listing apps with the used ports and status along. No word that it requires root. It further seems to work at least from Gingerbread (2.3.6 is explicitly mentioned) onwards to at least Jelly Bean 4.3 (also explicitly mentioned). An alternative would be Connection List (second screenshot).