Snort adalah perangkat lunak pendeteksi intrusi pada jaringan. Snort bersifat opensoure, lightweight dan telah menjadi standar de facto IDS. Snort mendeteksi serangan berdasarkan ruleset signature yang ada. Rules ini dapat diunduh secara gratis di internet. Snort juga memberikan kebebasan kepada penggunanya untuk menulis rulesnya sendiri dan mengkonfigurasinya sesuai kebutuhan. Snort dapat berjalan dengan 3 (tiga) mode, yaitu sniffer mode, packet logger mode, dan Network Intrusion Detection System (NIDS) mode. Sniffer mode: membaca packet yang masuk menggunakan libpcap kemudian menampilkannya ke layar Packet Logger Mode: Mencatat dan menyimpan packet Network Intrusion Detection System (NIDS) mode: memungkinkan snort untuk mendeteksi dan menganalisis packet yang melewati jaringan. Dalam mekanismenya , terdapat 4 (empat) komponen penting pada snort yang saling bekerjasama mencapai satu kesatuan kerja dalam mendeteksi intrusi. Komponen tersebut adalah decoder, preprocessor, Detection engine (sensor), dan output.
Decoder: Snort membaca packet-packet yang masuk dengan
menggunakan libpcap, mengubah packet tsb ke dalam bentuk yang dimengerti oleh snort. Preprocessor: Setelah packet dibaca, snort akan melihat packet header. Kemudian header packet akan dipisah terlebih dahulu sebelum dikirimkan ke sensor untuk dianalisis. Detection Engine: snort akan membandingkan isi dari packet header tersebut dengan ruleset signature yang ada. Algoritma yang digunakan adalah Boyer-Moore string matching. Output: jika packet terdeteksi serangan, maka snort akan membangkitkan alert dan membuat log.