설치된 네트워크 프린터의 IP를 어떻게 얻나요?

설치된 네트워크 프린터의 IP를 어떻게 얻나요?

.NET을 사용하여 Ubuntu 14.04 시스템에 네트워크 프린터를 설치했습니다 system-config-printer. 이 GUI 프로그램은 로컬 네트워크를 탐색하는 "네트워크 프린터 찾기" 기능을 제공합니다. IP 주소와 연결된 프린터 이름 목록을 반환합니다.

이제 하나를 선택하고 성공적으로 설치했다고 가정해 보겠습니다.

이제 잠시 후 내가 설치한 프린터가 잘못된 프린터라는 것을 깨달았습니다. 그래서 프로세스를 다시 수행합니다. 그리고... 아 잠깐, IP 주소가 다른 동일한 유형(및 이름)의 프린터가 여러 대 있습니다!

좋아요, 문제 없습니다. 방금 설치한 IP를 확인하여 잘못된 IP를 다시 설치하지 않도록 하겠습니다. 질문은 다음과 같습니다.설치된 프린터의 IP를 어떻게 얻나요?

분명히 "속성" 대화 상자(아래 샘플)는 이 정보에 대한 액세스를 제공하지 않습니다(아니요, URI 라인에 숨겨져 있지 않습니다).

를 통해 CUPS 웹서버를 사용해도 성공하지 못했습니다 http://localhost:631. 이는 기본적으로 동일한 정보를 얻는 또 다른 방법인 것 같습니다.

편집하다: 질문은 아래 프린터와 관련이 없지만 더 일반적입니다. OS는 네트워크 탐색 단계에서 프린터의 IP를 가져올 수 있으므로 정보가 어딘가에 저장되어 있다고 가정합니다.어디에 저장되어 있으며 어떻게 접근하나요?아니면 어디에도 저장되지 않은 걸까요?

프린터 속성 대화 상자

답변1

확장하려면위의 @JUH 솔루션...

avahi-browse --all -t -r

자동 검색 프린터에 적합한 솔루션입니다.

불행하게도 많은 프린터는 자신의 IP 주소를 최종 사용자에게 사용 가능한 형태로 노출하지 않습니다. 이것은 의도적으로 설계된 것입니다.https://www.cups.org/doc/network.html

대부분의 네트워크 프린터는 Bonjour라는 프로토콜을 지원합니다. 이는 구성이 필요 없는 네트워킹( ZeroConf), 멀티캐스트 DNS( mDNS) 및 DNS-SDIETF(Internet Engineering Task Force)에서 발표한 DNS 서비스 검색( ) 표준의 조합입니다. TCP/IP와 오늘날 우리가 사용하는 모든 네트워킹

mDNS 페이지 인용:

mDNS 클라이언트는 호스트 이름을 확인해야 할 때 해당 이름을 가진 호스트에게 자신을 식별하도록 요청하는 IP 멀티캐스트 쿼리 메시지를 보냅니다. 그런 다음 해당 대상 컴퓨터는 IP 주소가 포함된 메시지를 멀티캐스트합니다. 그러면 해당 서브넷의 모든 시스템이 해당 정보를 사용하여 mDNS 캐시를 업데이트할 수 있습니다. 모든 호스트는 TTL( )이 0인 응답 패킷을 전송하여 이름에 대한 소유권을 포기할 수 있습니다 TTL.

따라서 mDNS 프린터의 IP 주소를 제대로 찾으려면 캐시를 읽을 수 있는 도구가 필요합니다.

OP의 의견 중 하나를 인용하면 다음과 같습니다.

감사해요. 제 경우에는 lpoptions실제로 많은 정보가 표시되지만 IP는 표시되지 않습니다. 관련 필드는 다음과 같으 device-uri=hp:/net/hp_LaserJet_2420?zc=HP2420ROOMXXX므로 GUI 도구에서 얻은 것과 동일합니다. 그래서 IP가 내 컴퓨터에 저장되지 않았다고 가정합니다 ...

