Identify via Windows Forms C # the URL that the user accesses

1

I have a LAN House and would like to do a graphical search of the sites that my clients access.

For this, I need a way to capture the URLs that they type in the browser through a Windows Forms application in C #, has anyone made this solution or do you have any idea how to do it?

I only need the function that captures URLs.

    
asked by anonymous 21.05.2015 / 16:49

1 answer

1

For this task I would not use a simple application, because:

  • It depends on the browser software, you will have to access an internal resource of it: the edit box. And as if it were not difficult enough, an update can change access to the resource and the software will stop working;
  • Not all access is typed, it may be of interest to clicked addresses or typed directly on the command line if possible, or with shortcuts;
  • If all access is captured, it still depends on accessing browser features;
  • Analysis of all network traffic avoids accessing the browser, but would be a bit absurdly complex.
  • The software has to be installed on all machines that access the internet, even with data centralized on a server.

Perhaps it would be easier to create an application with an internet browsing component, which is possible, but it will involve doing all the interface with the client, because the navigation component is just the frame that accesses the internet. But it must still be complex, although it is a valid alternative. This software could record or send the list of pages accessed to a central database.

I would use a transparent proxy on a separate computer or even on a virtual machine because it can write a log with all access addresses. Transparent because it eliminates the need to configure clients.

Just do not expect the log to be easy to read as it should contain a large amount of records and information. There are web interfaces that help you analyze the logs.

The new proxy server would be the gateway and it is only necessary to configure DHCP, assuming the stations are configured with it currently.

And if it's a lanhouse, there are other advantages:

  • There should be several stations, none of them need to be modified;
  • You can do some security because, if desired, you can configure filters for addresses or forbidden content;
  • Since it is an OS machine and all, you can further improve security with the addition of a firewall;
  • You can improve the browsing speed by using cache. If the content is static, for example an image, your internet is only used on the first access, after that, any user who needs the same image will get it from the cache;
  • You can improve the speed of browsing if you use the cache in a ramdrive, but in this case the cache is lost when you hang up, and it is good to have a reasonable amount of RAM.

And finally, it will be easier to install and configure a new proxy server than to create an application (in C #) to capture a string resource from a third-party software (browser) or capture and analyze network traffic or otherwise create an application that plays the role of browser.

The OS could be GNU / Linux, FreeBSD or another that pleases and has available software to create a proxy server and possibly firewall. I do not remember proxy, but for firewall I've already used a system that would fit on a 3.5 "floppy.

Do not forget to have somewhere accessible to customers, contract, information board, etc., warning that all accesses are monitored and registered, and static content (which does not change and does not have security) can be recorded Cached!

    
21.05.2015 / 17:56