次のコマンドを使用して、インストール済みのプリンターを簡単に一覧表示できます。
lpstat -a
ただし、これには、インストールしていないネットワークプリンターは表示されません。
nmapはLANで開いているすべてのポートをスキャンしますが、生成されるリストはネットワークプリンターに限定されません。
sudo nmap -sT 192.168.0.1-254
以下を実行するコマンドはありますか?
- 現在接続しているLANを自動的に検出します。
- 特にLAN全体をスキャンして、ネットワークプリンターを探します。
- ホスト名とIPアドレスの両方を提供するネットワークプリンターのリストを作成します。
たとえば、私は今日、Imagistics fx2100プリンターのWebインターフェイスにログインしました。これには、LAN上のすべてのネットワークプリンターを見つけることができる「デバイスの検索」機能がありました(下のスクリーンショットを参照)。同じリストと情報を(スクリプトなしで)達成できるLinuxのコマンドがあるようです:
2
ここでの問題は、基準(「ネットワークプリンター」)が人間にとってのみ意味のあるものであることです。コンピュータプログラムはその考えの明確な意味を持ちません。JetDirectポート(tcp / 9100)に正常に接続されたIPアドレスに対してネットワークスイープを実行してみてください。SMBを介して共有されるデスクトッププリンターなど、JetDirect以外のプリンターの場合、リストはまだ不完全である可能性があります。
—
Bratchley 2014年
あなたが述べたように、プログラムはLAN上の各IPの開いているポートをスキャンし、データを収集するためにそれらのポートに少し話しかけることさえできます。これがどのようにできるのか理解しています。私はこれを既に実行しているコマンドラインユーティリティ(特にプリンタ用)に気づいていません。
—
Lonniebiz 2014年
スイープを実行して有効なIPアドレスのリストを見つけ、
—
Bratchley 2014年
nc
それを使用して接続できることを確認できtcp/9100
ます。これは解決しようとしている非常に具体的な問題なので、スクリプトを作成する必要があります。だから私は誰もがこれを行うためのツールを書いたとは思えません。