我正在尝试确定网络打印机需要什么打印协议(ipp、http 等)。我已获得打印机的主机名和 IP 地址,并可以访问 cygwin bash shell 和 powershell。如何确定它实际使用的协议?据我所知,我的机器和打印机之间没有打印服务器(但希望得到有关如何验证这一点的提示)。
答案1
最简单的方法是查看打印机类型,然后上网搜索。如果打印机有显示器,可以使用系统菜单找到它的 IP 地址。
答案2
您可以使用类似的工具网络映射对打印机的 IP 地址进行端口扫描,查看它正在监听哪些端口的连接。这可能会泄露它正在使用的协议,因为这些协议几乎肯定会保留为默认值。例如,端口515 建议 LPR和港口9100 建议使用 HP JetDirect。
要使用 nmap 对打印机进行端口扫描,可以使用以下语法:
nmap -sS 192.168.0.101
在哪里192.168.0.101是打印机的IP。
这将为您提供已发现打开的端口列表。这是我刚刚对办公室里的一台夏普打印机进行的扫描:
C:\Scripts>nmap -sS 192.168.65.115
Starting Nmap 6.47 ( http://nmap.org ) at 2014-12-19 11:56 GMT Standard Time
Nmap scan report for 192.168.65.115
Host is up (0.36s latency).
Not shown: 991 closed ports
PORT STATE SERVICE
21/tcp open ftp
23/tcp open telnet
80/tcp open http
443/tcp open https
515/tcp open printer
631/tcp open ipp
5900/tcp open vnc
9100/tcp open jetdirect
50001/tcp open unknown
MAC Address: 78:1C:5A:22:83:70 (Sharp)
Nmap done: 1 IP address (1 host up) scanned in 12.05 seconds
因此,我们在这里可以看到它正在监听 515 (LPR) 和 9100 (JetDirect) 上的连接。还有端口 631,它是互联网打印协议。
我不知道端口 50001/tcp 应该做什么,而且显然 NMAP 也不知道(它显示该服务为未知)所以在谷歌搜索后,我查阅手册,并发现它是默认的管理界面,由专有管理工具用于管理打印机。
因此,我们知道这台打印机不仅支持一种打印协议,还支持多种打印协议 - 这些只是打印机上启用的协议。如果我能阅读供应商的规格,但可能就没那么有趣了。
如果您的打印机显示其他端口,您可以查看IANA 的指定端口注册表, 或者别处。
你不必使用 NMAP,还有其他可用的端口扫描器, 如果你更喜欢。