Yerel ağımdaki tüm MAC adreslerini ve bunlarla ilişkili IP adreslerini listeleyiniz (LAN)


82

Yerel ağıma (LAN) bağlı makinelerin tüm MAC adreslerini ve bunlarla ilişkili IP adreslerini nasıl listeleyebilirim ?


6
3. seviye ağ katmanı
donanımına girdiğiniz

Neden !bir soru işaretinden sonra yerleştirirsiniz ? Bu gerekli değildir ve yalnızca sorunun bağırıldığı veya önem arz ettiği durumlarda kullanılır.
kiri

@ minerz029 bunu açıkladığınız için teşekkürler
Maythux

1
sudo tail -f /var/log/messages, ardından MAC adresini bulmaya çalıştığınız cihazın fişini çekin ve fişini çekin ya da cihazı bulmak için mesajlara göz atın / notları okuyun.
IceArdor

Yanıtlar:


63

Bunun için Nmap yardımcı programını kullanabilirsiniz . Nmap ücretsiz bir ağ tarayıcı aracıdır.

Sadece dene:

sudo nmap -sn 192.168.1.0/24

Lütfen ağ tanımlayıcınızı ve alt ağ maskenizi değiştirin.

Bir ağ kimliği ve alt ağ maskesi nasıl bulunur

Komutunu kullanın ip a:

bash~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether c4:85:08:94:ee:9a brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.66/24 brd 192.168.3.255 scope global wlan0
    inet6 fe80::c685:8ff:fe94:ee9a/64 scope link valid_lft forever preferred_lft forever

Burada 2. noktada wlan0cihazım var. Şöyle der inet 192.168.3.66/24 brd 192.168.3.255 scope global wlan0: IP adresi, 192.168.3.66alt ağ maskesi: 24. Ağ kimliği 192.168.3.0, yalnızca son sayının 0 olmasını

Ya da adamın nmapdediği gibi:

sudo nmap -sn 192.168.1.0/24

İşte man sayfasından küçük bir alıntı, nmap (1) :

-sn (No port scan)

Bu seçenek Nmap'a ana bilgisayar keşfi sonrasında bağlantı noktası taraması yapmamasını ve yalnızca taramayı yanıtlayan mevcut ana bilgisayarları yazdırmasını söyler. Bu genellikle “ping scan” olarak bilinir, ancak traceroute ve NSE ana bilgisayar komut dosyalarının çalıştırılmasını da isteyebilirsiniz.

Bu, varsayılan olarak liste taramasından bir adım daha müdahalecidir ve genellikle aynı amaçlar için kullanılabilir. Çok fazla dikkat çekmeden hedef ağın hafif bir şekilde keşfedilmesini sağlar.

Her bir IP adresinin ve ana bilgisayar adının taranmasıyla sağlanan listeden daha fazla ana bilgisayarın ne kadar olduğunu bilmek saldırganlar için daha değerlidir.

Sistem yöneticileri genellikle bu seçeneği de değerli bulmaktadır. Bir ağdaki mevcut makineleri saymak veya sunucunun kullanılabilirliğini izlemek için kolayca kullanılabilir. Buna genellikle bir ping taraması adı verilir ve çoğu adres yayın sorgularına yanıt vermediğinden yayın adresini ping işleminden daha güvenilirdir.

Varsayılan ana bilgisayar keşfi -sn, bir ICMP yankı isteği, 443 numaralı bağlantı noktasına TCP SYN, 80 numaralı bağlantı noktasına TCP ACK ve varsayılan olarak bir ICMP zaman damgası isteğinden oluşur.

Ayrıcalıklı olmayan bir kullanıcı tarafından yürütüldüğünde connect, hedef üzerindeki 80 ve 443 numaralı bağlantı noktalarına yalnızca SYN paketleri gönderilir (bir çağrı kullanarak ).

Ayrıcalıklı bir kullanıcı yerel bir ethernet ağındaki hedefleri taramaya çalıştığında, ARP istekleri belirtilmedikçe kullanılır --send-ip. Bu -snseçenek daha fazla esneklik için keşif probu türlerinden herhangi biriyle ( -P*seçenekler hariç -Pn) birleştirilebilir.

Bu prob tipi ve port numarası seçeneklerinden herhangi biri kullanılırsa, varsayılan problar geçersiz kılınır. Nmap çalıştıran kaynak ana bilgisayar ile hedef ağ arasında sıkı güvenlik duvarları varsa, bu gelişmiş teknikleri kullanmanız önerilir. Aksi takdirde, güvenlik duvarı probları veya yanıtlarını bıraktığında ana bilgisayarlar kaçırılabilir.

