Nmap: ค้นหา IP ฟรีจากช่วง


14

มีวิธีสแกน IP ฟรีบนเครือข่ายหรือไม่? ฉันใช้nmap -sP 192.168.1.0/24แต่นี่แสดงให้เห็นว่าโฮสต์นั้นจริง


10
ไม่ตอบสนองต่อ ping ไม่ได้แปลว่าไม่ได้ใช้
สิทธิ์

1
คุณต้องการสแกนเนอร์ IPAM ไม่ใช่ nmap
TheCleaner

2
สแกนการค้นพบโฮสต์ของ @Grant Nmap (บางครั้งเรียกว่า "ping scan") ส่งโพรบจำนวนมากไม่เพียง แต่คำขอ ICMP Echo สำหรับที่อยู่บนดาต้าลิงค์เดียวกันนั้นจะใช้การร้องขอ ARP ซึ่งโดยทั่วไปจะไม่สามารถเพิกเฉยได้
bonsaiviking

1
คุณควรจำไว้ว่าโฮสต์ที่ไม่ได้เปิดเครื่องจะแสดงขึ้นมาว่าไม่มีที่อยู่ IP
Tero Kilkanen

คำตอบ:


26

การใช้ Nmap เช่นนี้เป็นวิธีที่แม่นยำในการทำสิ่งที่คุณถามโดยมีเงื่อนไขว่าบางอย่างเป็นจริง:

  1. คุณต้องเรียกใช้การสแกนในฐานะ root (หรือผู้ดูแลระบบบน Windows) เพื่อส่งคำขอ ARP ไม่ใช่การเชื่อมต่อ TCP มิฉะนั้นการสแกนอาจรายงานที่อยู่เป็น "ลง" เมื่อมันเป็นไฟร์วอลล์เพียง
  2. คุณสามารถทำได้จากระบบในดาต้าลิงค์เดียวกัน (เลเยอร์ 2) ตามช่วงที่อยู่ที่คุณกำลังสแกน มิฉะนั้น Nmap จะต้องใช้โพรบเลเยอร์เครือข่ายซึ่งสามารถบล็อกได้โดยไฟร์วอลล์

ในการรับที่อยู่ "ที่มีอยู่" คุณจะต้องรับรายการที่อยู่ที่ Nmap รายงานว่า "ไม่ทำงาน" คุณสามารถทำได้ด้วยคำสั่ง awk ง่าย ๆ :

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

สรุปตัวเลือก Nmap ที่ใช้:

  • เมื่อคุณใช้-vตัวเลือก Nmap จะพิมพ์ที่อยู่ที่พบว่าเป็น "ลง" นอกเหนือจากที่อยู่ "ขึ้น"
  • แต่-sPฉัน-snหมายถึง "ข้ามการสแกนพอร์ต" แทนการสะกดPing "ที่ทำให้เข้าใจผิด (เนื่องจากการสแกน Ping") (เนื่องจากขั้นตอนการค้นพบโฮสต์ไม่ได้แปลว่า ICMP Echo scan หรือ Ping )
  • -nตัวเลือกข้ามการค้นหา DNS ย้อนกลับซึ่งซื้อคุณบิตของเวลาเพราะคุณจะไม่สนใจในชื่อ แต่เพียงที่อยู่ IP
  • -oGตัวเลือกบอก Nmap เพื่อส่งออกgrepableรูปแบบซึ่งเป็นเรื่องง่ายสำหรับ awk กับกระบวนการ อาร์กิวเมนต์ " -" บอกให้ส่งเอาต์พุตนี้ไปยัง stdout

คำสั่ง awk จะค้นหา "สถานะ: ลง" แล้วพิมพ์ฟิลด์ที่สองที่มีที่อยู่ IP

แน่นอนถ้าคุณเข้าถึงการกำหนดค่าการทำงานของสวิตช์หรือสัญญาเช่าของเซิร์ฟเวอร์ DHCP คุณจะได้รับคำตอบนี้มากขึ้นโดยไม่ได้รับอนุญาตโดยไม่ต้องทำการสแกนที่สามารถกำหนดสัญญาณเตือนความปลอดภัยได้


1
ทั้งหมดนี้บุ๊คมาร์คสำหรับใช้ในอนาคตและไม่ได้ของคำถามของฉัน :)
MartinC

1

ไม่แน่ใจเกี่ยวกับ n-map แต่ใคร ๆ ก็พอจะสันนิษฐานได้ว่าถ้าคุณเขียนสคริปต์ ping ที่ส่ง 1 ping ไปยังที่อยู่ที่โฮสต์ใด ๆ ที่กลับมาพร้อมกับ "ปลายทางไม่สามารถเข้าถึงได้" และไม่มีอะไรว่าง ถูกครอบครอง แต่ไม่ตอบสนองต่อการ ping ความแตกต่างระหว่างคำตอบทั้งสองคือ "ปลายทางไม่สามารถเข้าถึงได้" ไม่ได้รับการตอบสนองต่อคำขอ 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

สำหรับ ip ใน 172.18.5 {129..254}; ทำ {ping -c 1 -W 1 $ ip; } &> / dev / null || echo $ ip & เสร็จสิ้น | ประเภท

ซึ่งหมายความว่า: "ลอง ping Ips ทั้งหมดที่อยู่ในช่วงถ้า" ping "พิมพ์ IP นั้นไม่สำเร็จ"

ถ้าคุณทำ

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

ทำงานได้เร็ว แต่ฉันสังเกตว่ามีบางโฮสต์รายงานว่า "ลง" เป็น "ขึ้น" จริง ๆ แล้ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.