Controlling Pc From Server?

2005-02-27 Thread andrea_gavana
Hello NG,

I am trying to find some information about the possibility to control
two (or more) clients (PCs) via a Python application running on a main server.
Ideally, this application should be able to monitor (almost in real time)
the "activity" of these clients (which applications are launched, closed
and so on, if this is even possible, obviously). Does anyone have to share
some information/pointer?

Thank you a lot.

Andrea.


--
http://mail.python.org/mailman/listinfo/python-list


Controlling Pc From Server?

2005-02-27 Thread andrea_gavana
Hello Kartic & NG,

 Thank you for your prompt answer. In effect, I'm trying to work on
a NT network of 6 PC (plus the server). Sorry to not have been clearer.
Ideally, I'm trying to monitor the Internet activity of each client (PC)
on this network (but I'm not a boss trying to control my emplyees, I'm just
curious on it). I would like to know which PC is connected to Internet (by
starting something like a "timer" for every PC, and then periodically check
if a particular PC is connected or not). This should be done from the main
server.
Did I make myself clear? Do you think it would be a huge task?

Sorry, it may be a very basic question, but thank you for your help.

Andrea.


--
http://mail.python.org/mailman/listinfo/python-list


Re: Controlling Pc From Server?

2005-02-27 Thread Kartic
[EMAIL PROTECTED] said the following on 2/27/2005 4:44 AM:
Hello NG,
I am trying to find some information about the possibility to control
two (or more) clients (PCs) via a Python application running on a main server.
Ideally, this application should be able to monitor (almost in real time)
the "activity" of these clients (which applications are launched, closed
and so on, if this is even possible, obviously). Does anyone have to share
some information/pointer?
Thank you a lot.
Andrea.

Andrea,
Since you have not specified any operating system, my suggestion is for 
you to go for a generic solution like pyheartbeat. Pyheartbeat is a 
program with server and client components and uses UDP to monitor which 
client computers are down and which, active.

You can modify pyheartbeat to do what you are wanting, by wrapping your 
monitoring functions and sending that information back to the server. To 
make things more elegant, you could probably come up with an XML schema 
(or other formatted text like JSON or use Pickle to 
serialize/de-serialze data structures) so that the information is 
machine-friendly but you still can translate the XML for a pretty 
display on the server.

Pyheartbeat can be found at 
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52302

If you are using Windows NT-based technology, you can setup your clients 
so that all activity is logged to the server; I believe there are 3rd 
pary applications available that can do this for you. Sorry, I don't 
know the specifics on how to do it.

For *nix OSes, you can have the syslog daemon log to a remote machine 
instead of the local. So, you can log all activity to the UNIX server. 
(Though, to me, it appears that you are looking for remote top like 
functionality for networked PCs).

Thanks,
-Kartic
--
http://mail.python.org/mailman/listinfo/python-list


Re: Controlling Pc From Server?

2005-02-27 Thread Kartic
[EMAIL PROTECTED] said the following on 2/27/2005 8:40 AM:
Hello Kartic & NG,
 Thank you for your prompt answer. In effect, I'm trying to work on
a NT network of 6 PC (plus the server). Sorry to not have been clearer.
Ideally, I'm trying to monitor the Internet activity of each client (PC)
on this network (but I'm not a boss trying to control my emplyees, I'm just
curious on it). I would like to know which PC is connected to Internet (by
starting something like a "timer" for every PC, and then periodically check
if a particular PC is connected or not). This should be done from the main
server. 
Did I make myself clear? Do you think it would be a huge task?

Sorry, it may be a very basic question, but thank you for your help.
Andrea.

Sounds like you are spying :-D
Your requirement may sound basic but I don't *think* it is simple to do. 
 Since you are using NT, you can probably see if there is some Network 
Usage auditing tool. This might cost you some $$ or may be you can find 
some shareware.

