Snort is a free and open-source Network Intrusion Prevention and Detection System. It uses a rule-based language, performs protocol analysis, content searching/matching, and can be used to detect a variety of attacks and probes.