Nmap'ın önceki sürümlerinde, -snolarak biliniyordu -sP.


İşe yaramıyor
Maythux

4
Bunun 192.168.1.0/24, kullanıcının IP adres aralığına göre değiştirilmesi için ayarlanması gerekecektir .
kiri

@ minerz029 Elbette IP'yi değiştirdim
Maythux

Sebep bu mu bilmiyorum ama Linux'ta nmap -sP 192.168.1.0/24ping taraması için kullanıyorum .
tiktak

2
MAC adreslerini ağdan okumak için neden kök ayrıcalıklarının gerektiğini biliyor musunuz?
Michael Aquilina,

45

arpolacak yavaş yavaş onlar varsa size aktif MAC adresleri ve IP adresleri ya da ana bilgisayar adlarının listesini döndürür. Daha hızlı gitmesini istiyorsanız arp -n, DNS aramalarını atlaması gerekenleri kullanabilirsiniz . Bir şeye arp -anayırmanız gerekirse, sabit genişlikli sütunları atlayabilirsiniz.

$ arp
Address                  HWtype  HWaddress           Flags Mask            Iface
10.10.0.11               ether   00:04:ff:ff:ff:d0   C                     eth0
10.10.0.16               ether   00:04:ff:ff:ff:a6   C                     eth0
raspbmc.local            ether   00:1f:ff:ff:ff:9c   C                     eth0
10.10.0.19               ether   00:04:ff:ff:ff:c9   C                     eth0
10.10.0.12               ether   bc:f5:ff:ff:ff:93   C                     eth0
10.10.0.17               ether   00:04:ff:ff:ff:57   C                     eth0
10.10.0.1                ether   20:4e:ff:ff:ff:30   C                     eth0
HPF2257E.local           ether   a0:b3:ff:ff:ff:7e   C                     eth0
10.10.0.15               ether   00:04:ff:ff:ff:b9   C                     eth0
tim                      ether   00:22:ff:ff:ff:af   C                     eth0
10.10.0.13               ether   60:be:ff:ff:ff:e0   C                     eth0

Aksi halde, yönlendiriciniz size aktif cihazlar hakkında fikir verebilmelidir (çoğu yapar).


Edit davidcl adlı kullanıcının yorumu, bu cevap ilk umduğum kadar mükemmel değil.

arpçalışmak için bir çeşit önceki bağlantıya güvenir. Ancak benim görüşüme göre, modern cihazların hepsi çok konuşkandır (gerçekten wireshark izlemelisiniz - bu bir eğitimdir) yayın düzeyinde, bir cihazın en azından bir yayını yanıtlamadan ağda bulunması pek mümkün değildir. (Ağdaki tüm aygıtları ilk olarak 10.10.0.255 ile pingleyebileceğinizden ve ardından aygıtların% 90 + ını alacağınızdan emin olmak için.)

Ne demek istediğime dair bir fikir vermek için, yukarıdaki 10.10.0.16 PVR'ımızdır. Bilgisayarımla PVR arasında doğrudan bir etkileşim yok ve PVR'de çalışan hiçbir hizmet yok (UPNP / DLNA da yok).

Sadece argümanlarla hızlıca oynamak için ...

  • Ama ağımdaki bilgisayar korsanları ne olacak?! 1
    ICMP sayfalarını da engelleyebilirler. Her tarama türüne verilen tüm yanıtları engelleyebilirler.
  • Oh, ama kesinlikle nmaphala mümkün olan en iyi çözüm
    . Burada çalıştırıldığında, hala dört cihazı kaçırıyor. Ağda etkin olan dört cihaz. Ya pinglere cevap vermiyorlar ya da nmap cevap vermeleri için yeterince beklemiyor. Bilmiyorum. nmapharika bir araçtır (özellikle port taraması için daha sonra yapmak isteyebilirsiniz) ancak bu sorun için hala biraz sakar (ve biraz yavaş). Ve bana Shirley deme.

1
MAC kimliğimi mac değiştiriciyle değiştirirsem, orijinali gösterebilir mi?
rʒɑdʒɑ

2
@BYEAskUbuntu Eğer MAC değiştirici kullanıyorsanız, MAC'iniz onu ayarladığınız şeydir. Tüm ağ kullanıcıları için, kökeni genel olarak bilinmemektedir, dolayısıyla hayır, yapamaz.
Ruslan

