hair stylists/ hair experts! I need your opinion!

Ga
So I have naturally dark brown, almost black hair. I haven't dyed it in almost two years now, and I'd say from my roots down to my lips/nose area is virgin hair. I have this annoying brassy/red tone that pops up in my hair and I can't stand it. I wanted to know if there is some time of shampoo or something I could use to counteract the brassiness? Perhaps a purple or blue shampoo, or color depositing shampoo? Here's a photo of my hair in natural lighting, so you can see the brassiness that shows through in some parts of it!