A woman was killed and three crew members were injured when gunmen opened fire on a passenger plane as it landed at Pakistan's Peshawar airport.

The Pakistan International Airlines plane was carrying 178 passengers travelling from Saudi Arabia when it came under attack as it was preparing to land, policeman Asghar Khan said at the airport.

The plane was hit by six bullets, killing a Pakistani woman and injuring three crew members, police said.

The woman's daughter was sitting next to her when she was shot in the head, PIA official Mohammad Kifayatullah Khan said.

"When I went inside the plane, I saw the woman lying on the seat and her nine-year-old daughter was crying, 'My mother is dead, my mother is dead'," Mr Khan said.

"All the passengers were panicked. Some of them wanted to get out as soon as possible because they were afraid of fire inside the plane.

The Pakistan International Airlines plane sits on the tarmac after the attack ( Reuters TV )

"The captain of the plane had narrowly escaped," he said. "It would have been a disaster had he been hit."

At least one bullet struck the plane's engine, police said.

The attack came after the Pakistan military launched a major offensive on June 16 in the dangerous tribal district of North Waziristan along the Afghan border, where Taliban and Al Qaeda-linked militants had taken refuge.

Pakistani jets have pounded suspected militant hideouts and the Taliban have vowed to hit back.

Pakistan has promised to tighten security at airports and other potential targets, but critics say decades of neglect of Pakistan's police force has left citizens vulnerable.

On June 8, 10 Taliban gunmen attacked the airport in the southern port city of Karachi. Thirty-four people were killed in the five-hour gun battle.

The Taliban attacked an academy for the security forces at the airport two days later.

On Monday, the government was forced to divert a plane carrying prominent cleric Tahirul Qadri after violence broke out on the ground in Islamabad, with hundreds of supporters armed with sticks battling police.

The authorities, fearing an escalation of unrest, diverted the plane to the eastern city of Lahore.

In 2012 a Taliban suicide squad staged a deadly attack on Peshawar's Bacha Khan International Airport that left nine people dead, including five attackers.

Reuters/ABC