Log Visited Websites

Hello,

How can I log all visited websites in all browsers (in time) without using proxy or browser history.
LVL 12
Mohamed AbowardaSoftware EngineerAsked:
Who is Participating?
 
Ted BouskillConnect With a Mentor Senior Software DeveloperCommented:
I think you have an unreasonable expectation of how TCP/IP communications work.

A browser is an executable that directly accesses a network device to open a TCP/IP connection on a remote server using a socket on port 80 (at least by default)

The browser doesn't contact the OS and send any messages about the page it is connecting to, it simply executes it's own code to connect to the remote server.

So, you have to intercept the TCP/IP traffic, determine the type then capture it using a proxy either in your network or on the client system using a special device driver that intercepts ALL the outgoing traffic.

That monitoring process requires low level access to the TCP/IP network stack.
Wireshark uses this tool: http://www.winpcap.org/default.htm

Microsoft does have additional monitoring software: http://support.microsoft.com/kb/148942

This is very advanced work that needs to be completed in C or C++ because any mistakes you make can break network connectivity.  The time you spend writing all this advanced code from scratch will cost you far more than buying a solution.

The easiest and least risky solution is a proxy which you do not want to use.
0
 
Kamal KhaleefaInformation Security SpecialistCommented:
either you make ur own code and read the ip for each user and time
or from the hosting company  sometimes they have a statistics page showing every thing
0
 
TIGERMARKCommented:
you will have to use a third party monitoring application like surf control or http://www.employee-monitoring-software.cc/.
0
Cloud Class® Course: Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@TIGERMARK: I am not looking for a software, I am looking on how to log all visited websites using VB.NET or C#.

Thanks,
0
 
Kamal KhaleefaInformation Security SpecialistCommented:
why you dont write a code to take all ips
read the browser type
and log the time

or why you dont use google analytics??
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@king2002: I think you misunderstood what I am asking for, I want to create a windows forms application to log all visited websites, e.g: visited websites logger software, I don't need google analytics.
0
 
Ted BouskillSenior Software DeveloperCommented:
Do you mean you want to log outgoing user activity from the client?  If yes it cannot be done without using a software or hardware proxy.
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@tedbilly: I want to create software using VB.NET or C# to log all visited websites on the computer.

Example:
If the user opened IE and visited google, yahoo, and experts exchange, and then started firefox and visited microsoft.

The software will be able to retrieve the following:
www.google.com
www.yahoo.com
www.experts-exchange.com
www.microsoft.com

Thanks,
0
 
shalomcCTOCommented:
This is a tool that provides this capability.

http://www.alphaworks.ibm.com/tech/pagedetailer
0
 
Ted BouskillSenior Software DeveloperCommented:
Based on your requirements this is impossible to achieve.
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@tedbilly: There are many softwares in the internet to log visited websites, so it's obviously possible.
0
 
Ted BouskillSenior Software DeveloperCommented:
They all log on the server side NOT the client side.  I specifically asked you about logging on the client side.

There are lots of activities that can be logged on the client with code but this specific case won't work without a proxy of some type.
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@tedbilly: It's not related to the server at all, all I need is to create a software to know what websites I visited.
0
 
Ted BouskillSenior Software DeveloperCommented:
I know that it's not related to the server.  I know that you are trying to log on the client.

You cannot do this on the client.

I was responding to your comment "There are many softwares in the internet to log visited websites, so it's obviously possible"  And my answer to that comment is that the software on the internet used for logging will only work on the server and you have said you do not want to use the server.

Once again.  Based on your requirements it cannot be achieved.
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@tedbilly: No, there are many softwares to log visited websites and it's used on monitoring softwares too.
0
 
Ted BouskillSenior Software DeveloperCommented:
OK, then give me a link to one.  I'll bet they are for the server not the client or they are a proxy.
0
 
shalomcCTOCommented:
@tedbilly:  see my first post. this is a link to such a software. I use it a lot.

@medo3337: what do you need it for? academic interest? personal affairs? industrial espionage? regulations auditing?
If you control the network where the PC is to run, for example you have an IT function in some business, you will find transparent proxies and IPS boxes to be much more effective.
0
 
Ted BouskillSenior Software DeveloperCommented:
@shalomc: His requirements state no proxies and he wants to build it himself using VB.NET or C#.  Analysis tools like WireShark can capture TCP/IP traffic, however they use a local proxy.  All the requests go through WireShark before entering or leaving the system.
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
If there is a way to monitor the data sending and receiving, I think it will solve the problem.

I don't need to use proxy or any third party, I want the software to be able to retrieve the visited url (in time).
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@tedbilly: I prefer to do everything myself without using third parties, It will be better if there is a way to do the same thing in C# or VB.NET without using third parties.
0
 
Ted BouskillSenior Software DeveloperCommented:
Well this cannot be done in C# or VB.NET you need to do this in C/C++.

You won't find free code samples because it's very advanced and complex work.
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@tedbilly: I saw applications made in .NET that log the visited website in all browser.
0
 
Ted BouskillSenior Software DeveloperCommented:
Those are run on the server side by processing the IIS logs or specially written code in the server web applications.

Remember there are two parts to the web connectivity.  One side is the server which receives requests from many clients.

I'm not sure why you don't believe the experts.
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@tedbilly: This problem is ONLY related to client side, there is nothing related to server side in this question.

The monitoring application is installed on PC1
PC1 started Firefox and visited www.experts-exchange.com
PC1 started IE and visited www.google.com

The application will be able to know what websites was visited on this computer.
0
 
Ted BouskillSenior Software DeveloperCommented:
Yes I understand but you don't seem to understand our answers.  I'm going to contact the moderators because you have been given the correct answers and are refusing to accept them.
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@tedbilly: How you expect that I accept your answer "This cannot be done in C# or VB.NET you need to do this in C/C++", Yes, it's possible in C# or VB.NET. There is no answer helped me till now.

You have also provided third party "WinPcap" but I said I don't want to use third parties in my application.
0
 
Ted BouskillSenior Software DeveloperCommented:
Sometimes the correct answer is "It can't be done with the requirements specified"

I understand that you do not want to user the server but all the examples you keep talking about are for the server.  So the examples you keep mentioning do not meet the requirements.

Capturing this data on the client requires low level DLL's written in C/C++.  You've been given examples for how to wrap those DLL's (from 3rd parties) using C# but because you won't use a 3rd party that option isn't available.

You do not seem to believe the answer provided that based on your requirements it cannot be done in C# or VB.NET.
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
I have accepted the third party answer.

Thanks,
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.