Cỏc chƣơng trỡnh sniffer (sniffer mềm) hoặc cỏc thiết bị sniffer (sniffer cứng) đều thực hiện bắt cỏc gúi tin ở tầng IP trở xuống (gồm IP datagram và Ethernet Packet). Do đú, cú thể thực hiện sniffer đối với cỏc giao thức khỏc nhau ở tầng mạng nhƣ TCP, UDP, IPX,...
Mặt khỏc, giao thức ở tầng IP đƣợc định nghĩa cụng khai, và cấu trỳc cỏc trƣờng header rừ ràng, nờn việc giải mó cỏc gúi tin này khụng khú khăn.
Mục đớch của cỏc chƣơng trỡnh sniffer đú là thiết lập chế độ promiscuous (mode dựng chung) trờn cỏc card mạng ethernet - nơi cỏc gúi tin trao đổi trong mạng - từ đú "bắt" đƣợc thụng tin.
Cỏc thiết bị sniffer cú thể bắt đƣợc toàn bộ thụng tin trao đổi trờn mạng là dựa vào nguyờn tắc broadcast (quảng bỏ) cỏc gọi tin trong mạng Ethernet.
Trờn hệ thống mạng khụng dựng hub, dữ liệu khụng chuyển đến một hƣớng mà đƣợc lƣu chuyển theo mọi hƣớng. Vớ dụ khi một trạm làm việc cần đƣợc gửi một thụng bỏo đến một trạm làm việc khỏc trờn cựng một segment mạng, một yờu
nào là trạm cần nhận thụng tin (trạm đớch). Cho tới khi trạm nguồn nhận đƣợc thụng bỏo chấp nhận từ trạm đớch thỡ luồng dữ liệu sẽ đƣợc gửi đi. Theo đỳng nguyờn tắc, những trạm khỏc trờn segment mạng sẽ bỏ qua cỏc thụng tin trao đổi giữa hai trạm nguồn và trạm đớch xỏc định. Tuy nhiờn, cỏc trạm khỏc cũng khụng bị bắt buộc phải bỏ qua những thụng tin này, do đú chỳng vẫn cú thể "nghe" đƣợc bằng cỏch thiết lập chế độ promiscous mode trờn cỏc card mạng của trạm đú. Sniffer sẽ thực hiện cụng việc này.
Một hệ thống sniffer cú thể kết hợp cả cỏc thiết bị phần cứng và phần mềm, trong đú hệ thống phần mềm với cỏc chế độ debug thực hiện phõn tớch cỏc gúi tin "bắt" đƣợc trờn mạng.
Hệ thống sniffer phải đƣợc đặt trong cựng một segment mạng (network block) cần nghe nộn.
Hỡnh sau minh hoạ vị trớ đặt sniffer
Hỡnh 16 - Cỏc vị trớ đặt sniffer trờn 1 segment mạng