Ağımdaki diğer bilgisayarların IP adreslerini nasıl bilebilirim?


51

Aynı ağa bağlı iki bilgisayarım olduğunu söyleyin. Computer1 ve dosya paylaşımından etkin bir şekilde computer2 içinde dolaşabileceğimi biliyorum. Ancak şunu söyleyin; bilgisayar2'de, localhost: 9091 yazarak safari'ye girerek erişebileceğiniz ilginç bir şey var. (örneğin, iletimin web kullanıcı arayüzü). Ulaşmak için bilgisayardaki ip_address_of_computer2: 9091 yazmam gerekirdi.

Peki computer2'yi kullanmadan computer2'nin ip adresini nasıl bulabilirim?


Computer2'nin adını biliyor musun?
user151019,

Yanıtlar:


82

Yöntem 1

En kolay yol, ağ yönlendiricinizin yönetim sayfasına erişmek olacaktır. IP adresi de dahil olmak üzere ağdaki diğer cihazlar hakkında bilgi sahibi olur.

Yöntem 2

Bilgisayarın ağ adını biliyorsanız pingTerminalde yapabilirsiniz. Bilgisayarın IP adresini döndürür.

Yöntem 3

Bilgisayarın ağ adını bilmiyorsanız, kullanabileceğiniz başka bir numara var ping. IP adresinizi ve alt ağ maskenizi bulun. Her ikisi de, Sistem Tercihleri'nin Ağ tercihi bölmesinde görünmelidir. IP adresinizi ve alt ağ maskenizi hizalayın ve alt ağ maskesindeki tüm 0değerleri 255IP adresinin göreceli konumunda değiştirin. Örneğin, sırasıyla aşağıdaki IP adresi ve alt ağ maskeniz varsa:

192.168.1.151

255.255.255.0

Bu 0, alt ağ maskesinin son alanındadır, bu nedenle IP adresinin son alanını değiştirip 255ping uygulayın:ping 192.168.1.255

Ağdaki ping'lere yanıt verebilecek herhangi bir cihazın IP adresiyle yanıt almalısınız.

Yöntem 4

Son numara terminal komutunu kullanmak arp -a. Bu, bildiği ağdaki tüm cihazların IP ve MAC adreslerini gösterecektir.

Son iki püf noktası bu Macworld makalesinin izniyle .


8
Yöntem 4 arp -a , ancak Mac zaten başarılı bir şekilde bir ana bilgisayara bağlandıysa veya bağlandıysa çalışacaktır. Mac'inizi yeniden başlatıp arp masasını görüntüleyerek kendinizi deneyin. Neredeyse boş olacak. Bu masayı doldurmak için bir ping taraması gibi bir şey çalıştırmanız gerekir:nmap -sP 192.168.1.0/24
ripat

Nedense, 192.168.1.255 numaralı ping, ağdaki tüm Mac'lerin adreslerini döndürür, ancak hiçbiri Linux makinelerinden döndürmez? Yine de harika ipucu!
ssc

1
ping SOME-PC -4IPV4 çözümünü zorlamak için.
Nakilon

Windows bilgisayara ping yapıyorsanız bu işe yarıyor mu?
Cullub

1
@cullub Evet, pencerelerde çalışıyor. ping adminPCadminPC bilgisayarına ping atıp IP adresini gösterir. Nakilon'un yorumladığı gibi ping adminPC -4, IPv4'ü görüntüler.
Şanslı

19

Komutu yazın

  arp -a

Bu size tüm bağlantıları tek tek gösterecektir.


Bu bazı cihazlar için işe görünmüyor. Cihazların "dinlemiyor" olmasından mı yoksa farklı işletim sistemleri nedeniyle mi olduğundan emin değilim ama şimdi deniyorum ve arp -alinux kutularımdan birini seçmiyor.
Jacksonkr

Bilgisayarınızdaki başka bir cihazla ilk kez konuştuğunuzda, bilgisayarınızın IP -> MAC'i çözmesi gerekir ve bu nedenle "IP xxx.yyy.zzz.aaa?" Olan IP adresini yayınlar ve bu IP yanıtını verir ( yayınlar) "ben!" ile ve tabii ki bu paketin içinde bir kaynak MAC var. Cihazınız ağdayken bu işlem gerçekleşmediyse, bunun için ARP girişi olmaz. Dolayısıyla: tüm cihazlar ARP tablosunda görünmez, ancak diğer cihazların ARP tablolarında görünebilir.
Harv

4

S: nasıl anlarım IP adresleri diğer bilgisayarların benim ağına ?

Çok ağ

Her şeyden önce, bilgisayarınız muhtemelen çok fazla ağ üzerinde . Bunu ifconfigkomutla görebilirsiniz . İçeride çok fazla bilgi var, ancak çoğu çok zor, bu yüzden filtrelemeyi seviyorum:

