Nmap : 범위에서 무료 IP 찾기


14

네트워크에서 무료 IP를 검색하는 방법이 있습니까? 사용 nmap -sP 192.168.1.0/24하지만 실제로는 호스트가 표시됩니다.


10
핑에 응답하지 않는다고해서 반드시 사용하지 않는 것은 아닙니다.
Grant

1
nmap이 아닌 IPAM 스캐너가 필요합니다.
TheCleaner

2
@Grant Nmap의 호스트 검색 스캔 ( "ping scan"이라고도 함)은 ICMP 에코 요청뿐만 아니라 다양한 프로브를 보냅니다. 동일한 데이터 링크에있는 주소의 경우 기본적으로 무시할 수없는 ARP 요청을 사용합니다.
bonsaiviking

1
전원이 켜져 있지 않은 호스트도 IP 주소가없는 것으로 표시됩니다.
Tero Kilkanen

답변:


26

이와 같은 Nmap을 사용하는 것은 몇 가지 전제 조건이 충족된다면 요청한 것을 수행하는 상당히 정확한 방법입니다.

  1. TCP 연결이 아닌 ARP 요청을 보내려면 검색을 루트 (또는 Windows의 관리자)로 실행해야합니다. 그렇지 않으면 스캔이 단순히 방화벽 일 때 주소가 "작동 중지"로보고 될 수 있습니다.
  2. 스캔하는 주소 범위와 동일한 데이터 링크 (계층 2)의 시스템에서만이 작업을 수행 할 수 있습니다. 그렇지 않으면 Nmap은 방화벽에 의해 차단 될 수있는 네트워크 계층 프로브를 사용해야합니다.

"사용 가능한"주소를 얻으려면 Nmap이 "down"으로보고하는 주소 목록을 가져와야합니다. 간단한 awk 명령으로이를 수행 할 수 있습니다.

sudo nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'

사용 된 Nmap 옵션 요약 :

  • -v옵션 을 사용하면 Nmap은 "위"주소와 함께 "아래"주소를 찾습니다.
  • 대신에 -sP, -sn여전히 동일한 스캔을 수행 하는 새로운 철자를 대체 했지만 오해의 소지가있는 "Ping 스캔"대신 "포트 스캔 건너 뛰기"를 의미합니다 (호스트 발견 단계가 반드시 ICMP 에코 스캔 또는 Ping을 의미하는 것은 아니기 때문에) ).
  • -n옵션은 이름에 관심이없고 IP 주소에만 관심이 있기 때문에 약간의 시간이 걸리는 역방향 DNS 조회를 건너 뜁니다.
  • -oG옵션은 Nmap에게 grepable 형식 을 출력 하도록 지시 하므로 awk를 처리하기가 더 쉽습니다. " -" 인수 는이 출력을 stdout으로 보내도록 지시합니다.

그런 다음 awk 명령은 "Status : Down"을 검색하고 IP 주소가 포함 된 두 번째 필드를 인쇄합니다.

물론 스위치의 실행중인 구성이나 DHCP 서버의 임대에 액세스 할 수 있으면 보안 경보를 설정할 수있는 스캔을 수행하지 않고도 훨씬 정식 적으로이 답변을 얻을 수 있습니다.


1
나중에 사용하기 위해 이것을 완전히 북마크에 추가하고 내 질문조차도 :)
MartinC

1

n-map에 대해서는 확실하지 않지만 "대상에 도달 할 수 없음"으로 돌아 오는 호스트와 "요청 시간 초과"로 돌아 오는 모든 호스트가 각 주소에 1 개의 핑을 보내는 핑 스크립트를 작성하는 경우 합리적으로 가정 할 수 있습니다. 점유되어 있지만 핑에 응답하지 않습니다. 두 응답의 차이점은 "대상에 도달 할 수 없음"이 ARP 요청에 대한 응답을받지 못했다는 것입니다. "요청 시간 초과"는 ARP 요청에 응답했지만 ICMP 패킷이 아닌 것을 의미합니다.


루트 권한으로 실행하면 Nmap은 단순히 ARP 요청을 수행하고 응답하는 주소를보고합니다.
bonsaiviking

0

PowerShell에서도 마찬가지입니다 ....

((nmap -v -sn -n 10.208.2.0/24 -oG - ) -match "Status\:\sDown") | foreach {($_).Split(" ")[1]}

0

Anders Larsson에서 영감을 얻은 또 다른 제품이 있습니다.

172.18.5. {129..254}의 ip의 경우; {ping -c 1 -W 1 $ ip; } &> / dev / null || 에코 $ ip & done | 종류

"범위 내의 모든 Ip를 핑 (Ping)하려고 시도합니다."ping "이 실패하면 해당 IP를 인쇄합니다."

당신이 할 경우

nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'

빠르게 작동하지만 "Down"으로보고 된 일부 호스트가 실제로 "Up"인 것으로 나타났습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.