ฉันจะรู้ที่อยู่ IP ของคอมพิวเตอร์เครื่องอื่นในเครือข่ายของฉันได้อย่างไร


47

บอกว่าฉันมีคอมพิวเตอร์สองเครื่องเชื่อมต่อกับเครือข่ายเดียวกัน ฉันรู้ว่าจากการเปิดใช้งาน computer1 และการแชร์ไฟล์ฉันสามารถสอดแนมภายในคอมพิวเตอร์ 2 แต่บอกว่ามีบางสิ่งที่น่าสนใจใน computer2 ซึ่งคุณเข้าถึงได้โดยพิมพ์ localhost: 9091 ใน Safari (เช่นเว็บ UI ของการส่งข้อมูล) ในการเข้าถึงที่ฉันจะต้องพิมพ์ใน ip_address_of_computer2: 9091 บนคอมพิวเตอร์ 1

แต่ฉันจะหาที่อยู่ IP ของ computer2 ได้อย่างไรโดยไม่ต้องใช้ computer2


คุณรู้จักชื่อ computer2 หรือไม่?
Mark

คำตอบ:


81

วิธีที่ # 1

วิธีที่ง่ายที่สุดคือเข้าถึงหน้าการดูแลระบบของเราเตอร์เครือข่ายของคุณ มันจะมีข้อมูลเกี่ยวกับอุปกรณ์อื่น ๆ บนเครือข่ายรวมถึงที่อยู่ IP

วิธีที่ # 2

หากคุณรู้ชื่อเครือข่ายของคอมพิวเตอร์คุณสามารถทำได้ ping ในเทอร์มินัล มันจะส่งคืนที่อยู่ IP ของคอมพิวเตอร์

วิธีที่ # 3

หากคุณไม่ทราบชื่อเครือข่ายของคอมพิวเตอร์มีอีกวิธีหนึ่งที่คุณสามารถทำได้ ping. ค้นหาที่อยู่ IP และซับเน็ตมาสก์ของคุณ ทั้งคู่ควรมองเห็นได้ในบานหน้าต่างการตั้งค่าเครือข่ายของการตั้งค่าระบบ จัดเรียงที่อยู่ IP และซับเน็ตมาสก์ของคุณและแทนที่สิ่งใด ๆ 0 ค่าในซับเน็ตมาสก์ด้วย 255 ในตำแหน่งเดียวกันของที่อยู่ IP ตัวอย่างเช่นหากคุณมีที่อยู่ IP และซับเน็ตมาสก์ต่อไปนี้ตามลำดับ:

192.168.1.151

255.255.255.0

0 อยู่ในฟิลด์สุดท้ายของซับเน็ตมาสก์ดังนั้นคุณจึงเปลี่ยนฟิลด์สุดท้ายของที่อยู่ IP ด้วย 255 และ ping มัน: ping 192.168.1.255

คุณควรได้รับการตอบสนองด้วยที่อยู่ IP ของอุปกรณ์ใด ๆ บนเครือข่ายที่สามารถตอบสนองต่อการปิง

วิธีที่ # 4

เคล็ดลับสุดท้ายคือการใช้คำสั่ง terminal arp -a. สิ่งนี้จะแสดงที่อยู่ IP และ MAC ของอุปกรณ์ทั้งหมดในเครือข่ายที่รู้จัก

เล่ห์กลสองประการสุดท้ายของ นี้ บทความ Macworld


8
วิธีที่ # 4 arp -a จะทำงานได้ถ้าหากว่าเครื่อง Mac นั้นตรวจสอบสำเร็จหรือเชื่อมต่อกับโฮสต์เรียบร้อยแล้ว ลองด้วยตัวคุณเองโดยรีสตาร์ท Mac ของคุณและแสดงตาราง arp มันเกือบจะว่างเปล่า หากต้องการเติมตารางนั้นคุณต้องเรียกใช้บางอย่างเช่นการสแกน ping: nmap -sP 192.168.1.0/24
ripat

ด้วยเหตุผลบางอย่างการส่ง Ping 192.168.1.255 จะส่งคืนที่อยู่จาก Mac ทั้งหมดในเครือข่าย แต่ไม่มีจากเครื่อง Linux?!? เคล็ดลับที่ดีแม้ว่า!
ssc

1
ping SOME-PC -4 เพื่อบังคับให้แก้ไข IPV4
Nakilon

มันใช้งานได้ไหมถ้าคุณกำลังส่งคอมพิวเตอร์ windows
Cullub

1
@cullub ใช่มันทำงานได้ใน windows ping adminPC ส่ง Ping คอมพิวเตอร์ adminPC และแสดงที่อยู่ IP และที่ Nakilon แสดงความคิดเห็น ping adminPC -4 แสดง IPv4
Lucky

