Bagaimana saya tahu alamat IP komputer lain di jaringan saya?

51

Katakanlah saya memiliki dua komputer yang terhubung ke jaringan yang sama. Saya tahu bahwa dari computer1 dan berbagi file diaktifkan saya bisa mengintip di dalam computer2. Tetapi katakan bahwa ada sesuatu yang menarik pada computer2, yang Anda akses dengan mengetik localhost: 9091 di safari. (mis. UI web transmisi). Untuk mengaksesnya saya harus mengetikkan ip_address_of_computer2: 9091 di computer1.

Tapi bagaimana cara mengetahui alamat ip computer2 tanpa menggunakan computer2?

keledai kong
sumber
Tahukah Anda nama computer2?
user151019

Jawaban:

82

Metode # 1

Cara termudah adalah dengan mengakses halaman administrasi router jaringan Anda. Ini akan memiliki informasi tentang perangkat lain di jaringan, termasuk alamat IP.

Metode # 2

Jika Anda tahu nama jaringan komputer, Anda bisa pingmenggunakannya di Terminal. Ini akan mengembalikan alamat IP komputer.

Metode # 3

Jika Anda tidak tahu nama jaringan komputer, ada trik lain yang dapat Anda lakukan untuk menggunakannya ping. Temukan alamat IP Anda dan subnet mask Anda. Keduanya harus terlihat di panel preferensi jaringan System Preferences. Sejajarkan alamat IP Anda dan subnet mask Anda, dan ganti 0nilai apa pun di subnet mask dengan 255posisi relatif yang sama dari alamat IP Anda. Misalnya, jika Anda masing-masing memiliki alamat IP dan subnet mask:

192.168.1.151

255.255.255.0

Itu 0ada di bidang terakhir dari subjaringan topeng, jadi Anda mengganti bidang terakhir dari alamat IP dengan 255dan ping:ping 192.168.1.255

Anda harus mendapatkan respons dengan alamat IP perangkat apa pun di jaringan yang mampu merespons ping.

Metode # 4

Trik terakhir adalah dengan menggunakan perintah terminal arp -a. Ini akan menunjukkan alamat IP dan MAC dari semua perangkat di jaringan yang diketahuinya.

Dua trik terakhir milik ini artikel Macworld.

michaelmichael
sumber
8
Metode # 4 arp -a akan berfungsi jika, dan hanya jika, Mac sudah berhasil menyelidiki atau terhubung ke host. Coba sendiri dengan menyalakan ulang Mac Anda dan menampilkan tabel arp. Itu akan hampir kosong. Untuk mengisi tabel itu, Anda perlu menjalankan sesuatu seperti pemindaian ping:nmap -sP 192.168.1.0/24
ripat
Untuk beberapa alasan, ping 192.168.1.255 mengembalikan alamat dari semua Mac di jaringan, tetapi tidak ada dari mesin Linux?!? Tip yang luar biasa!
ssc
1
ping SOME-PC -4untuk memecahkan penyelesaian IPV4.
Nakilon
Apakah ini berfungsi jika Anda melakukan ping ke komputer windows?
Cullub
1
@cullub Ya, ini berfungsi di windows. ping adminPCping komputer adminPC dan menampilkan alamat IP. Dan seperti komentar Nakilon, ping adminPC -4menampilkan IPv4.
Lucky
19

Ketikkan perintah

  arp -a

Ini akan menunjukkan semua koneksi satu per satu.

pengguna2634333
sumber
Ini sepertinya tidak berfungsi untuk beberapa perangkat. Saya tidak yakin apakah itu karena perangkatnya tidak "mendengarkan" atau apakah itu karena OS yang berbeda tetapi saya mencobanya sekarang dan arp -atidak mengambil salah satu kotak linux saya.
Jacksonkr
Pertama kali Anda pergi untuk berbicara dengan perangkat lain di komputer Anda, komputer Anda perlu menyelesaikan IP -> MAC, dan itu menyiarkan "siapa yang memiliki IP xxx.yyy.zzz.aaa?", Dan pemilik IP itu merespons ( siaran) dengan "saya!", dan tentu saja paket itu memiliki sumber MAC di dalamnya. Jika transaksi itu tidak terjadi ketika perangkat Anda ada di jaringan, itu tidak akan memiliki entri ARP untuk itu. Oleh karena itu: tidak semua perangkat muncul di tabel ARP, tetapi dapat muncul di tabel ARP perangkat lain.
Harv
4

T: Bagaimana saya tahu alamat IP komputer lain di jaringan saya ?

Banyak jaringan

Yah, pertama-tama komputer Anda mungkin ada di banyak jaringan . Anda dapat melihat ini dengan ifconfigperintah. Ada banyak info di sana, tetapi sebagian besar luar biasa, jadi saya suka memfilter seperti:

$ 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

