I working in hotSpot system with freeradius server . I want to track all visited website by users . I want to log all visited website by all users using mac address and username . (when use want to access internet he must has account in my hotspot system ). freeradius not provide this feature so how can I do that ? I want to store all visited website by user into mysql database
You need something that understands HTTP. A forwarding proxy (like
squid) would be the easiest solution to deploy. Keep in mind that you can't track requests to HTTPS websites, because the connection is encrypted.
squid won't give you the MAC addresses. You will either have to match them up later or just go by username.
thank you for your help but what can I do for https connections (is that mean squid will not track https sites) Jan 23, 2018 at 8:49
The only thing you can do is install your own certificate authority on the client's machines. This can issue fake certificates which will allow you to decrypt the traffic. However, there's a feature in major webbrowsers called certificate pinning, which protects against this workaround. So basically you can't do anything about HTTPS reliably. That's why it's called secure HTTP. That's why banks, governments and everyone trusts it. It would be really silly if it could be defeated with a simple forwarding proxy.– mtakJan 23, 2018 at 9:16
I don't know but is this the best way ? Jan 23, 2018 at 9:19
Installing a custom CA is an ugly hack, but technically it'll work. That is assuming your users will allow you to do this. And if I was one of your users I (and anyone who knows a bit about HTTPS) would tell you no. In addition, if it has to be done manually, it's really a big inconvenience for users.– mtakJan 23, 2018 at 9:23