At a previous job, I used a Saleae Logic
http://www.saleae.com/logic/
(24 megasamples per sec, 8 channels) and it worked well. It is not
what you would use to (say) design a motherboard for a 2 GHz CPU, but
it was good for what I wanted. I was using it to monitor a TTL-level
serial bus. I recorded the data on one PC, then loaded it into another,
told the Logic software "this is 8N1 serial", and it decoded the bits
into bytes. It also knows I2C, SPI, and similar formats.
It needs a host computer to run; if it can't dump data into the PC fast
enough, the software will tell you, and offer to back off the sampling
rate. The software is in Java and it will work on both Linux and legacy
systems. You can use a low-spec/old PC to capture with, but for
analyzing long capture files, it helps to use the biggest PC you can get
your hands on.
Standard disclaimers apply; I don't get money or other consideration
from any companies mentioned.