As far as carriers in Vietnam, most of the enemy aircraft weren't capable of the kind of overwater flight it would have required. They typically operate under Ground Control Intercept (GCI), which means that a radar operator on the beach tells the pilot where to go and what to do. That doesn't work so well over water.
We also have "delousing" procedures that we use to identify friendly aircraft returning from the beach. It would be hard to blend in with a returning strike package and not be detected.
Even if they did make it out, there are always picket ships stationed to provide air defense coverage for the carriers, along with Combat Air Patrol (CAP) stations manned by fighters specifically to intercept incoming bad guys.
So short answer...not likely that a third-world opponent could mount a successful attack against a carrier at sea. Then or now.
For lcarreau --
The incident you were referring to was the USS VINCENNES shooting of the Iranian Air Bus in 1988. VINCENNES was an AEGIS cruiser, not a destroyer. Lots of things went wrong that day and tensions in the Gulf were high due to to the ongoing Tanker Wars and attacks by Iranian patrol boats on tankers and merchants in the region. There is no doubt that mistakes were made by the crew of VINCENNES, but given the info they had available at the time, they made the decision based on the safety of the ship and crew.
Beretta 92G Vertec - M9 - PX 4 Storm 9mm - 92 Billennium - CX 4 Storm 9mm
CZ SP-01 Tactical - Ruger KP93 - M&P 9C - M&P 9
RIA .45 ACP 5" 1911 - KelTec P-32
Stag AR-15 2T, Saiga 7.62x39 AK, S12 Tactical Shotgun