Iran has an old Soviet sub in the gulf.... http://news.yahoo.com/iran-deploys-russian-made-submarine-gulf-113859186.html Obviously our guys probably know where it is and can destroy it at any time, but if it suddenly fires torpedoes is there any defense against the torpedoes?
Depends on what they're firing at. Merchant type ships I doubt it, a US sub would hear them before they got the torpedos partway loaded
To answer this: No. linkys http://www.naval-technology.com/projects/kilo877/ I don't know if Iran also bought those TEST-71MKE or USGT torpedos, though IIRC those are more for anti-sub warfare. I'd suspect that they're used more as a mine-laying tool for Iran. They (Kilos) can carry anti-ship missiles, but again, I don't know what-all toys Iran bought. And despite what I said before, running on batteries, those things are DAMNED quiet.
The defense against torpedoes is good Sonar Technicians, quick decision making by the officers on duty in/at control, well trained operators taking action in well designed ships. Of course there are countermeasures and thermo layers that are part of that quick decisions and well trained operators. You won't sink most of our surface ships with one torpedo. Most take multiple hits. When the torpedo doors open you have better have a sonar tech that's doing his/her job. Frigates and cruisers are there to intercept torpedoes so they don't hit the aircraft carriers. Also one of the reasons we stopped putting nuclear plants in cruisers.
When I hear of the Iranians running an older rebuilt Russian sub, I think of the movie "Down Periscope". Dude with his shoes off, and licking his finger tips to make a connection on wires...lol