$ 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

Sola hizalı satırların ilk alanı ağ arayüz adlarıdır. Sen wifi muhtemelen en0. Benim TünelBlick VPN'den AWS'ye utun1. Sistem Tercihlerim> Paylaşma> bridge100RaspberryPi için yaratılan İnternet Paylaşımı MacBook Pro'mdan ethernet dongle aracılığıyla internet alıyorum.

IPv4 varsayalım

IP adresleri sorduğun için IPv4 adreslerinin önemsediğin şey olduğunu varsayıyorum. IPv6 için "inet6" girişlerini engellemek için "inet" (boşluklu) kullandım. IPv6'yı istiyorsanız, muhtemelen ağ iletişimi hakkında benden daha fazla şey biliyorsunuzdur ve size sorular sormam gerekiyor.

Ana bilgisayarları bulun

Buna odaklanıp bridge100size küçük bir Google trafiği getirelim. Bir çok insan SSH veya RDC'yi ağlarında ya da İnternet Paylaşımı yoluyla bağlıyken başsız bir bilgisayara ( RaspberryPi gibi ) girmek istediklerinde bu durumla karşılaşırlar . Cihazla bağlantı geçmişiniz (arp tablosu) olmadığında özellikle zordur. Bunun için , bridge100 inet (192.168.3.1) değeri olan, son rakamı "0/24" ile değiştirerek kullanabilirsiniz. Bununla birlikte, nmap OSX'te standart değildir, bu yüzden homebrew ile kurabiliriz .sudo nmap -sn 192.168.3.0/24

$ 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

Bundan dolayı RaspberyPi'nin 192.168.3.6bir nedenden dolayı IP aldığını varsayabilirsiniz . En son bağlandığımda farklı bir alt ağdaydım ve anladım 192.168.2.3. Yani Nmap hile çok daha iyi yazarak daha ping 192.168.3.2... ping 192.168.3.6bunu bulana kadar.

Umarım bu yardımcı olur.


3

Ana bilgisayar adınız olduğunu ve mDNS (Mac ortamlarında Bonjour) kullandığınızı varsayarak, IP adres bilgilerini keşfetmek için henüz belirtilmeyen birkaç araç var. İşleri farklı bir şekilde yapılandırmadıysanız, yerel ağ adlarınız formdadır, host-name.localbu nedenle ilk örneğinizde aradığınızcomputer2.local

İlk:

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

Örneğin:

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

Başka bir kullanışlı araç dig( dig google.comörneğin deneyin ), yerel ağınızın mDNS düğümlerini sorgulamak için birkaç özel parametreyle kullanılabilir.

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

digSizden sadece IP adresini almak için deneyebilirsiniz:

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

IP adresini veya bilgisayarın multicastDNS adını (.local) bilmek gerekir.
Florian Bidabe

BonjourBrowser bunun için güzel bir GUI uygulamasıdır.
Florian Bidabe

@FlorianBidabe - Bu komutları kullanmak için neden IP adresini bilmeniz gerektiğini söylüyorsunuz? Bu komutlar adlandırılmış makinenin IP adresini döndürür. Evet, bu yöntemi kullanmak için hedef makinenin adını bilmek gerekir.
KenB,

3

Bu komut dosyası size aradığınız şeyi gerçekten hızlı bir şekilde vermeli ve nmap'ın kurulu olmasını gerektirir. Bunun avantajı, eğer sunucunuz ping problarına cevap vermezse, nmap diğer araçlar bulmayacak olsa da, hostu yine de bulacaktır.

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

Bu betiği farklı şekilde sakla lookup.shve ara

LANG=c bash lookup.sh

Bunu nasıl kurtarıp çalıştırıyorsun?
Daniel Pendergast

Bunu TextEditor'a yapıştırın ve bu dosyayı kaydedin ve "qnmap" olarak adlandırın. Daha sonra bu dosyayı / usr / bin'e taşıyın (Command + Shift + G tuşunu basılı tutun veya Finder / Go / Go klasörüne: / usr / bin). terminali açın, "sudo chmod a + x / usr / bin / qnmap" yazın. Terminalde "qnmap" yazın ve sonucu bekleyin.
Florian Bidabe

Tamam. Bu hatayı alıyorum: /usr/bin/qnmap: line 2: =en1: command not foundOlmaması igereken önce dolar işareti gibi görünüyor .
Daniel Pendergast

1
Üzgünüm Dan, benim hatam, çizgi şöyle olmalı: i = "en1"
Florian Bidabe

Güzel. İyi çalışıyor.
Daniel Pendergast

2

Ağ adreslerini göstermek için netstat'ı da kullanabilirsiniz:

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

Wireshark'ı yükleyebilir ve ağ kartınızda bir tarama başlatabilirsiniz.

Sonucu "nbns" ile filtreleyin, IP adresini üst pencerede göreceksiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.