3
@Ruslan Bu sadece onları boşalttığım paranoyak ... Birinin onlarla herhangi bir şey yapmasının oldukça zor olacağından eminim ama seni kimin takip ettiğini asla bilemezsin.
Oli

9
Bu cevaba şaşırdım. "arp", yerel ağdaki aktif MAC adreslerinin bir listesini göstermez. "arp", çalıştırıldığı makine ile etkileşime giren makinelere karşılık gelen MAC adreslerinin bir listesini gösterir. Son zamanlarda yerel makine ile ağdaki başka bir makine arasında iletişim kurulamazsa, bu makine "arp" listesinde görünmez.
davidcl

5
Ağımda hızlı bir test yaptım ve arp var olan cihazların yalnızca% 25'ini görüntülüyor. Arp çalıştıran bilgisayar başka bir cihazdan bir paket almadıysa, arp listesinde olmayacaktır. Nmap'ın ağınızda algılayamadığı cihazlar hakkında daha fazla bilgi edinmek isterdim; nmap'tan gizlemenin yolları var ama varsayılan nmap taramasını oldukça etkili buldum. "Güvenli bir cevap yok, çünkü bir cihaz trafik üretmiyorsa ve istekleri yanıtlamazsa, görünmezdir - ancak çoğu cihaz bir tür isteğe cevap verecektir." Dedi.
davidcl

36

Bunun için kullanıyorum arp-scan:

$ sudo arp-scan -l
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.2.1     ec:1a:59:61:07:b2       (Unknown)
192.168.2.50    90:59:af:3d:6d:bc       (Unknown)
192.168.2.51    3c:97:0e:48:22:12       (Unknown)
192.168.2.52    00:18:31:87:8f:b0       Texas Instruments

4 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.8.1: 256 hosts scanned in 1.282 seconds (199.69 hosts/sec). 4 responded

1
Ağ arayüzünü, kablosuz gibi belirtmek istiyorsanız, bu komutu kullanınsudo arp-scan -l -I wlan0
HarlemSquirrel

Evet, arp-taraması gerçekten de "iş için en iyi araçtır".
23

Bu benim için çalışmıyor ... cihaz bir nedenden dolayı cevap vermiyor.
Andrew Wagner

arp taraması yapabilmek brew install arp-scaniçin OSX El Capitan'da yapmak zorunda kaldım .
jamescampbell

16

Kullanabilirsiniz arp-scan.

Bu komutu kullanarak kurun:

sudo apt-get install arp-scan

Tüm IP adreslerini ve ilişkili MAC adreslerini listelemek için aşağıdakileri kullanın:

sudo arp-scan --interface=eth0 --localnet

Çıktı şöyle görünecek:

Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 16777216 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.1.3 38:60:77:29:31:36   (Unknown)
192.168.1.8 4c:72:b9:7c:bb:7e   (Unknown)
192.168.1.110   00:15:17:5f:d2:80   Intel Corporate
192.168.1.111   00:ff:88:5f:fd:f0   (Unknown)
192.168.1.153   00:15:17:5f:d2:82   Intel Corporate
192.168.1.180   52:54:00:70:04:02   QEMU
192.168.1.199   52:54:00:fe:7f:78   QEMU

1
Bu henüz ip bağlantısı olmayan bir cihaz bulmak değil ...
Andrew Wagner

9

GUI

Avahi-keşifAvahi-discover'u yükleyin deneyebilirsiniz .

  1. Bu komutu kullanarak kurun (veya yukarıdaki bağlantıyı tıklatarak):

    sudo apt-get install avahi-discover
    
  2. Run Avahi Zeroconf Tarayıcı veya avahi-discoverbir terminalden.
  3. Yerel ağınızdaki cihazların listesini içeren bir pencere görmelisiniz.
    MAC adresi köşeli parantez içindeki dize olacaktır.

Komut satırı

Bu komutu bir terminalde kullanabilirsiniz:

avahi-browse -a -t -d local

Varsayılan olarak yüklenir.


1
Bu, herhangi bir hizmeti çalıştırmayan bir makinenin MAC adresini göstermek için çalışır mı?
Eliah Kagan

3
Benim durumumda bu ağdaki her cihaz için işe yaramaz. Oldukça berbat ama avahi / upnp servisleri olmayan aptal müşterilere görünmeyecek.
Oli

