วิธีค้นหาสิ่งที่เครื่องอื่นเชื่อมต่อกับเครือข่ายท้องถิ่น


27

ฉันจะดูรายการเครื่องจักรทั้งหมดที่มีอยู่ใน LAN ฉันเป็นส่วนหนึ่งได้อย่างไร

คำตอบ:


28

คุณมีคำถามเกี่ยวกับ LAN มากน้อยแค่ไหน ฉันสมมติว่าคุณไม่รู้อะไรเลยแค่เสียบสายเคเบิลหรือเชื่อมต่อกับ wifi

  1. ลองขอที่อยู่ IP ด้วย DHCP คุณได้รับหรือไม่ จากนั้นคุณก็รู้บางสิ่ง: IP เกตเวย์, IP เซิร์ฟเวอร์ DHCP, subnet mask และเซิร์ฟเวอร์ DNS
  2. หากคุณไม่ได้รับอย่างใดอย่างหนึ่งจะไม่มีเซิร์ฟเวอร์ DHCP หรือเครือข่ายกรอง MAC
  3. ทั้งสองวิธีเริ่มจับแพ็คเก็ตกับWireshark หากคุณใช้งานแบบไร้สายหรือเชื่อมต่อกับฮับเป็นเรื่องง่าย หากคุณเชื่อมต่อกับสวิตช์คุณสามารถลองใช้MAC ท่วมท้นเพื่อสลับกลับไปที่ "โหมดฮับ" แต่สวิตช์ที่ชาญฉลาดจะปิดพอร์ตของคุณ หากคุณต้องการลองใช้ettercapก็สามารถทำได้สำหรับคุณ (หรือ macchanger และเชลล์สคริปต์ :))
  4. ดูที่แพ็คเก็ตที่คุณสามารถหาที่อยู่ IP แต่ที่สำคัญที่สุดคือคุณสามารถคาดเดาพารามิเตอร์เครือข่ายได้ หากคุณสงสัยว่าการกรอง MAC เปลี่ยนที่อยู่ MAC ของคุณเป็นหนึ่งในรายการที่ตรวจพบหลังจากทิ้งไว้ (ไม่ส่งอะไรไปสักพักหนึ่ง)
  5. เมื่อคุณมีความคิดที่ดีเกี่ยวกับการกำหนดค่าเครือข่าย (netmask เกตเวย์ ฯลฯ ) ให้ใช้ nmap เพื่อสแกน Nmap สามารถทำได้มากกว่า-sPในกรณีที่บางโฮสต์ไม่ตอบสนองต่อ ping (ตรวจสอบเอกสาร ) สิ่งสำคัญคือ nmap จะใช้งานได้หากการตั้งค่าเครือข่ายและเส้นทางของคุณถูกต้อง
  6. คุณอาจจะสามารถหาเจ้าภาพมากขึ้นด้วย 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) และทำพอร์ตสแกนในทุก ๆ โฮสต์ สิ่งนี้ช้ามาก แต่คุณอาจพบโฮสต์อื่น ๆ ที่การค้นพบโฮสต์พลาดด้วยเหตุผลบางประการ


ดูเหมือนว่าเป็นคำตอบที่ยอดเยี่ยมและตอนนี้ฉันจะต้องขอให้คุณป้อนอาหารให้ฉันด้วยการรวมคำสั่งที่จะเรียกใช้สำหรับแต่ละงาน ฉันสนใจเป็นพิเศษในการใช้ Nmap เพื่อตอบคำถามของฉัน (อย่าทำให้ฉันอ่านเอกสาร :)
tshepang

5
@Tshepang: ฉันเพิ่มตัวอย่าง nmap บางส่วน แต่ฉันหวังว่าคุณจะพิจารณาอ่านเอกสาร Nmap เป็นหนึ่งในเครื่องมือเครือข่ายที่ยิ่งใหญ่ที่สุดและมีการเขียนเอกสารเป็นอย่างดีมันคุ้มค่ากับเวลา
stribika

9

ฉันชอบip neighคำสั่งที่มาพร้อมกับ IpRoute2

ip neigh
192.168.1.1 dev eth0 lladdr 00:1d:7e:f8:21:66 REACHABLE

อย่างไรก็ตามฉันคิดว่ามันใช้ได้กับarpโหนดที่ใช้ได้เท่านั้น


มันทำอะไรกันแน่? Fr me มันเป็นเพียงรายการไม่กี่รายการ
tshepang

ฉันคิดว่ามันแค่ส่ง arp ไปยัง IP ออกอากาศและแสดงรายการที่ตอบสนอง สุจริตฉันไม่รู้ว่ามันทำงานอย่างไร
xenoterracide

1
man ipแสดงสิ่งที่เพื่อนบ้านหรือเพื่อนบ้านทำ
slm

9

ติดตั้งnmapnmap -sP <mynetwork>และเรียกใช้


Nmap done: 1 IP address (1 host up) scanned in 0.01 secondsฉันได้รับ
tshepang

1
@Tshepang - ฉันไม่ได้nmap -sP 192.168.0.*และมันจะกลับรายการของการส่งออกในรูปแบบ:Nmap scan report for justin-desktop2 (192.168.0.61) Host is up (0.00056s latency).
จัสติน Ethier

@justin ผมใช้รุ่น5.00Host 192.168.2.23 is up (0.0088s latency).และก็ตอนนี้แสดงให้เห็นจำนวนของเครื่องในเครือข่ายของฉันแบบที่
tshepang

3
ฉันควรแทนที่ <mynetwork> ด้วยอะไร
tshepang

@tshepang หมายเลขเครือข่ายที่มีส่วนโฮสต์เป็นศูนย์และหน้ากาก CIDR เช่นนี้ 192.169.1.0/24
Keith

0

สำหรับคำตอบของทั้งสองไม่จำเป็นต้อง nmap / NO sudo requied

คำตอบ 1

$ arp

คำตอบ 2

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