LAN에서 크로스 플랫폼 프로그램, 바람직하게는 nmap을 사용하여 연결된 모든 컴퓨터의 이름을 찾고 싶습니다. 내가 할 수 있다는 걸 알아
nmap -sn xxx.xxx.xxx.xxx/24
(xxx.xxx.xxx.xxx는 로컬 IP 주소 임) 작동중인 호스트를 찾으려면 어떻게 컴퓨터의 호스트 이름을 찾습니까? 그들은 nmap을 사용하여 찾을 수있는 방식으로 이것을 방송합니까?
업데이트 : Angry IP Scanner 가이 작업을 수행 할 수있는 것처럼 보입니다. 어떻게합니까? nmap으로 복제 할 수 있습니까?
답변
nmap 및 Angry IP 스캐너와 같은 다른 IP 스캐너를 사용했습니다. 내 관찰에 따르면 Nmap은 역방향 DNS를 사용하여 호스트 이름을 확인하므로 DNS 서버가 작동하려면 호스트에 대한 역방향 포인터 레코드가 있어야합니다. 다른 스캐너가 Netbios 쿼리와 함께 PTR 쿼리를 수행한다는 것을 알았습니다.
대상 네트워크의 모든 호스트가 Windows 호스트이고 NETBIOS가 활성화되어 있는지 확인하는 경우 nbtscan 도구 를 사용하여 호스트 를 검색 할 수 있습니다.
답변
Angry IP Scanner의 FAQ ( ” 호스트 이름이 표시되지 않음 “)에서 :
Angry IP Scanners는 역방향 조회 를 수행하여 DNS (이름) 서버가 반환 한 호스트 이름을 표시합니다 . 서버에는 IP 주소가 제공되며이를 알고 있으면 호스트 이름을 반환합니다.
일부 컴퓨터가 자신의 이름을 알고 있다고해서 네트워크의 DNS 서버를 제공 한 것은 아닙니다. 즉, 호스트 자체가 알고있는 호스트 이름 (로컬 이름)과 DNS 서버가 알고있는 IP 주소에 첨부 된 이름 (글로벌 이름)이 항상 일치하지 않을 수 있습니다.
DNS 쿼리는 종종 ISP 네트워크에서 dhcp-12-13.superisp.com과 같은 일반적인 이름을 반환합니다.
다음 경우 중 하나에서 이름이 일치합니다.
- 컴퓨터가 IP 주소를 얻은 DHCP 서버로 이름을 보냈고 DHCP 서버가 로컬 DNS 서버로 이름을 제공했습니다.
- 고정 IP 주소가 있고 로컬 호스트 이름은 네트워크의 전역 명명 규칙과 일치하는 규칙에 따라 구성됩니다
- 글로벌 이름을 묻지 않고 로컬 IP 주소를 쿼리하면 호스트의 TCP 스택이 로컬 이름을 반환합니다.
Nmap의 문서 ( ” Host Discovery “)에서 :
기본적으로 Nmap 은 호스트에서 이름을 배우기 위해 여전히 DNS 역방향 확인 을 수행합니다.
답변
--system-dns
네트워크상의 컴퓨터 이름을 얻으려면 지정해야 합니다. 왜 이것이 작동하는지 잘 모르겠습니다. DNS가 구성되는 방식에 예상치 못한 것이 있습니까?
업데이트 : 실제로 한 VLAN에서는 작동하지만 다른 VLAN에서는 작동하지 않지만 Angry IP Scanner는 두 VLAN에서 모두 작동합니다.
답변
또한 nmap -A xxx.xxx.xxx.xxx
출력에 호스트 이름을 표시해야합니다. 내 네트워크에서 나는 원하는 정보를 얻기 위해 grep을 통해 파이프합니다. ~grep -e 'scan report' -e 'Computer name'