Studying well annotated [in Words as well as variations] game collections of famous GM's like Alekhine, Kasparov , Tal, Spassky, Nunn etc. will help build your attacking vocabulary and instincts. Learn to recognise all the well known mating patterns in their simplest form and then work on detecting them in more complicated settings, after that you need to understand the thought process behind what makes a seemingly obvious tactical combination succeed or fail and it usually boils down to two things, pattern recognition and calculation of the details.
Aspiring players usually have little difficulty with the pattern recognition part, but for some reason they assume this is the end of the story and once a pattern is spotted everything else will just magically fall into place like in the puzzle books. However pattern recognition and calculation go hand in hand, it is not enough to guess at the moves of a combination because a pattern looks familiar, the combination must be validated by accurate analysis. That's why solving puzzles while useful training can also be quite artificial, if only for the reason that we know a solution exists, in a real chess game however with have no such assurance to compel or thinking.
Have a look at the following diagram taken from an actual game and please do not use an engine, you will only be cheating yourself out of a valuable exercise. What would you play as White and why, share your thought process:
I would suggest Kasparov's best games by Igor Stohl
I too am an attacking player
Silman's Endgame Course I heartily recommend. It is grouped by rating, which means even a total beginner who just learned the rules of chess can learn something from this book.
Good way to study the basics, and fun too.
If you want 'attacking stuff', Simple Attacking Plans by Fred Wilson also seems great!