nmap을 사용하여 온라인 머신의 IP 주소 만 출력


19

nmap현재 온라인 상태 인 호스트 목록을 찾는 방법을 알고 있습니다. 내가하고 싶은 것은 IP 주소 목록을 얻는 것입니다. 이제 다음과 같은 추가 정보가 표시됩니다.

Nmap scan report for 192.168.x.x' and 'Host is up (0.12s latency).

내가 원하는 것은 nmap명령 을 실행하고 현재 온라인 상태 인 IP 주소의 텍스트 문서를 얻는 것입니다.

이것이 가능합니까?

답변:


33

이것은 일반적인 것입니다 :

nmap -n -sn 192.0.2.0/24 -oG - | awk '/Up$/{print $2}'

옵션 및 명령에 대한 빠른 설명 :

  • -nIP 주소 만 원하므로 역방향 이름 확인을 끕니다. 로컬 LAN에서는 아마도 가장 느린 단계 일 것이므로 속도가 향상됩니다.
  • -sn"포트 스캔을하지 마십시오"를 의미합니다. -sP니모닉 "핑 스캔"으로 더 이상 사용되지 않는 오래된 것과 동일합니다 .
  • -oG -"grepable"출력 을 stdout으로 보내고 파이프는로 전달됩니다 awk.
  • /Up$/ 온라인 상태 인 호스트를 나타내는 "Up"으로 끝나는 행만 선택합니다.
  • {print $2} IP 주소 인 두 번째 공백으로 구분 된 필드를 인쇄합니다.

왜 $ 뒤에 /Up있습니까? 명령 nmap -n -sn 192.0.2.0/24 -oG - | awk '/Up/{print $2}'이 동일한 결과를 제공 한다는 것을 알았습니다 .
Michael

1
@Michael 문자열에 "Up"이 포함 된 경우 가비지를 인쇄하지 않도록하는 것이 추가 수준의 안전성입니다. 이렇게하면 -sV네트워크 서비스 배너에서 예측할 수없는 문자열을 포함 할 수 있는 다른 유형의 스캔에서 파일의 grepable 출력에 대해 실행하더라도 작동합니다 .
bonsaiviking

3

파이프로 연결할 수 있습니다 awk:

nmap -sP 192.168.1.0/24 | awk '/is up/ {print up}; {gsub (/\(|\)/,""); up = $NF}'
192.168.1.1
192.168.1.10
192.168.1.20
192.168.1.30
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.