16

พิมพ์คำสั่ง

  arp -a

นี่จะแสดงการเชื่อมต่อทั้งหมดให้คุณทีละคน


ดูเหมือนจะใช้งานไม่ได้กับอุปกรณ์บางอย่าง ฉันไม่แน่ใจว่าเป็นเพราะอุปกรณ์ไม่ "ฟัง" หรือเป็นเพราะระบบปฏิบัติการที่แตกต่างกัน แต่ฉันลองตอนนี้ arp -a ไม่ได้รับหนึ่งในกล่องลินุกซ์ของฉัน
Jacksonkr

ครั้งแรกที่คุณไปคุยกับอุปกรณ์อื่นในคอมพิวเตอร์คอมพิวเตอร์ของคุณต้องแก้ไข IP - & gt; MAC และดังนั้นจึงเผยแพร่ "ใครมี IP xxx.yyy.zzz.aaa?" และเจ้าของ IP นั้นตอบสนอง (ออกอากาศ) ด้วย "ฉัน!" และแน่นอนว่าแพ็กเก็ตมีแหล่งที่มาของ MAC อยู่ หากการทำธุรกรรมนั้นไม่ได้เกิดขึ้นในขณะที่อุปกรณ์ของคุณอยู่ในเครือข่ายก็จะไม่มีรายการ ARP สำหรับมัน ดังนั้น: อุปกรณ์ทั้งหมดไม่แสดงในตาราง ARP แต่อาจแสดงในตาราง ARP ของอุปกรณ์อื่น
Harv

3

มีเครื่องมืออื่นอีกสองสามอย่างที่ยังไม่ได้กล่าวถึงสำหรับการค้นหาข้อมูลที่อยู่ IP สมมติว่าคุณมีชื่อโฮสต์และคุณใช้ mDNS (หรือ Bonjour ในสภาพแวดล้อม Mac) นอกจากว่าคุณได้กำหนดค่าสิ่งต่าง ๆ ชื่อเครือข่ายท้องถิ่นของคุณอยู่ในแบบฟอร์ม host-name.local ดังนั้นในตัวอย่างแรกของคุณคุณจะมองหา computer2.local

ครั้งแรก:

    dscacheutil -q host -a name <host-name>.local

ตัวอย่างเช่น:

    % dscacheutil -q host -a name computer2.local
    name: computer2.local
    ip_address: 10.0.1.6

เครื่องมือที่มีประโยชน์อีกอย่างคือ dig (ลอง dig google.com ตัวอย่างเช่น) ซึ่งมีพารามิเตอร์พิเศษบางอย่างสามารถใช้เพื่อค้นหาโหนด mDNS ของเครือข่ายท้องถิ่นของคุณ

    % dig @224.0.0.251 -p 5353 <host-name>.local
    % dig @224.0.0.251 -p 5353 -x <ip-address>

เพื่อให้ได้ที่อยู่ IP เพียงอย่างเดียว dig คุณสามารถลอง:

    % dig +short @224.0.0.251 -p 5353 <host-name>.local

สิ่งที่ดีคือต้องรู้ที่อยู่ IP หรือชื่อ multicastDNS ของคอมพิวเตอร์ (.local)
Florian Bidabe

BonjourBrowser เป็นโปรแกรม GUI ที่ดีสำหรับเรื่องนี้
Florian Bidabe

@FlorianBidabe - ทำไมคุณถึงบอกว่าคุณจำเป็นต้องรู้ที่อยู่ IP เพื่อใช้คำสั่งเหล่านี้ คำสั่งเหล่านี้ส่งคืนที่อยู่ IP ของเครื่องที่ระบุชื่อ ใช่จำเป็นต้องทราบชื่อของเครื่องเป้าหมายเพื่อใช้วิธีนี้
KenB

3

สคริปต์นี้ควรให้สิ่งที่คุณกำลังมองหาได้อย่างรวดเร็วและต้องมีการติดตั้ง nmap ข้อดีคือถ้าโฮสต์ของคุณไม่ตอบกลับการ ping โพรบ nmap จะยังหาโฮสต์ได้ในขณะที่เครื่องมืออื่นจะไม่ทำงาน

