pinging or else network devices from livecode
Alex Tweedly
alex at tweedly.net
Fri Jan 21 20:28:32 EST 2011
You can't do ping directly from LC - LC only supports UDP and TCP
sockets, not ICMP or raw.
You could do it via shell - but too many devices may not respond to ping.
Do you want to find all active IP addresses on your own subnet, or on
any arbitrary subnet ?
If it's on your own, then here's what I'd do
- try opening a UDP socket to each IP address
- use shell / arp to see what's there.
every device should respond to an arp request, so this is much more
likely to find all active devices.
If you prefer code (I took a shortcut and cheated on the subnet range,
but you can fix that easily :-)
> on mouseUp
> put empty into field "F"
> repeat with i = 1 to 255
> put "192.168.1." & i & ":8080" into tSocket
> open datagram socket to tSocket
> end repeat
> put shell("arp -n -a") into temp
> filter temp without "*(incomplete)*"
> put temp into field "F"
> end mouseUp
If you want to do it for arbitrary subnets that you may not be on, then
I can't offhand think of anything better than shell/ping.
-- Alex.
On 21/01/2011 20:52, Robert Brenstein wrote:
> A weekend challenge for those who are bored, but not only...
>
> I wonder whether it is possible to have a livecode stack that scans
> all IP addresses within a specific subnet to check whether devices are
> there. I am currently using Remote Desktop to do those scans manually
> but this is becoming boring and I'd like to run them more regularly,
> that is to automate the process.
>
> For each scan, I need to get the list of active IP adresses in a
> specific subnet and the corresponding MAC addresses and hostnames
> (hostnames is easy with the hostaddresstoname function in livecode). I
> gather I could try opening a socket to some specific port. However,
> this needs to work with Macs (OS9 and OSX), Windows, Linux, NAS,
> printers, and cross switches to other subnets. Good old ping might
> suffice but how to do it in livecode?
>
> The solution can be OSX-specific since it will run either under OSX
> Tiger or Leopeard (no Snow). Something like an automated IP Scan or
> Angry IP Scanner made in LiveCode. Using NMap through a shell call
> would be acceptable.
>
> Robert
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
More information about the use-livecode
mailing list