if you can be bothered to learn some scripting then rebol should be able to do that for you, and make a good GUI if you put the effort in.
make a script that you run on any machine you like, make it into a client/server type script and collect all the data you like.
http://www.codeconscious.com/rebol/rebol-net.html
"...
Determining IP Addresses
"I was wondering if there is a way to use REBOL to determine the ip addresses currently connected to my local machine if its acting as a proxy.
I believe the answer is no but was interested how I might determine that or another language that could do that and interface with REBOL by means of exchange that data via a tcp port."
Do you mean the IP address of the remote end of a connected TCP port ? You can find that in port/remote-ip.
The IP address of the local end of the connection is in port/local-ip. Additionally there are port/remote-port and port/local-port for the port numbers.
Or are you trying to find the IP addresses assigned to the interfaces of your machine ? With current experimentals try "get-modes udp:// 'interfaces".
This returns a block of objects that contain network configuration paramenters, including IP addresses. Works with most operating systems (not with BeOS and Elate though).
Holger Kruse"
http://search.virginmedia.com/result...p&cr=&x=23&y=8
http://www.rebol.org/cgi-bin/cgiwrap...script-index.r
http://rebolweek.blogspot.com/
http://www.rebol.net/builds/
http://www.rebolforces.com/articles/hipe.html
"
Building a server engine
If you want to start using REBOL for server applications, you may consider building a server engine for all network communications. In this article I'll describe the HIgh Performance Engine of Rugby, hipe.
Hipe provides you with a TCP and UDP based server framework, and a simple form of threading.
What kind of features do we expect from a server framework?
- TCP and UDP capable, as these are the dominant protocols of the Internet.
- Easy addition of protocol handlers built on top of hipe.
- Good performance.
- Some simple form of threading. This is useful to start little tasks while we are in the network event loop.
So let's start our script with
...
"