Iran-backed Houthi rebels have claimed attack on two major Saudi oil facilities.

US President Donald Trump said Monday that Iran was likely behind strikes on Saudi oil facilities, but that he wanted to be sure and he hoped to avoid war.

"It is certainly looking that way at this moment," Trump told reporters when asked if he believes Tehran carried out the attack.

The president said "we pretty much already know" and "certainly it would look to most like it was Iran" but that Washington still wanted more proof.

"We want to find definitively who did this," Trump told reporters in the Oval Office, where he was meeting with Bahrain's Crown Prince Salman bin Hamad bin Isa al-Khalifa.

"You're going to find out in great detail in the near future," he said. "We have the exact location of just about everything.

"With all that being said, we'd certainly like to avoid" war, Trump said.

"I don't want war with anybody but we're prepared more than anybody," he added.

Trump said the United States would be talking to Saudi Arabia, the United Arab Emirates and "many of the neighbors out there that we're very close friends with.

"We're also talking to Europe," he said, "a lot of the countries that we're dealing with, whether it is France, Germany, etcetera, talking to different folks and figuring out what they think.

"But I will tell you that was a very large attack and it could be met with an attack many, many times larger, very easily by our country," he said.

Trump spoke to reporters shortly after US Defense Secretary Mike Esper said the US military is preparing a response to the attack on the Saudi oil facilities.

After briefing Trump in the White House, Esper singled out Iran as undermining international order, without directly pinning blame on Tehran for the attack.

Esper said he and the Pentagon leadership met with Trump in the wake of Saturday's attack, which analysts say appears to have involved drones and possibly cruise missiles launched from a nearby country.

The Iran-supported Huthi rebels in Yemen claimed responsibility for the attack.

But the Riyadh-led coalition fighting the Huthis said earlier Monday that the weapons were Iranian-made, and it remains unclear where they were launched from.