#!/bin/bash
i="en1" # edit this to fit your Network interface
cidr=$(while read y; do echo ${y%.*}".0/$(m=0; while read -n 1 x && [ $x = f ]; do m=$[m+4]; done < <(ifconfig $i | awk '/mask/             {$4=substr($4,3); print $4}'); echo $m )"; done < <(ifconfig $i | awk '/inet[ ]/{print $2}') | head -n 1 | sed s/addr://g | sed 's/\/0//g')
myip=`ifconfig $i | grep "inet " | awk 'NR==1 {print $2}' | sed s/addr://g`
set -x
sudo nmap -n -T4 -PN -p9091 --exclude "$myip" "$cidr"

เก็บสคริปต์นี้เป็น lookup.sh และเรียกมันว่า (พร้อมเปลี่ยนเป็นภาษาอังกฤษ) ด้วย

LANG=c bash lookup.sh

คุณจะบันทึกและใช้งานได้อย่างไร
Daniel Pendergast

คุณวางสิ่งนี้ลงใน TextEditor แล้วบันทึกและตั้งชื่อไฟล์นี้ว่า "qnmap" จากนั้นคุณย้ายไฟล์นี้ไปที่ / usr / bin (กด Command + Shift + G หรือ Finder / Go / Go to folder: / usr / bin) เปิดเทอร์มินัลพิมพ์ "sudo chmod a + x / usr / bin / qnmap" พิมพ์ "qnmap" ในเทอร์มินัลแล้วรอผลลัพธ์
Florian Bidabe

ตกลง. ฉันได้รับข้อผิดพลาดนี้: /usr/bin/qnmap: line 2: =en1: command not found ดูเหมือนว่าเครื่องหมายดอลลาร์ก่อน i ไม่ควรอยู่ที่นั่น
Daniel Pendergast

1
ขออภัย Dan สิ่งที่ไม่ดีของฉันบรรทัดควรเป็น: i = "en1"
Florian Bidabe

เย็น. มันใช้งานได้ดี
Daniel Pendergast

3

Q: ฉันจะรู้ได้อย่างไร ที่อยู่ IP ของคอมพิวเตอร์เครื่องอื่นใน เครือข่ายของฉัน ?

เครือข่ายจำนวนมาก

ก่อนอื่นคอมพิวเตอร์ของคุณอาจมีอยู่มากมาย เครือข่าย . คุณสามารถดูสิ่งนี้ได้ด้วย ifconfig คำสั่ง มีข้อมูลจำนวนมากอยู่ในนั้น แต่ส่วนใหญ่มันท่วมท้นดังนั้นฉันชอบกรองเหมือน:

$ ifconfig | grep -E '^[a-z0-9]|inet '

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    inet 127.0.0.1 netmask 0xff000000
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 192.168.0.101 netmask 0xffffff00 broadcast 192.168.0.255
en1: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
en2: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
    inet 172.141.0.10 --> 172.141.0.9 netmask 0xffffffff
en5: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    inet 169.254.146.193 netmask 0xffff0000 broadcast 169.254.255.255
bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 192.168.3.1 netmask 0xffffff00 broadcast 192.168.3.255

ฟิลด์แรกของบรรทัดที่จัดชิดซ้ายคือชื่ออินเตอร์เฟสเครือข่าย ไวไฟของคุณน่าจะ en0. TunnelBlick VPN ของฉันเป็น AWS ของฉันคือ utun1. ค่ากำหนดของระบบ & gt; การแบ่งปัน & gt; สร้างการแชร์อินเทอร์เน็ตแล้ว bridge100 สำหรับ Raspberry Pi ฉันได้รับอินเทอร์เน็ตจาก MacBook Pro ผ่าน dongle ของอีเธอร์เน็ตแล้ว

สมมติว่า IPv4

เพราะคุณถามหา ที่อยู่ IP ฉันถือว่าที่อยู่ IPv4 เป็นสิ่งที่คุณใส่ใจ ฉันใช้ "inet" (มีช่องว่าง) เพื่อบล็อกรายการ "inet6" สำหรับ IPv6 หากคุณต้องการ IPv6 คุณอาจรู้จักเครือข่ายมากกว่าฉันและฉันควรถามคำถามคุณ

ค้นหาโฮสต์

เรามาดูกันว่า bridge100 และนำปริมาณการใช้ Google มาให้คุณเล็กน้อย ผู้คนจำนวนมากพบกับสถานการณ์นี้เมื่อพวกเขาต้องการ SSH หรือ RDC ในคอมพิวเตอร์หัวขาด (เช่น RaspberryPi ) ทั้งในเครือข่ายของพวกเขาหรือโยงผ่าน การแชร์อินเทอร์เน็ต . มันยากโดยเฉพาะอย่างยิ่งเมื่อคุณไม่มีประวัติการเชื่อมต่อ (ตาราง arp) กับอุปกรณ์ สำหรับสิ่งนี้คุณสามารถใช้ sudo nmap -sn 192.168.3.0/24ซึ่งเป็นค่าของ bridge100 inet (192.168.3.1) ด้วยตัวเลขสุดท้ายแทนที่ด้วย "0/24" อย่างไรก็ตาม nmap ไม่ได้เป็นมาตรฐานใน OSX ดังนั้นเราจึงสามารถติดตั้งได้ homebrew .

$ brew install nmap
Warning: nmap-7.31 already installed

$ sudo nmap -sn 192.168.3.0/24
Password:

Starting Nmap 7.31 ( https://nmap.org ) at 2016-11-21 22:03 EST
Nmap scan report for 192.168.3.6
Host is up (0.00025s latency).
Nmap scan report for 192.168.3.1
Host is up.
Nmap done: 256 IP addresses (2 hosts up) scanned in 2.08 seconds

จากนั้นคุณสามารถสมมติว่า Raspberry Pi ของฉันได้รับ IP 192.168.3.6 ด้วยเหตุผลบางอย่าง. ครั้งล่าสุดที่ฉันเชื่อมต่อฉันอยู่ในซับเน็ตอื่นและได้ 192.168.2.3. เคล็ดลับ nmap นั้นดีกว่าการพิมพ์ ping 192.168.3.2 ... ping 192.168.3.6 จนกว่าคุณจะพบมัน

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


2

คุณสามารถใช้ netstat เพื่อแสดงที่อยู่เครือข่าย:

roger.moore@WKSTCAL0141 ~
$ netstat -n

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    127.0.0.1:11235        127.0.0.1:49184        ESTABLISHED
  TCP    127.0.0.1:49155        127.0.0.1:49156        ESTABLISHED
  TCP    127.0.0.1:49156        127.0.0.1:49155        ESTABLISHED
  TCP    127.0.0.1:49184        127.0.0.1:11235        ESTABLISHED
  TCP    192.168.10.131:445     192.168.10.119:52624   ESTABLISHED
  TCP    192.168.10.131:1433    192.168.10.2:60866     ESTABLISHED
  TCP    192.168.10.131:1433    192.168.10.119:52775   ESTABLISHED
  TCP    192.168.10.131:3389    192.168.10.119:54473   ESTABLISHED
  TCP    192.168.10.131:49154   192.168.10.119:52796   ESTABLISHED
  TCP    192.168.10.131:49182   192.168.10.9:52230     ESTABLISHED
  TCP    192.168.10.131:49247   192.168.10.6:445       ESTABLISHED
  TCP    192.168.10.131:49432   192.168.10.4:1106      ESTABLISHED
  TCP    192.168.10.131:49440   192.168.10.4:1106      ESTABLISHED
  TCP    192.168.10.131:49451   192.168.10.6:1025      ESTABLISHED
  TCP    192.168.10.131:55100   192.168.10.2:445       ESTABLISHED
  TCP    192.168.10.131:64558   192.168.10.20:135      TIME_WAIT
  TCP    192.168.10.131:64559   192.168.10.20:49158    TIME_WAIT
  TCP    192.168.10.131:64566   192.168.10.100:135     TIME_WAIT
  TCP    192.168.10.131:64575   192.168.10.100:59811   TIME_WAIT
  TCP    192.168.10.131:64581   192.168.10.41:139      TIME_WAIT
  TCP    192.168.10.131:64582   192.168.10.3:5357      TIME_WAIT
  TCP    192.168.10.131:64585   192.168.10.61:3910     TIME_WAIT
  TCP    192.168.10.131:64587   192.168.10.65:3910     TIME_WAIT
  TCP    192.168.10.131:64588   192.168.10.9:139       TIME_WAIT
  TCP    192.168.10.131:64589   192.168.10.135:2869    ESTABLISHED
  TCP    192.168.10.131:64593   192.168.10.6:135       TIME_WAIT
  TCP    192.168.10.131:64594   192.168.10.6:1025      TIME_WAIT
  TCP    192.168.10.131:64599   192.168.10.100:59811   TIME_WAIT

0

หากคุณต้องการทราบชื่อโดยใช้ IP: http://runakay.blogspot.com/2013/12/obtaining-computer-name-from-ip-address.html


1
ยินดีต้อนรับสู่ถามที่แตกต่างกัน! แม้ว่าลิงก์นี้อาจตอบคำถามได้ดีกว่าที่จะรวมส่วนสำคัญของคำตอบไว้ที่นี่และให้ลิงก์สำหรับการอ้างอิง คำตอบสำหรับลิงค์เท่านั้นอาจไม่ถูกต้องหากหน้าเว็บที่เชื่อมโยงมีการเปลี่ยนแปลง
grg

0

คุณสามารถติดตั้ง Wireshark และเริ่มการสแกนบนการ์ดเครือข่ายของคุณ

กรองผลลัพธ์ด้วย "nbns" และคุณจะเห็นที่อยู่ IP ในหน้าต่างด้านบน

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