I'm not sure if this will work for you as your son isa bit older but my 4 yr old son was, a few weeks ago, playing up a little at pre school. He kept saying the teachers were shouting at him and telling him off all the time. He also seemed different at home. I spoke to them about it as i was worried. They said that he had been hitting other kids and snatching toys a lot and that he hadnt really been doing this before. They said they didnt shout but did raise their voices. i asked them if he was getting praise as well and they said he was. i said i was worried he was anxious about something and thats why his behaviour might be bad. I
think since i talked to them they have been praising him more as i think they realised it was to do with him feeling anxious.
I also started giving him much more attention at home and have been trying to keep really calm and be more patient with him. i am being really firm about what i think is unacceptable like hitting someone or throwing toys. i tell him he has a chance to change what he's doing or he will sit in the hallway. if he does it again i put him in the hallway with door open for about minute or less. Then i tell him he's good for staying there and why he went there. then i just forget it.
So far it is really working and he seems happier and is behaving much better. there have been no more problems at pre school and he is enjoying it more too.
As he's older you could try talking to him about it more, asking him how he feels about things and he might tell you if something is bothering him. I think its best not to get cross or take things away if possible but give rewards for good behaviour instead, even if its for just not behaving badly or if he's tried. one thing to remember is that its the behaviour thats bad not him, so avoid telling him he's naughty. Good luck!