ippfind
Discover Internet Printing Protocol (IPP) printers
TLDR
List IPP printers registered on the network with their status
Send a specific PostScript document to every PostScript printer on the network
Send a PostScript test document to every PostScript printer on the network
Send a PostScript test document to every PostScript printer on the network, whose name matches a regex
SYNOPSIS
ippfind [ -f ] [ -L ] [ -n name ] [ -N ] [ -R ] [ -s service-type ] [ -t timeout ] [ -V ] [ -X ]
PARAMETERS
-f
Finds only fully registered services, ignoring partially advertised ones.
-L
Lists long URIs, including the service path and printer name.
-n name
Searches for a specific printer by its advertised name. The name can be a full or partial match.
-N
Excludes IPP-over-USB devices from the discovery results.
-R
Resolves discovered hostnames to their IP addresses. By default, hostnames are returned.
-s service-type
Specifies the DNS-SD service type to search for (e.g., _ipp._tcp for standard IPP, _ipps._tcp for IPP over TLS). Defaults to searching for both.
-t timeout
Sets the discovery timeout in seconds. The command will wait for this duration to find services. Default is typically 5 seconds.
-V
Displays the program's version information and exits.
-X
Generates XML formatted output, useful for programmatic parsing.
DESCRIPTION
ippfind is a command-line utility designed for discovering IPP (Internet Printing Protocol) printers and servers on a local network. It leverages DNS Service Discovery (DNS-SD), often implemented via mDNS (multicast DNS) using services like Avahi or Bonjour, to locate network-advertised printing resources. Part of the CUPS (Common Unix Printing System) software suite, ippfind simplifies the process of finding available printers without manual configuration. It outputs the URI (Uniform Resource Identifier) of discovered printers, which can then be used with other CUPS tools such as lpadmin or lpstat to set up or manage print queues. This command is particularly useful in dynamic network environments where printers are frequently added or removed, or when administrators need to quickly identify available printing services.
CAVEATS
ippfind relies on mDNS/DNS-SD for network discovery, which requires a functioning mDNS responder (like Avahi or Bonjour) on the system and network.
Firewall rules might block the necessary multicast traffic (UDP port 5353), preventing successful discovery.
Some network configurations may not support mDNS, limiting the command's effectiveness.
DEFAULT SERVICE TYPES
By default, ippfind searches for services advertised under both _ipp._tcp (standard IPP) and _ipps._tcp (IPP over TLS/SSL) service types. Use the -s option to specify a different or single service type.
OUTPUT FORMAT
The command typically outputs one or more IPP URIs, each on a new line, representing discovered printers. For example, ipp://printername.local:631/ipp/print or ipps://192.168.1.100:443/printers/LaserJet. The -L option can alter the URI detail, and -X provides XML output.
HISTORY
ippfind is an integral part of the CUPS (Common Unix Printing System) project. CUPS was initially developed by Easy Software Products and first released in 1999. Apple Inc. acquired Easy Software Products in 2007 and has since maintained and evolved CUPS. ippfind was introduced to automate and simplify the discovery of network-advertised IPP printers, aligning with the growing adoption of IPP as a standard printing protocol. Its development mirrors the evolution of CUPS itself, providing modern, user-friendly mechanisms for printer management in network environments.
SEE ALSO
lpadmin(8), lpstat(1), cups(7), avahi-browse(1)