Hello all I was wondering how I can monitor all my networking traffic with a raspberry pi. What I want to do is record all websites visted so I can create a app so I can see what sites I frequent the most.
This is not a pi specific question. And the answer is there is no guarantee such a thing will work (it won't work if encryption like ssl, proxy, vpn or caching of dns is used). A better solution for your goal would be to use the same brand of browser on all your devices and enable history sync. Then you can just query that from any of your computers. If you still want to try this than get a second Ethernet port for the rpi and put it between your modem and router (won't log local traffic)
If there is encrypted wireless involved this is not so easy; see my question here about looking for an alternative to
tshark for a similar purpose.
Note that if you don't use a filter, tshark may not grow the same way, but then you either need something else to filter the packets, or save them all (!) and process them subsequently. No matter what though, there is the complication of having to stop and restart the LAN's wifi after you begin monitoring.
That said, it did work, and once I got the traffic down to < 1 GB a day (instead of > 1 GB/hour) tshark would last a day or so on a Pi 2.
Unfortunately, if your router is like mine I do not think there is a way to deal with wifi and ethernet traffic together; you need to deal with them separately. The eth is pretty easy as it does not require decryption to get the TCP/UDP packet headers.