It's possible to do this to some degree by using something like wireshark, listening over the network segment (that is, you'll need to be on the same switch, and in the same vlan if that's applicable). This won't work for encrypted traffic (https, ssh, etc.), but many web sites send data in the clear. This is more complicated if trying to sniff traffic wirelessly, but there are programs such as aircrack that can get you started.
Another option is to set up a dedicated proxy (squid, etc.), that acts as an intermediate layer between the target PC and the router. It has a number of functions, but it can also log traffic sources and destinations (such as web sites).
You can also use something like OpenDNS, which does some logging, and can filter various categories -- it does this by redirecting DNS lookups to "bad" sites. It requires that the target PC is pointed to OpenDNS for name resolution, however.