oppugner

noun

One who attacks or assails by act or by argument; an opposer; an opponent.

noun

One who opposes or attacks; that which opposes.

noun

Someone who oppugns; an opponent.