Announcing MultiVnc-Qt 2.2
MultiVnc-Qt ping monitoring and VNC automation software for Windows
version 2.2 is now available. This is the first public release.
Licensing
MultiVnc-Qt 2.2 is released as
GPL 3.0 freeware.
Description
MultiVnc-Qt plots the recent ping response times of one or many
machines. It automates starting VNC connections to these machines.
It can send wake-on-lan to machines in the local subnet. Windows
credentials can be sent to open VNC windows. Remote desktop is also
supported, but the main emphasis is VNC.
Monitoring and connecting to other machines is perhaps most useful for
system managers dealing with computers that may be far away. But I
find it useful even for a machine that's just downstairs or for viewing
a machine even closer without using a KVM switch.
This was a combined work/home project (I have now retired). Historically,
the first, somewhat fragile, implementation was in 2004 using Visual Basic 6.
In 2012 it was reimplemented as a C++ program with
Qt
providing the graphical user interface.
Here are some screenshots
Web forum and other GPL software by WSS-DDC
System requirements and limitations
- UltraVNC installed on
target machines for VNC option. Other VNC clients will likely not use
the same command line format for passing credentials.
- Any firewalls in the network path must allow ping and VNC.
- The pre-defined target firewall rule
"Windows Management Instrumentation (WMI-In)"
should be enabled.
- The pre-defined target firewall blocking rule
"File and Printer Sharing (Spooler Service - RPC-EPMAP)"
should be disabled or changed to an allow rule.
- Windows 7 or higher (for the machine running MultiVnc-Qt).
Older versions of Windows will likely yield unresolvable missing DLL
errors.
- Windows versions no longer supported by Microsoft, i.e. anything
older than Windows 10, get only minimal testing and are not recommended.
- MultiVnc-Qt is built as a 32-bit program, so it is compatible with
32- and 64-bit Windows.
- IPv6 is not currently supported.
- Logoff by API call, which is more reliable than using keyboard stuffing,
requires the remote desktop services service which is only available with
Windows 7 Pro or higher.
- Logoff by API call also requires a non-default registry setting:
- Key: HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server
- Dword value: AllowRemoteRPC = 1
- The value may need to be created, or may exist but be zero.
About wake-on-lan
Wake-on-lan (WOL for short) is a network packet that contains the hardware
address (repeated multiple times) of the machine to be woken. It's sent
as a broadcast, which means every machine in the local network sees the
packet, and machines outside the local network do not. (Routers can be
configured to send WOL to other networks, but network admins will not be
happy if you ask them to allow this.)
The hardware address (MAC) is needed to build a WOL packet. On a Windows
machine, you can get this address in several ways:
- In network settings on the target machine.
- With the command ipconfig /all on the target machine.
Look for "Physical address" or "MAC".
- In the ARP table of another machine in the same network (that
has recently exchanged packets with the target) using the
command arp -a.
- Network adapter drivers may allow you to set the MAC address, but
this is rarely done.
The MAC format is 6 pairs of hex digits, usually punctuated with
either dashes or colons, e.g. 28-CD-C4-7B-C5-89 or 28:CD:C4:7B:C5:89.
Every network adapter in the world is supposed to have a different MAC,
but I've heard stories of cut-rate suppliers violating this rule. Duplicate
MAC addresses on the same network will interfere with packet delivery.
MutiVnc-Qt reads MAC addresses from a text file. The format is
name,MAC, one line for each target. Either dash or colon
may be used to separate the 6 digit pairs in the address. Ping, VNC and
remote desktop connections do not use the MAC address, so only WOL
will fail if you don't provide a file with MAC addresses or if a
machine is not listed in this file.
Not every machine will wake up when a proper WOL packet is received.
In particular, if the network card is separate rather than on the
system board, WOL is unlikely to work. There may be BIOS options
that control WOL, and it may matter whether a machine is in sleep
mode, hibernated, shutdown or completely powered off when the WOL
packet is received.
Why is IPv6 not supported?
IPv6 targets are not supported because the Microsoft Icmp6SendEcho2
function, which I would need to use to match the IPv4 code, is
explicitly documented to not use the Timeout parameter for
asynchronous calls. So, I don't know how to control the ping wait
time. If you know how to handle IPv6 timeouts, please post in the
web forum.
Password security considerations
Saved passwords are encrypted using the Microsoft
CryptProtectData function. Only the user who encrypted the data
can decrypt it, and only if running on the same machine (or with a roaming
profile). If your account is compromised, encryption won't save you.
Changelog
Note: The MultiVnc-Qt installer is digitally signed. This should make
it less likely that virus scanners will block downloading or
installation. If you're worried, you can submit the download URL to
VirusTotal which
will download the installer and scan it with multiple scanners.
In a locked down environment, you might need to remove the marker that
Windows adds to downloaded files. To do this, right-click the installer
in Windows Explorer and check the "Unblock" box. (And if you're
so tightly locked down that the unblock option is not available, you
should talk to an admin before installing anything.)
Acknowledgments for tools used to create MultiVnc-Qt