https://t.me/RX1948
Server : Apache/2.4.18 (Ubuntu)
System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64
User : oppastar ( 1041)
PHP Version : 7.0.33-0ubuntu0.16.04.15
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
Directory :  /usr/share/nmap/scripts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/nmap/scripts/teamspeak2-version.nse
local comm = require "comm"
local shortport = require "shortport"
local nmap = require "nmap"
local bin = require "bin"
local string = require "string"

description = [[
Detects the TeamSpeak 2 voice communication server and attempts to determine
version and configuration information.

A single UDP packet (a login request) is sent. If the server does not have a
password set, the exact version, name, and OS type will also be reported on.
]]

---
-- @usage
-- nmap -sU -sV -p 8767 <target>
-- @output
-- PORT     STATE SERVICE    REASON     VERSION
-- 8767/udp open  teamspeak2 script-set TeamSpeak 2.0.23.19 (name: COWCLANS; no password)
-- Service Info: OS: Win32

author = "Marin Maržić"
license = "Same as Nmap--See https://nmap.org/book/man-legal.html"
categories = { "version" }

local payload = "\xf4\xbe\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\z
\x00\x002x\xba\x85\tTeamSpeak\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\z
\x00\x00\x00\x00\x00\x00\x00\x00\x00\nWindows XP\x00\x00\x00\x00\x00\x00\x00\z
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00 \x00<\x00\z
\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\z
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\z
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\z
\x00\x00\x00\x00\x00\x08nickname\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\z
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

portrule = shortport.version_port_or_service({8767}, "teamspeak2", "udp")

action = function(host, port)
  local status, result = comm.exchange(
    host, port.number, payload, { proto = "udp", timeout = 3000 })
  if not status then
    return
  end
  nmap.set_port_state(host, port, "open")

  local name, platform, version = string.match(result,
    "^\xf4\xbe\x04\0\0\0\0\0.............([^\0]*)%G+([^\0]*)\0*(........)")
  if not name then
    return
  end

  port.version.name = "teamspeak2"
  port.version.name_confidence = 10
  port.version.product = "TeamSpeak"
  if name == "" then
    port.version.version = "2"
  else
    local _, v_a, v_b, v_c, v_d = bin.unpack("<SSSS", version)
    port.version.version = v_a .. "." .. v_b .. "." .. v_c .. "." .. v_d
    port.version.extrainfo = "name: " .. name .. "; no password"
    if platform == "Win32" then
      port.version.ostype = "Windows"
    elseif platform == "Linux" then
      port.version.ostype = "Linux"
    end
  end

  nmap.set_port_version(host, port, "hardmatched")

  return
end

https://t.me/RX1948 - 2025