Łatwo jest wyświetlić listę drukarek już zainstalowanych za pomocą tego polecenia:
lpstat -a
Nie zawiera to jednak drukarek sieciowych, których NIE zainstalowałeś.
nmap wyszuka wszystkie otwarte porty w sieci LAN, ale utworzona lista nie będzie ograniczona do drukarek sieciowych:
sudo nmap -sT 192.168.0.1-254
Czy istnieje polecenie, które wykonuje następujące czynności:
- Automatycznie wykrywa sieć LAN, z którą aktualnie jesteś połączony.
- Skanuje całą sieć LAN, szukając konkretnie drukarek sieciowych.
- Tworzy listę drukarek sieciowych, podając zarówno ich nazwy hostów, jak i adresy IP.
Na przykład dzisiaj zalogowałem się do interfejsu sieciowego drukarki Imagistics fx2100. Miał funkcję „Znajdź urządzenie”, która była w stanie znaleźć wszystkie drukarki sieciowe w sieci LAN (patrz zrzut ekranu poniżej). Wygląda na to, że w Linuksie istnieje polecenie, które może uzyskać tę samą listę i informacje (bez skryptów):
command-line
hardware
printing
printer
Lonniebiz
źródło
źródło
nc
do sprawdzenia, czy można się połączyćtcp/9100
. Musisz coś napisać, ponieważ jest to bardzo specyficzny problem, który próbujesz rozwiązać. Więc wątpię, czy ktoś napisał narzędzie do tego.Odpowiedzi:
Nie ma programu, który to robi, ale z
nmap -A
(zaawansowane wykrywanie hosta / pobieranie odcisków palców) może być w stanie zidentyfikować większość drukarek. Będziesz musiał to przefiltrować później.źródło
Jeśli uruchomiony jest demon avahi,
źródło
avahi-browse -a
polecenie wydaje się wyświetlać listę tych samych drukarek wiele razy i (nawet z--all
argumentem) pomija istotne informacje, które pokazano na zrzucie ekranu powyżej (np. Adres IP drukarki, którą wyświetla). Dziwi mnie, że ta „drukarka Imagistics fx2100” zawiera oprogramowanie układowe, które bije każde narzędzie Linux, jakie widziałem, jeśli chodzi o wyświetlanie listy wszystkich drukarek wszystkich marek (które nie są nawet zainstalowane, ale zapewniają drukowanie sieciowe).