5
  1. İlk önce, hangi ana bilgisayarların nmap -sn 1.2.3.4/24veya kullanarak çevrimiçi erişilebildiğini görmek için ağ taraması yapın.fping -g 1.2.3.4/24

  2. Sonra kullanarak IP adresine karşılık gelen MAC adresini sorgulayın arping. Sahte kod ileride:

    for i in $(cat list-of-reachable-hosts)
    do 
        arping $i
    done
    
  3. Hile: yerel anahtarın arp önbelleğine başvur; sana güzel bir genel bakış vermeli ...


3

Bu durumlarda NetBIOS protokolü desteklenir, ben kullanmayı tercih

nbtscan 192.168.1.1-192.168.1.255.


5
Bu yalnızca NetBIOS protokolünü destekleyen istemcileri algılar (Windows ve Linux + Samba).
Eric Carvalho

2

Bu yazı ilgimi çekti. Buna ihtiyacım vardı.

İfadeleri arpkullanarak çıktıyı çözümleyen awkve HTML çıktısı üreten bir kabuk betiği yazdım . Komut dosyasını çalıştırır ve çıktıyı bir HTML dosyasına yönlendirirseniz, IP, tam MAC adresini ve IEEE OUI arama sayfasına giden bir bağlantıyı gösteren bir HTML dosyası kalır. Bu, müşterinin NIC üreticisi tarafından belirlenmesinde yardımcı olur.

printf "<html>\n<title>LAN IPs and their MACs</title>\n<body>\n"
arp -a | awk '{print $2,$4}' | awk -F'[().: ]' '{print $2"."$3"."$4"."$5,$6,$7":"$8":"$9":"$10":"$11":"$12,"<a href=\"http://standards.ieee.org/cgi-bin/ouisearch?"$7$8$9"\">IEEE OUI Lookup "$7"-"$8"-"$9"</a><br>"}'
printf "\n</body>\n</html>\n"

nmapARP tablosunda girişlerin olması için önce LAN'ınızda bir tarama yürütülmesine yardımcı olur . Umarım biçimlendirme çevrilir. Metni tablo biçiminde almak için bunu artırabilirsiniz.


2

Bazı çalışma ve aramalardan sonra bu komutu keşfettim:

nmap -sP -PE -PA21,23,80,3389 192.168.1.*

nmap: Ağ keşif aracı ve güvenlik / bağlantı noktası tarayıcı

-sP(Bağlantı noktası taramasını atla). Bu seçenek Nmap'a ana bilgisayar keşfi sonrasında bağlantı noktası taraması yapmamasını ve yalnızca taramayı yanıtlayan mevcut ana bilgisayarları yazdırmasını söyler. Bu genellikle "ping scan" olarak bilinir, ancak traceroute ve NSE ana bilgisayar komut dosyalarının çalıştırılmasını da isteyebilirsiniz. Bu, varsayılan olarak liste taramasından bir adım daha müdahalecidir ve genellikle aynı amaçlar için kullanılabilir. Çok fazla dikkat çekmeden hedef ağın hafif bir şekilde keşfedilmesini sağlar. Kaç tane sunucunun çalıştığını bilmek, saldırganlar için her IP ve ana bilgisayar adının taranması tarafından sağlanan listeden daha değerlidir.

-PE; -PP; -PM (ICMP Ping Türleri). Daha önce tartışılan olağandışı TCP, UDP ve SCTP ana bilgisayar keşif türlerine ek olarak Nmap, her yerde bulunan ping programı tarafından gönderilen standart paketleri gönderebilir. Nmap, hedef IP adreslerine bir ICMP tip 8 (echo istek) paketi gönderir, mevcut ana bilgisayarlardan karşılığında bir tür 0 (echo yanıtı) bekler. Ne yazık ki, ağ kaşifleri için, çoğu ana bilgisayar ve güvenlik duvarı şimdi cevap vermek yerine bu paketleri engeller. RFC 1122 [2] tarafından istenmiştir. Bu nedenle, yalnızca ICMP taramaları, Internet üzerinden bilinmeyen hedeflere karşı nadiren güvenilirdir. Ancak dahili bir ağı izleyen sistem yöneticileri için pratik ve verimli bir yaklaşım olabilir. Bu yankı isteği davranışını etkinleştirmek için -PE seçeneğini kullanın.

-A(Agresif tarama seçenekleri). Bu seçenek ek gelişmiş ve agresif seçenekler sunar.

21,23,80,3389 Aramak için bağlantı noktaları

192.168.1.* IP aralığı. seninkiyle değiştir



0

kullanabilirsiniz arp.

Bu size MAC ve IP’leri gösterecektir.


Bu sadece bağlı olan cihazlar için işe yarar (örn. Bir ping ile).
Peter Mortensen,
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.