จะค้นหาชื่อคอมพิวเตอร์ใน LAN จากที่อยู่ IP ได้อย่างไร


54

เครือข่ายของฉันมีเครื่องที่ใช้ Linux และอื่น ๆ ที่ใช้ Windows และเครื่องของฉันใช้งาน Linux


2
คำถามนั้นค่อนข้างไม่ชัดเจนซึ่งส่งผลให้เกิดคำตอบที่ต่างกันและดี คุณต้องการค้นหาชื่อ DNS ของโฮสต์หรือไม่ คุณต้องการค้นหาชื่อ WINS หรือไม่ คุณต้องการค้นหาเครือข่ายที่พบโฮสต์ทั้งหมดหรือไม่ คำถามเหล่านี้ทั้งหมดจะได้รับคำตอบ แต่ไม่ทราบคำตอบเฉพาะที่ต้องการ
พ.ค.

คำตอบ:


35

พิมพ์ในอาคารผู้โดยสาร

arp -a

มันจะแสดงชื่อโฮสต์ทั้งหมดใน LAN ไม่ว่าจะเป็น Linux หรือ Windows


14
สิ่งนี้แสดงให้เห็นว่าไม่มีอะไรในเครือข่ายท้องถิ่นของฉันที่มีเครื่องลินุกซ์มากกว่า 30 ตัว ...
Cerin

@Cerin คุณใช้งานเครื่อง Linux ด้วยตัวเองหรือไม่?
Shashank Sawant

1
บน Ubuntu 14.04 สิ่งนี้บอกว่า: "? (192.168.1.2) ที่ 00: 22: 6b: f2: 33: b3 [ether] บน wlan0" ให้ข้อมูลเกี่ยวกับเราเตอร์ของฉันเท่านั้น (แล็ปท็อปของฉันเชื่อมต่อผ่าน wifi เช่น เกี่ยวกับอุปกรณ์อื่น ๆ 10 atm) เมื่อมองไปที่คนมันจะบอกว่า "arp - จัดการกับแคช ARP ของระบบ" เครื่องมือนี้ควรแก้ไขคำถามเดิมอย่างไร
gerlos

5
เหมือนกันที่นี่บน Ubuntu 14.04 นี่เป็นเพียงรายการของ? (192.168.55.147) at ac:3a:7a:a4:01:d4 [ether] on eth0
Elijah Lynn

2
กันที่นี่ ฉันสามารถเข้าถึงโลคัลโฮสต์ได้โดยใช้ชื่อโฮสต์เท่านั้นไม่มีสิ่งอื่นที่จะโฆษณาว่าเป็นชื่อโฮสต์แม้แต่เครื่องที่ใช้ลินุกซ์ที่ฉันตั้งค่าเอง
unfa

19

พิมพ์ในอาคารผู้โดยสาร

sudo aptitude install nmap
nmap -sP xxx.xxx.xxx.xxx

สิ่งนี้จะทำให้คุณ:

