ฉันจะดูรายการเครื่องจักรทั้งหมดที่มีอยู่ใน LAN ฉันเป็นส่วนหนึ่งได้อย่างไร
ฉันจะดูรายการเครื่องจักรทั้งหมดที่มีอยู่ใน LAN ฉันเป็นส่วนหนึ่งได้อย่างไร
คำตอบ:
คุณมีคำถามเกี่ยวกับ LAN มากน้อยแค่ไหน ฉันสมมติว่าคุณไม่รู้อะไรเลยแค่เสียบสายเคเบิลหรือเชื่อมต่อกับ wifi
-sP
ในกรณีที่บางโฮสต์ไม่ตอบสนองต่อ ping (ตรวจสอบเอกสาร ) สิ่งสำคัญคือ nmap จะใช้งานได้หากการตั้งค่าเครือข่ายและเส้นทางของคุณถูกต้องผู้ดูแลระบบบางคน (ส่วนใหญ่?) ไม่ชอบวิธีการด้านบนบางวิธีเพื่อให้แน่ใจว่าได้รับอนุญาต (เช่นเป็นเครือข่ายของคุณ) โปรดทราบว่าไฟร์วอลล์ของคุณสามารถป้องกันวิธีการเหล่านี้บางอย่าง (แม้แต่รับ IP ด้วย DHCP) ดังนั้นให้ตรวจสอบกฎของคุณก่อน
nmap
นี่คือวิธีการที่จะทำขั้นพื้นฐานการค้นพบโฮสต์ nmap ดังที่ฉันกล่าวว่าการกำหนดค่าเครือข่ายของคุณควรถูกต้องเมื่อคุณลองทำสิ่งนี้ สมมติว่าคุณเป็น 192.168.0.50 คุณอยู่ในเครือข่ายย่อย / 24 ที่อยู่ MAC ของคุณเป็นสิ่งที่ได้รับอนุญาตให้เชื่อมต่อ ฯลฯ ฉันต้องการให้ wireshark ทำงานเพื่อดูว่าฉันกำลังทำอะไร
ก่อนอื่นฉันต้องการลองสแกนรายการซึ่งจะพยายามแก้ไขระเบียน PTR ใน DNS สำหรับที่อยู่ IP ที่ระบุเท่านั้น มันไม่ส่งอะไรไปยังโฮสต์ดังนั้นจึงไม่มีการรับประกันว่าจะเชื่อมต่อหรือเปิดใช้งานได้จริง แต่มีโอกาสที่ดี เห็นได้ชัดว่าโหมดนี้ต้องการเซิร์ฟเวอร์ DNS ที่ยินดีที่จะพูดคุยกับคุณ
nmap -vvv -sn -sL 192.168.1.0/16
สิ่งนี้อาจไม่พบสิ่งใดเลยหรืออาจบอกคุณได้ว่า IP ทุกรายการไม่ทำงาน
จากนั้นฉันก็ไปสแกน ARP มันส่งคำขอ ARP (คุณเห็นพวกเขา"Who has <target IP>? Tell <your IP>"
ในขณะที่อยู่ใน wireshark) มันค่อนข้างน่าเชื่อถือเพราะไม่มีใครกรองหรือปลอม ARP ข้อเสียเปรียบหลักคือมันทำงานได้เฉพาะบนเครือข่ายย่อยของคุณ
nmap -vvv -sn -PR 192.168.1.0/24
หากคุณต้องการสแกนบางอย่างที่อยู่ด้านหลังเราเตอร์หรือไฟร์วอลล์ให้ใช้การสแกน SYN และ ACK SYN เริ่มการเชื่อมต่อ TCP และคุณได้รับ RST หรือ SYNACK ในการตอบสนอง โฮสต์ไม่ทำงาน คุณอาจจะห้ามการสื่อสาร ICMP หรืออะไรทำนองนั้นถ้ามีไฟร์วอลล์ ส่วนใหญ่หากไฟร์วอลล์กรองแพ็คเก็ตของคุณคุณจะไม่ได้อะไรเลย ไฟร์วอลล์บางประเภทจะกรองแพ็กเก็ต TCP SYN เท่านั้นและปล่อยให้แพ็กเก็ต TCP อื่น ๆ ผ่านได้ นี่คือเหตุผลที่การสแกน ACK มีประโยชน์ คุณจะได้รับ RST ในกรณีที่โฮสต์ไม่ทำงาน เนื่องจากคุณไม่ทราบว่าไฟร์วอลล์ลองใช้งานอะไรทั้งคู่
nmap -vvv -sn -PS 10.1.2.0/24
nmap -vvv -sn -PA 10.1.2.0/24
แน่นอนว่าคุณสามารถใช้การสแกนแบบ ICMP ด้วย -PE -PP -PM
วิธีการที่น่าสนใจอื่น ๆ คือ -PO พร้อมกับหมายเลขโปรโตคอลที่ไม่มีอยู่จริง บ่อยครั้งที่จะพิจารณาเฉพาะ TCP และ UDP บนไฟร์วอลล์และไม่มีการทดสอบว่าเกิดอะไรขึ้นเมื่อคุณลองใช้โปรโตคอลที่ไม่รู้จัก คุณได้รับโปรโตคอล ICMP ไม่สามารถเข้าถึงได้หากโฮสต์ไม่ทำงาน
nmap -vvv -sn -PO160 10.1.2.0/24
คุณยังสามารถบอก nmap ให้ข้ามการค้นพบโฮสต์ (-Pn) และทำพอร์ตสแกนในทุก ๆ โฮสต์ สิ่งนี้ช้ามาก แต่คุณอาจพบโฮสต์อื่น ๆ ที่การค้นพบโฮสต์พลาดด้วยเหตุผลบางประการ
ฉันชอบip neigh
คำสั่งที่มาพร้อมกับ IpRoute2
ip neigh
192.168.1.1 dev eth0 lladdr 00:1d:7e:f8:21:66 REACHABLE
อย่างไรก็ตามฉันคิดว่ามันใช้ได้กับarp
โหนดที่ใช้ได้เท่านั้น
man ip
แสดงสิ่งที่เพื่อนบ้านหรือเพื่อนบ้านทำ
ติดตั้งnmapnmap -sP <mynetwork>
และเรียกใช้
Nmap done: 1 IP address (1 host up) scanned in 0.01 seconds
ฉันได้รับ
nmap -sP 192.168.0.*
และมันจะกลับรายการของการส่งออกในรูปแบบ:Nmap scan report for justin-desktop2 (192.168.0.61)
Host is up (0.00056s latency).
Host 192.168.2.23 is up (0.0088s latency).
และก็ตอนนี้แสดงให้เห็นจำนวนของเครื่องในเครือข่ายของฉันแบบที่
สำหรับคำตอบของทั้งสองไม่จำเป็นต้อง nmap / NO sudo requied
$ arp
การสร้าง xenoterracides ตอบด้วยip neigh
และhosts
:
#!/usr/bin/env python
"""List all hosts with their IP adress of the current network."""
import os
out = os.popen('ip neigh').read().splitlines()
for i, line in enumerate(out, start=1):
ip = line.split(' ')[0]
h = os.popen('host {}'.format(ip)).read()
hostname = h.split(' ')[-1]
print("{:>3}: {} ({})".format(i, hostname.strip(), ip))
ดาวน์โหลดผ่าน
wget https://gist.githubusercontent.com/MartinThoma/699ae445b8a08b5afd16f7d6f5e5d0f8/raw/577fc32b57a7f9e66fdc9be60e7e498bbec7951a/neighbors.py