How can I use the lpd/lpr to get information about a printer?

991 views Asked by At

I'd like to use port 515 (lpd protocol) to query a printer about its identity, but, unlike some other protocols, lpd does not seem to return any information about the printer when a print request is made. (Judging by the packets captured with Wireshark.) I've looked through Unix's lpinfo, lpadmin, lpstat, etc., as well as RFC 1179 (LPD Protocol) but can't seem to find any commands that will fingerprint the printer over 515 (e.g. "HP2250 LaserJet"). Anyone know how to do this?

1

There are 1 answers

0
Jé Queue On

LPD makes a huge assumption about the printer with its PostScript roots. It can manage raw print files to any printer (ASCII inclusive), but makes the assumption the the page definition language (e.g. PostScript) will be consumed and rendered by the printer itself. Though queue status information is often available, the rest is not.

This also goes with the history of LPD in that it was not necessarily a printer-level deamon but a server deamon which would then queue/proxy this off to either other LPDs or (line) printers attached locally that would not queue jobs.

Is there something you're trying to accomplish via LPD above and beyond what it is intended?