"Snipers dressed as journalists then took him into custody," he said.
The aeroplane began its journey in the Libyan capital, Tripoli.
Abdel-Rahim said the hijacker identified himself as Haloub Saeed, but authorities were trying to confirm this.
Al-Taher al-Mardi, Al Jazeera’s correspondent in Sudan, reported sources as saying that the hijacker originally demanded to land in Bangui, the Central African Republic capital, but was persuaded by the crew to allow the aeroplane to land in Khartoum for refueling, where Sudanese authorities were able to take all passengers off the plane and arrest the hijacker.