For a homegrown solution, if I am not mistaken, you will have to use 
libpcap (or pypcap) to monitor the packets being sent and received, 
taking care to exclude the local subnet (or your reporting will be 
skewed as packets sent to the monitoring server will also be included!). 
You can check http://www.monkey.org/~dugsong/pypcap/ for more 
details...and may be for more ideas.

Thanks,
-Kartic
--
http://mail.python.org/mailman/listinfo/python-list


Re: Controlling Pc From Server?

2005-02-27 Thread Pierre Barbier de Reuille
[EMAIL PROTECTED] a écrit :
Hello Kartic & NG,
 Thank you for your prompt answer. In effect, I'm trying to work on
a NT network of 6 PC (plus the server). Sorry to not have been clearer.
Ideally, I'm trying to monitor the Internet activity of each client (PC)
on this network (but I'm not a boss trying to control my emplyees, I'm just
curious on it). I would like to know which PC is connected to Internet (by
starting something like a "timer" for every PC, and then periodically check
if a particular PC is connected or not). This should be done from the main
server. 
Did I make myself clear? Do you think it would be a huge task?

Sorry, it may be a very basic question, but thank you for your help.
Andrea.

If what you want is to monitor internet requests, the best place to do 
so is the gateway of your network. If you don't have access to the 
gateway, you can always set your server as the gateway for your machines 
and your server will need to redirect the IP flux to the real gateway. 
That way, you don't need anything on the client side. On the server, 
just look at the fluxes toward the internet and you can do wathever you 
want with it. After that, as I don't know the windows implementation of 
a gateway, I can't help you ...

Pierre
--
http://mail.python.org/mailman/listinfo/python-list


Re: Controlling Pc From Server?

2005-02-27 Thread Kartic
Kartic said the following on 2/27/2005 8:54 AM:
For a homegrown solution, if I am not mistaken, you will have to use 
libpcap (or pypcap) to monitor the packets being sent and received, 
taking care to exclude the local subnet (or your reporting will be 
skewed as packets sent to the monitoring server will also be included!). 
You can check http://www.monkey.org/~dugsong/pypcap/ for more 
details...and may be for more ideas.
http://winpcap.polito.it/docs/man/html/group__remote__help.html
- Should help. This uses the Winpcap library. Not sure if the same can 
be done using the Python bindings for pcap.
--
http://mail.python.org/mailman/listinfo/python-list


Re: Controlling Pc From Server?

2005-02-28 Thread Larry Bates
What you are asking IS much more difficult that just "timing".
The Internet is a disconnected stateless medium.  I can open
a browser to a site and just leave my browser open.  Am I viewing
that site or not?  There's no way to know.  I might have minimized
the browser window and am back doing productive work (assuming
my access to the web was non-productive).

The best way I've found to do what you want is to force all
HTTP traffic through a proxy (I like Squid, but others
work as well).  The proxy cache logs can provide you with
lost of information about where people are going and how much
information they download from the site.  They cannot however
tell you how long someone was there because of what I mentioned
above.  You can see if someone is going to www.nascar.com or
www.espn.com or to some other site.  You can also block sites
quite easily if there is no legitimate reason for people to
be at that site.

Hope info helps.
Larry Bates

[EMAIL PROTECTED] wrote:
> Hello Kartic & NG,
> 
>  Thank you for your prompt answer. In effect, I'm trying to work on
> a NT network of 6 PC (plus the server). Sorry to not have been clearer.
> Ideally, I'm trying to monitor the Internet activity of each client (PC)
> on this network (but I'm not a boss trying to control my emplyees, I'm just
> curious on it). I would like to know which PC is connected to Internet (by
> starting something like a "timer" for every PC, and then periodically check
> if a particular PC is connected or not). This should be done from the main
> server. 
> Did I make myself clear? Do you think it would be a huge task?
> 
> Sorry, it may be a very basic question, but thank you for your help.
> 
> Andrea.
> 
> 
-- 
http://mail.python.org/mailman/listinfo/python-list