이것은 avahi-browse작업에 가장 적합한 도구입니다... (또는 Mac 유틸리티를 찾으려면 Apple에서 이라는 유틸리티를 제공합니다 dns-sd.)

Avahi 페이지 인용:

Avahi는 mDNS/DNS-SD 프로토콜 제품군을 통해 로컬 네트워크에서 서비스 검색을 용이하게 하는 시스템입니다. 이를 통해 랩톱이나 컴퓨터를 네트워크에 연결하고 채팅할 수 있는 다른 사람을 즉시 확인하고 인쇄할 프린터를 찾거나 공유 중인 파일을 찾을 수 있습니다. 호환 가능한 기술은 Apple MacOS X("Bonjour", 때로는 "Zeroconf" 브랜드)에서 찾을 수 있습니다.

Avahi는 주로 Linux 시스템을 대상으로 하며 기본적으로 대부분의 배포판에 제공됩니다. 이 단계에서는 Windows로 포팅되지 않지만 다른 많은 BSD 유사 시스템에서 실행됩니다. 기본 API는 D-Bus이며 대부분의 Avahi를 사용하는 데 필요합니다. 그러나 서비스는 에 있는 XML 서비스 정의를 사용하여 게시할 수 있습니다 /etc/avahi/services.

nss-mdnsnsswitch를 사용하는 모든 시스템 프로그램에서 mDNS를 통해 *.local 호스트 이름의 호스트 이름 조회를 허용하는 프로젝트 도 참조하세요.

답변2

사용lpoptions

lpoptions  -p <printer_name> | awk '{for (i=1; i<=NF; i++) {if ($i ~ /device-uri/) {print $i}}}'

$ lpoptions  -p TOSHIBA_e-STUDIO2330C | awk '{for (i=1; i<=NF; i++) {if ($i ~ /device-uri/) {print $i}}}'
device-uri=socket://192.168.20.43

개요를 얻으려면lpinfo

$ lpinfo -v | grep -P '://'
network dnssd://HP%20LaserJet%201022n._pdl-datastream._tcp.local/
network dnssd://TOSHIBA%20e-STUDIO2540C-07279076._printer._tcp.local/
network socket://192.168.20.201
network socket://192.168.20.203
network socket://192.168.20.204
network socket://192.168.20.205
network socket://192.168.20.206
network socket://192.168.20.207
network socket://192.168.20.43

또는nmap

nmap -sT <adress_or_address_range>

그리고 서비스를 grepprinter

$ nmap -sT 192.168.20.43

Starting Nmap 6.47 ( http://nmap.org ) at 2015-07-03 08:38 CEST
Nmap scan report for 192.168.20.43
Host is up (0.0017s latency).
Not shown: 991 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
25/tcp   open  smtp
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
515/tcp  open  printer
631/tcp  open  ipp
8080/tcp open  http-proxy
9100/tcp open  jetdirect

답변3

HP Laserjet 2400 시리즈 사용 설명서에 따르면 IP 주소는 프린터 자체의 제어판에서 확인할 수 있습니다.

여기에 이미지 설명을 입력하세요

답변4

를보세요arp-scan명령(비슷하다 ip neigh). 아마도 다음과 같이 설치해야 할 것입니다.

sudo apt-get install arp-scan

더 자세히 설명하자면 다음과 같습니다.

sudo arp-scan --interface=eth0 --localnet

eth0은 장치(또는 wlan0 또는 wlp2s0)입니다. 또는 다음을 사용하여 장치를 찾을 수 있습니다 ifconfig.

ip -c addr

또는 nmap( sudo apt-get install nmap)를 설치하고 IP 주소의 처음 세 부분으로 192.168.1.0/24대체하여 nmap을 입력해 보세요(를 사용하여 알아보세요 ).192.168.1ip addr

관련 정보