Bidang pertama dari garis rata kiri adalah nama antarmuka jaringan. Anda wifi mungkin en0. VPN TunnelBlick saya ke AWS adalah utun1. Preferensi Sistem Saya> Berbagi> Berbagi Internet dibuat bridge100untuk RaspberryPi Saya telah mendapatkan internet dari MacBook Pro saya melalui dongle ethernet saya.

Asumsikan IPv4

Karena Anda meminta alamat IP, saya menganggap alamat IPv4 adalah yang Anda pedulikan. Saya menggunakan "inet" (dengan spasi) untuk memblokir entri "inet6" untuk IPv6. Jika Anda menginginkan IPv6, Anda mungkin tahu lebih banyak tentang jaringan daripada saya dan saya harus bertanya kepada Anda.

Temukan tuan rumah

Mari kita fokus pada hal itu bridge100dan memberi Anda sedikit lalu lintas Google. Banyak orang mengalami situasi ini ketika mereka ingin SSH atau RDC menjadi komputer tanpa kepala (seperti RaspberryPi ) baik di jaringan mereka atau ditambatkan melalui Internet Sharing . Ini sangat sulit ketika Anda tidak memiliki riwayat koneksi (tabel arp) dengan perangkat. Untuk ini, Anda dapat menggunakan sudo nmap -sn 192.168.3.0/24, yang merupakan nilai bridge100 inet (192.168.3.1) dengan digit terakhir diganti dengan "0/24". Namun, nmap tidak standar pada OSX sehingga kami dapat menginstalnya dengan 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

Dari situ Anda bisa berasumsi bahwa RaspberyPi saya mendapat IP 192.168.3.6untuk beberapa alasan. Terakhir kali saya menghubungkannya, saya berada di subnet yang berbeda dan mendapat 192.168.2.3. Trik nmap itu jauh lebih baik daripada mengetik ping 192.168.3.2... ping 192.168.3.6sampai Anda menemukannya.

Saya harap itu membantu.

Bruno Bronosky
sumber
3

Ada beberapa alat lain yang belum disebutkan untuk menemukan informasi alamat IP, dengan asumsi Anda memiliki nama host dan Anda menggunakan mDNS (alias Bonjour di lingkungan Mac). Kecuali Anda telah mengkonfigurasi berbagai hal secara berbeda, nama jaringan lokal Anda ada dalam formulir host-name.localsehingga dalam contoh awal Anda, Anda akan mencaricomputer2.local

Pertama:

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

Sebagai contoh:

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

Alat lain yang bermanfaat adalah dig(coba dig google.commisalnya), yang dengan beberapa parameter khusus dapat digunakan untuk menanyakan node mDNS dari jaringan lokal Anda.

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

Untuk mendapatkan hanya alamat IP, digAnda dapat mencoba:

    % dig +short @224.0.0.251 -p 5353 <host-name>.local
KenB
sumber
Bagusnya, Anda harus mengetahui alamat IP atau nama komputer multicastDNS (.local).
Florian Bidabe
BonjourBrowser adalah aplikasi GUI yang bagus untuk ini.
Florian Bidabe
@FlorianBidabe - Mengapa Anda mengatakan Anda perlu tahu alamat IP untuk menggunakan perintah ini? Perintah-perintah ini mengembalikan alamat IP dari mesin yang disebutkan. Ya, diperlukan untuk mengetahui nama mesin target untuk menggunakan metode ini.
KenB
3

Script ini akan memberi Anda apa yang Anda cari dengan sangat cepat dan mengharuskan nmap diinstal. Keuntungannya adalah jika host Anda tidak membalas probe ping, nmap akan tetap menemukan host tersebut sementara alat lain tidak.

#!/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"

Simpan skrip ini sebagai lookup.shdan panggil (dengan beralih ke bahasa Inggris) dengan

LANG=c bash lookup.sh
Florian Bidabe
sumber
Bagaimana Anda menyimpan dan menjalankannya?
Daniel Pendergast
Anda tempel ini di TextEditor, dan simpan dan beri nama file ini "qnmap". Anda kemudian memindahkan file ini ke / usr / bin (Tahan Command + Shift + G, atau Finder / Go / Pergi ke folder: / usr / bin). buka terminal, ketik "sudo chmod a + x / usr / bin / qnmap". Ketik "qnmap" di terminal dan tunggu hasilnya.
Florian Bidabe
Baik. Saya mendapatkan kesalahan ini: /usr/bin/qnmap: line 2: =en1: command not foundSepertinya tanda dolar sebelum iseharusnya tidak ada di sana.
Daniel Pendergast
1
Maaf Dan,
salahku
Keren. Ini bekerja dengan baik.
Daniel Pendergast
2

Anda juga bisa menggunakan netstat untuk menampilkan alamat jaringan:

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
pengguna8128167
sumber
0

Anda dapat menginstal Wireshark dan memulai pemindaian pada kartu jaringan Anda.

Saring hasilnya dengan "nbns", dan Anda akan melihat alamat IP di jendela atas.

rubo77
sumber