Solved

how to check which file is being visited by remote site

Posted on 2013-06-30
10
306 Views
Last Modified: 2013-07-09
Dear Experts,

Just want to know how web counter or awstats program ability to check all
visiting site information.

From netstat -nputw command on Linux I know , we can check who is visting to my website.
The result of the command will  show you foreign or Local address  and Protocol something
like that, but why it won't show which file is being visited by the visitors ?
for example for my wish, at least show me the visitor is  visiting www.mysite.com/data/php/math.html file

From the local address is just IP address of my site and Port 80 only, no information about which or what html or php file is being visited, Why ?

Please advise, any Linux command can check that for me , what is exact path and the file that visitor is  or was visiting ?

And I check at /var/log/httpd/access_log , there is nothing inside of the file,Why ?
I believe my linux system will record that information for user, but where if any ?

Thanks
Duncan
0
Comment
Question by:duncanb7
  • 5
  • 2
  • 2
  • +1
10 Comments
 
LVL 109

Expert Comment

by:Ray Paseur
ID: 39288223
PHP answers:

URL of the current script is available in $_SERVER['REQUEST_URI']
IP address of the current visitor is available in $_SERVER['REMOTE_ADDR']
Browser information is available in $_SERVER["HTTP_USER_AGENT"]
Request method (GET, POST) is available in $_SERVER["REQUEST_METHOD"]

These values are not guaranteed, but are usually present in most PHP installations.
0
 
LVL 13

Author Comment

by:duncanb7
ID: 39288231
I used tcpdump -A port 80 to solve the problem , the command will output the
request header which include the exact path of request html/php filename

 now I will try your suggestion
from $_Server
0
 
LVL 54

Expert Comment

by:Julian Hansen
ID: 39288265
$_SERVER is for getting information about who is visiting from within your PHP script.

If you are asking how to monitor what files are being accessed on your system you need to look at your logs - they should contain all the information concerning GET's to the server - time, source IP file etc.

Is this what you were asking? If so then $_SERVER is not going to help you.
0
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 
LVL 109

Expert Comment

by:Ray Paseur
ID: 39288270
In PHP variables are case-sensitive.  $_Server != $_SERVER
0
 
LVL 13

Author Comment

by:duncanb7
ID: 39289216
Dear JulianH,

you are right $_SERVER is not working, what is your other suggestion to solve my asking
besides using tcpdump
0
 
LVL 54

Expert Comment

by:Julian Hansen
ID: 39289252
To answer I need to know what it is you are trying to achieve.

From your original post it sounds like you want to see when a page is being accessed. What is not clear is how you want to use this information.

Do you need to know when the page is being accessed in real time - as it is being accessed or are you only interested from a statistics perspective.

It would also be helpful to know a little bit more about your website and how it is constructed - pure HTML / php / ASPX etc

You mentioned you looked in the access logs and found nothing - this is strange because you should see logs of all requests to your site.

Are you self hosting? Is your server setup your responsibility or are you using an ISP?
0
 
LVL 13

Author Comment

by:duncanb7
ID: 39289985
Dear

I am using hosting company VSP server, normally I am using Cpanel and awstat to
keep track of the visitor access to my visit.Now I gave up to use it since I need to pay
for using Cpanel . Now I want to know how to
do php programming or other linux command to perform the same function of aswtat or
web counter .

I tried to tcpdump on my SSH shell it works finally and it will report out
the visitor IP and full path of the access file.

As I remember there should be one place to store all coming internet traffic to my website. SO I log into my root SSH shell and go to /var/log/httpd/access_log but
there is no any file. Do you know where is the access-log file for internet traffic on Linux ?
OR what other way to do the same as I just mentioned
thanks
DUncan
0
 
LVL 13

Author Comment

by:duncanb7
ID: 39289993
Be reminded Now I do not allow to use Cpanel on VPS server since I nerver pay it on VPS server
0
 
LVL 82

Accepted Solution

by:
hielo earned 500 total points
ID: 39290285
>>SO I log into my root SSH shell and go to /var/log/httpd/access_log
You need to look at your apache configuration for the CustomLog setting.

FYI:
# Configuration and logfile names: If the filenames you specify for many
# of the server's control files begin with "/" (or "drive:/" for Win32), the
# server will use that explicit path.  If the filenames do *not* begin
# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
# with ServerRoot set to "/usr/local/apache" will be interpreted by the
# server as "/usr/local/apache/logs/foo.log".
#

If the site in question is a virtual host, first check to see if the virtual host definition defines a different CustomLog location from that of the main server CustomLog location.
0
 
LVL 13

Author Closing Comment

by:duncanb7
ID: 39309582
The final access log is found at /usr/local/apache/domlogs/mydomain.com and at
/usr/local/apache/logs/access_logs.

after reading those two files, the first one, mydomain.com file is exactly record who
is accessing  my domain website.

Why the second file of access_logs is just reporting like this as follows
127.0.0.1 ---[9/July/2013:222:05:01+3000] "Get /whm-server-status HTTP/1.0" 200 3984
....
....
ANd I could not find who is accessing my website information on second file.


Anyway, now at least I could find who is accessing my website on first file of mydomain.com


Please advise and thanks for your final soltuon

Duncan
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It is possible to boost certain documents at query time in Solr. Query time boosting can be a powerful resource for finding the most relevant and "best" content. Of course the more information you index, the more fields you will be able to use for y…
In Solr 4.0 it is possible to atomically (or partially) update individual fields in a document. This article will show the operations possible for atomic updating as well as setting up your Solr instance to be able to perform the actions. One major …
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question