If you are searching for something more applied, my suggestion would be to take a look at SNORT software. It is a free and open source network intrusion prevention system (NIPS) and network intrusion detection system (NIDS).
SNORT is one of the best network IDS tool that you can study to get a good start. But SNORT is not checking the semantic and without that it may conclude that it is an intrusion (Case of false positive and false negative is more). i.e It works by comparing a network packet with a set of pre-defined signatures (Snort rules) which specify certain patterns often associated with malicious activities. However, there is a semantic gap between what Snort captures (packet patterns) and what a user really wants to know (malicious activities), and the connection between the two is not always certain.
So nowadays the trend is to use a logic relationship finder before concluding it is an intrusion. Better study the concept of SnIPS and this help you to judge the attacks more prominently.
SnIPS works by mapping a Snort alert into a logic predicate describing the condition a user really cares about (e.g. machine compromised), along with a tag indicating the strength of the belief.