Nmap vnc-info NSE Script


This page contains detailed information about how to use the vnc-info NSE script. For list of all NSE scripts, visit the Nmap NSE Library.

Select:
Overview
Error Messages

Script Overview


Script source code: https://github.com/nmap/nmap/tree/master/scripts/vnc-info.nse
Script categories: default, discovery, safe
Target service / protocol: vnc, tcp
Target network port(s): 5900, 5901, 5902
List of CVEs: -

Script Description


The vnc-info.nse script queries a VNC server for its protocol version and supported security types.

Vnc-info NSE Script Arguments


The vnc-info.nse script does not have any arguments.

Vnc-info NSE Script Example Usage


Here's an example of how to use the vnc-info.nse script:

nmap --script=vnc-info <target>

Vnc-info NSE Script Example Output


Here's a sample output from the vnc-info.nse script:

PORT    STATE SERVICE
5900/tcp open  vnc
| vnc-info:
|   Protocol version: 3.889
|   Security types:
|     Mac OS X security type (30)
|_    Mac OS X security type (35)

Vnc-info NSE Script Example XML Output


Here's a sample XML output from the vnc-info.nse script produced by providing the -oX <file> Nmap option:

 <elem key="Protocol version">3.8</elem>
 <table key="Security types">
   <table>
     <elem key="name">Ultra</elem>
     <elem key="type">17</elem>
   </table>
   <table>
     <elem key="name">VNC Authentication</elem>
     <elem key="type">2</elem>
   </table>
 </table>

Author


  • Patrik Karlsson

References


See Also


Related NSE scripts to the vnc-info.nse script:

Visit Nmap NSE Library for more scripts.

The vnc-info.nse script may fail with the following error messages. Check for the possible causes by using the code snippets highlighted below found in the script source code. This can often times help in identifying the root cause of the problem.

Failed to handshake VeNCrypt: %s


Here is a relevant code snippet related to the "Failed to handshake VeNCrypt: %s" error message:

71:	
72:	  if v:supportsSecType(v.sectypes.VENCRYPT) then
73:	    v:sendSecType(v.sectypes.VENCRYPT)
74:	    status, data = v:handshake_vencrypt()
75:	    if not status then
76:	      stdnse.debug1("Failed to handshake VeNCrypt: %s", data)
77:	    else
78:	      result["VeNCrypt auth subtypes"] = v:getVencryptTypesAsTable()
79:	      if not none_auth then
80:	        for i=1, v.vencrypt.count do
81:	          if v.vencrypt.types[i] == vnc.VENCRYPT_SUBTYPES.TLSNONE or

Failed to handshake Tight: %s


Here is a relevant code snippet related to the "Failed to handshake Tight: %s" error message:

97:	      v:handshake()
98:	    end
99:	    v:sendSecType(v.sectypes.TIGHT)
100:	    status, data = v:handshake_tight()
101:	    if not status then
102:	      stdnse.debug1("Failed to handshake Tight: %s", data)
103:	    else
104:	      if v.aten then
105:	        result["Tight auth"] = "ATEN KVM VNC"
106:	      else
107:	        local mt = {

Failed to handshake TLS: %s


Here is a relevant code snippet related to the "Failed to handshake TLS: %s" error message:

144:	      v:handshake()
145:	    end
146:	    v:sendSecType(v.sectypes.TLS)
147:	    status, data = v:handshake_tls()
148:	    if not status then
149:	      stdnse.debug1("Failed to handshake TLS: %s", data)
150:	    else
151:	      result["TLS auth subtypes"] = v:getSecTypesAsTable()
152:	      if v:supportsSecType(v.sectypes.NONE) then
153:	        none_auth = true
154:	      end

Server does not require authentication


Here is a relevant code snippet related to the "Server does not require authentication" error message:

153:	        none_auth = true
154:	      end
155:	    end
156:	  end
157:	
158:	  if none_auth then
159:	    result["WARNING"] = "Server does not require authentication"
160:	  end
161:	
162:	  return result
163:	end

Version


This page has been created based on Nmap version 7.92.

Go back to menu.