Starting Nmap 5.21 ( http://nmap.org ) at 2012-11-03 19:08 CET
Nmap scan report for HOST.DOMAIN (xxx.xxx.xxx.xxx)
Host is up (0.00052s latency).
MAC Address: YY:YY:YY:YY:YY:YY (Manufactor)
Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

โดยที่ HOST.DOMAIN เป็นชื่อ DNS ของเครื่อง


10
สิ่งนี้แสดง IP ที่ใช้งานอยู่ทั้งหมด แต่จะแสดงเฉพาะโดเมนสำหรับเครื่องที่มีการกำหนดค่าโดเมนที่กำหนดเองอย่างชัดเจนในเซิร์ฟเวอร์ Bind ในพื้นที่ของฉัน ไม่แสดงชื่อโฮสต์ท้องถิ่นใด ๆ ซึ่งฉันคิดว่าเป็นสิ่งที่ OP พยายามดำเนินการให้สำเร็จ
Cerin

คำตอบนี้เร็วมาก
activedecay

4
-sPอาจถูกเปลี่ยนเป็น-snขึ้นอยู่กับเวอร์ชันของ nmap ของคุณ จากคู่มือ nmap 7.12: -sn (ไม่มีการสแกนพอร์ต) ใน Nmap รุ่นก่อนหน้านี้ -sn ถูกเรียกว่า -sP
Lemmings19

คล้ายกับarpคำสั่งฉันเชื่อว่าคำตอบนี้ใช้ได้เฉพาะถ้าคุณมีเซิร์ฟเวอร์ DHCP ในพื้นที่และเซิร์ฟเวอร์ DNS / พร็อกซี่ที่สื่อสารกับอีกฝ่ายหนึ่งเพื่อให้ชื่อโฮสต์ที่บันทึกด้วยสัญญาเช่า DHCP สามารถแก้ไขได้ (หรือแก้ไขกลับในกรณีนี้ ) ผ่าน DNS
Doktor J

9

ถ้าคุณลองทำสิ่งนี้:

คุณสามารถเรียกใช้ใน windows

nbtstat -A xxx.xxx.xxx.xxx (where x is the ip address)

บน Ubuntu คุณสามารถติดตั้ง nbtscan คุณสามารถค้นหาข้อมูลเพิ่มเติมได้ที่นี่: http://www.unixwiz.net/tools/nbtscan.html

หวังว่ามันจะช่วย


ขอบคุณมาก แต่ดูเหมือนว่า nbtscan จะตรวจจับเครื่องที่ใช้ Windows เท่านั้น ฉันมีเครื่อง 2 เครื่องที่ใช้ Windows และอีก 2 เครื่องที่ใช้ Linux ตรวจพบ Windows ทั้งสองที่รันอยู่เท่านั้น
อิสลาม Hassan

2
คุณลอง nmblookup ได้ไหม? ควรติดตั้งไว้แล้วบน Ubuntu
Brett

ขออภัยฉันได้อ่านบทช่วยสอน แต่ไม่สามารถหาวิธีเขียนคำสั่งที่แก้ปัญหาของฉันได้ ฉันไม่เห็นตัวเลือกที่ใช้ IP เป็นอินพุต คุณช่วยเขียนคำสั่งให้ฉันหน่อยได้ไหม?
อิสลาม Hassan

6
ลอง nmblookup -A xxx.xxx.xx โดยที่ x คือที่อยู่ IP ของเครื่อง ดังนั้นฉันจะทำ nmblookup -A 192.168.1.6 และจะส่งคืนชื่อเครื่องของฉัน คุณจะต้องทำเช่นนั้นสำหรับแต่ละเครื่อง
เบร็ท

1
@Brett: (+1) คุณควรแปลงความคิดเห็นของคุณเป็นคำตอบเนื่องจากเป็นวิธีเดียวที่ใช้ได้ผลสำหรับฉัน (ทั้งหน้าต่างและกล่องลินุกซ์) ขอบคุณ
lepe

7

การค้นหาแบบย้อนกลับชื่อ Netbios อาจบรรลุสิ่งที่คุณต้องการมากกว่า "ชื่อโฮสต์" ซึ่งเป็นฟังก์ชันของ DNS และ tcp / ip nmblookup พร้อมพารามิเตอร์ -A ส่งคืนชื่ออุปกรณ์รวมถึงที่อยู่ mac ลองสิ่งนี้:

nmblookup -A 192.168.1.2

นี่คือคำตอบที่เหมาะกับฉัน
ฮัมฟรีย์

นั่นคือคำตอบ
Campa

3

หากเครือข่ายของคุณใช้เซิร์ฟเวอร์ DHCP โดยปกติจะอยู่ที่โมเด็ม / เราเตอร์โอกาสที่จะมีวิธีให้คุณเห็นที่อยู่ที่กำหนด DHCP ซึ่งมักเป็นหน้าเว็บและมักจะแสดงชื่อคอมพิวเตอร์ที่อยู่ IP ที่จัดสรร .


2

ฉันแค่ใช้

nslookup xxx.xxx.xxx.xxx

มันจะแสดงชื่อโฮสต์ (โดยปกติชื่อคอมพิวเตอร์)


4
นี่เพิ่งทำให้ฉัน** server can't find xxx.xxx.xxx.xxx.in-addr.arpa.: NXDOMAIN
Cerin

ทำงานได้สำหรับฉัน :)
vk.edward.li

2
nslookup ทำการค้นหา DNS ดังนั้นเพื่อให้สิ่งนี้ใช้งานได้คุณจะต้องลงทะเบียนโฮสต์ใน DNS หากคุณมีเครือข่าย Windows ปกติในช่วง IP ส่วนตัวโดยไม่ต้องกำหนดค่า ActiveDirectory มันจะไม่ทำงาน ชื่อ NetBios และชื่อ DNS เป็นสัตว์ร้ายที่แตกต่างกัน
bogdan.mustiata

1

ตามความรู้ของฉันที่ดีที่สุดไม่มีประโยชน์ที่จะแก้ไขที่อยู่ IP ให้เป็นชื่อ NetBIOS ฉันนึกภาพว่าโปรแกรมกำหนดขอบเขตเครือข่ายหรือโปรแกรมทดสอบการเจาะระบบบางอย่างอาจให้ข้อมูลกับคุณได้ อย่างไรก็ตามคอมพิวเตอร์ทุกเครื่องจะต้องอยู่ในโดเมนและซับเน็ตเดียวกัน


กรุณาตั้งชื่อโปรแกรมด้วย
อิสลาม Hassan

1
OP ต้องการสิ่งที่ตรงกันข้าม เช่น IP-> ชื่อโฮสต์
Cerin

ฉันรู้ว่ามันเก่า ... และ OP ใช้ Linux ไม่ใช่ Windows ... แต่ใน Windows คุณสามารถเรียกใช้nbtstat -A <IP Address>เพื่อรับชื่อ NetBIOS ได้จาก IP เท่านั้น สิ่งนี้ใช้ได้กับซับเน็ตและไม่จำเป็นต้องอยู่ในโดเมนเดียวกัน นอกจากนี้การวิ่งnbtstat -a <NetBIOS Name>จะทำสิ่งที่ตรงกันข้าม หวังว่านี่จะช่วย ...
John Homer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.