使用这个命令很容易列出你已经安装的打印机:
lpstat -a
然而,这并不列出您尚未安装的网络打印机。
nmap将扫描局域网上的所有开放端口,但生成的列表不仅限于网络打印机。
sudo nmap -sT 192.168.0.1-254
有没有一个命令可以做到以下几点:
1. 自动检测当前连接的局域网。
2. 扫描整个局域网,特别是寻找网络打印机。
3. 生成一个提供主机名和IP地址的网络打印机列表。
例如,今天我登录了一个Imagistics fx2100打印机的Web界面。它有一个“查找设备”的功能,能够找到局域网上的所有网络打印机(见下面的截图)。请注意,这台Imagistics打印机的内置工具找到了各种品牌的打印机(不仅仅是Imagistics的)。
在Linux中似乎会有一个命令可以实现相同的列表和信息(无需脚本编写)。
- Lonnie Best32这里的问题是,标准(“网络打印机”)只有对人类来说才有意义。计算机程序不会清楚地理解这个概念。你可以尝试在JetDirect端口(tcp/9100)上进行网络扫描,查找成功连接的IP地址。但是,在共享SMB的桌面打印机等非JetDirect打印机的情况下,列表仍然可能不完整。 - Bratchley1正如你所提到的,一个程序可以扫描局域网上每个IP的开放端口,甚至可以与这些端口进行一些通信以收集数据。我理解这是可行的。只是我不知道是否已经有任何命令行工具可以实现这一功能(特别是针对打印机)。 - Lonnie Best1你可以进行扫描以查找有效IP地址列表,并使用 nc 验证它是否可以连接到 tcp/9100。由于这是一个非常特定的问题,所以你需要编写脚本来解决它。因此,我怀疑是否有人编写了这样的工具。 - Bratchley