| Server IP : 188.151.22.197 / Your IP : 216.73.217.74 Web Server : Apache/2.4.62 (Rocky Linux) OpenSSL/3.5.5 System : Linux wsten.se 5.14.0-687.30.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jul 27 13:09:21 UTC 2026 x86_64 User : apache ( 48) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/nmap/scripts/ |
Upload File : |
description = [[
Retrieves printer or scanner information from a remote device supporting the
BJNP protocol. The protocol is known to be supported by network based Canon
devices.
]]
---
-- @usage
-- sudo nmap -sU -p 8611,8612 --script bjnp-discover <ip>
--
-- @output
-- PORT STATE SERVICE
-- 8611/udp open canon-bjnp1
-- | bjnp-discover:
-- | Manufacturer: Canon
-- | Model: MG5200 series
-- | Description: Canon MG5200 series
-- | Firmware version: 1.050
-- |_ Command: BJL,BJRaster3,BSCCe,NCCe,IVEC,IVECPLI
-- 8612/udp open canon-bjnp2
-- | bjnp-discover:
-- | Manufacturer: Canon
-- | Model: MG5200 series
-- | Description: Canon MG5200 series
-- |_ Command: MultiPass 2.1,IVEC
--
categories = {"safe", "discovery"}
author = "Patrik Karlsson"
local bjnp = require("bjnp")
local shortport = require("shortport")
local stdnse = require("stdnse")
portrule = shortport.portnumber({8611, 8612}, "udp")
action = function(host, port)
local helper = bjnp.Helper:new(host, port)
if ( not(helper:connect()) ) then
return stdnse.format_output(false, "Failed to connect to server")
end
local status, attrs
if ( port.number == 8611 ) then
status, attrs = helper:getPrinterIdentity()
else
status, attrs = helper:getScannerIdentity()
end
helper:close()
return stdnse.format_output(true, attrs)
end