すべてのネットワークプリンターの一覧(インストールされていないものを含む)


9

次のコマンドを使用して、インストール済みのプリンターを簡単に一覧表示できます。

lpstat -a

ただし、これには、インストールしていないネットワークプリンターは表示されません。

nmapはLANで開いているすべてのポートをスキャンしますが、生成されるリストはネットワークプリンターに限定されません。

sudo nmap -sT 192.168.0.1-254

以下を実行するコマンドはありますか?

  1. 現在接続しているLANを自動的に検出します。
  2. 特にLAN全体をスキャンして、ネットワークプリンターを探します。
  3. ホスト名とIPアドレスの両方を提供するネットワークプリンターのリストを作成します。

たとえば、私は今日、Imagistics fx2100プリンターのWebインターフェイスにログインしました。これには、LAN上のすべてのネットワークプリンターを見つけることができる「デバイスの検索」機能がありました(下のスクリーンショットを参照)。同じリストと情報を(スクリプトなしで)達成できるLinuxのコマンドがあるようです:

ここに画像の説明を入力してください


2
ここでの問題は、基準(「ネットワークプリンター」)が人間にとってのみ意味のあるものであることです。コンピュータプログラムはその考えの明確な意味を持ちません。JetDirectポート(tcp / 9100)に正常に接続されたIPアドレスに対してネットワークスイープを実行してみてください。SMBを介して共有されるデスクトッププリンターなど、JetDirect以外のプリンターの場合、リストはまだ不完全である可能性があります。
Bratchley 2014年

1
あなたが述べたように、プログラムはLAN上の各IPの開いているポートをスキャンし、データを収集するためにそれらのポートに少し話しかけることさえできます。これがどのようにできるのか理解しています。私はこれを既に実行しているコマンドラインユーティリティ(特にプリンタ用)に気づいていません。
Lonniebiz 2014年

1
スイープを実行して有効なIPアドレスのリストを見つけ、ncそれを使用して接続できることを確認できtcp/9100ます。これは解決しようとしている非常に具体的な問題なので、スクリプトを作成する必要があります。だから私は誰もがこれを行うためのツールを書いたとは思えません。
Bratchley 2014年

回答:


3

具体的にこれを行うプログラムはありませんが、nmap -A(高度なホスト検出/フィンガープリント)を使用すると、ほとんどのプリンターを識別できる場合があります。後でフィルター処理する必要があります。


11

avahi-daemonが実行されている場合、

avahi-browse -a | grep Printer

このavahi-browse -aコマンドは、同じプリンターを複数回リストするようであり、(--all引数があっても)、上記のスクリーンショットに表示されている関連情報(リストされているプリンターのIPアドレスなど)が省略されています。この「Imagistics fx2100プリンター」には、すべてのブランド(インストールされていないが、ネットワーク印刷を提供しているもの)のすべてのプリンターをリストするときに、私が見たすべてのLinuxユーティリティに勝るファームウェアが含まれていることに驚かされます。
Lonniebiz、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.