Tek bir komut satırı olduğunu ve tüm bilgisayar IP adreslerini (kullanılanlar) bir LAN üzerinde görüntülemesine yardımcı olabilecek argümanların olduğunu biliyorum ve bilgisayarım da görüntülenenlerden biri olarak bir istemci, ancak unuttum. Bu ne?
Tek bir komut satırı olduğunu ve tüm bilgisayar IP adreslerini (kullanılanlar) bir LAN üzerinde görüntülemesine yardımcı olabilecek argümanların olduğunu biliyorum ve bilgisayarım da görüntülenenlerden biri olarak bir istemci, ancak unuttum. Bu ne?
Yanıtlar:
Tablodaki arp -atüm ARP girişlerini ağınızdaki bilgisayarlar hakkında göstermek için komutu kullanabilirsiniz .
IP adresi olan her şey bir bilgisayar değildir - bu önerilerden hiçbirinin aktif IP adreslerinin tümünü geri getirmediğini gördüm - aslında çoğu çok az sayıda geri döndü. Ev ağım, kablolu ve kablosuz cihazların ve iki yönlendiricinin, cep telefonlarının, TV'nin, PVR'nin, Apple AirPort'un ve muhtemelen unutmuş olduğum birkaç şeyden oluşuyor. 192.168.1.xxx alt ağındaki tüm adresleri taramak için aşağıdakileri kullandım:
for /L %i in (0,1,255) do ping -n 1 -w 250 192.168.1.%i>>ipaddress.txt
Sonuçta elde edilen ipaddress.txt tüm adresler için ping sonuçlarını içerir ve ben " Received = 1" olanları aradım - şu anda 16 adres bir sonuç döndürdü - Evde sadece 4 bilgisayarım var - ve hepsi açık değildi.
for /L %i in (0,1,255) do ping -n 1 192.168.1.%i -4 | findstr -m "bytes=32" >> ipaddress.txtalınmış ) bir önemi vardır, ancak cevap için temel olan, Received = 1yerine kullanılan yanıtın geri kalanıyla tutarlı değildir bytes=32ve mutlaka benim yaptığım gibi değildir. Birisi öneriyi yararlı bulsa da bu yorumu ekliyorum.
for /L %i in (1,1,254)xxxxxx.0Tüm ağın xxxxxx.255adresi ve yayın adresi olduğundan daha uygun olabilir .
Orada net view /allaynı LAN bağlı bilgisayar adlarını tüm listeler komutu.
Bundan, tek tek IP adreslerini nslookup <computer name>komutu kullanarak alabilir veya sizin için yapmak üzere bir toplu komut dosyası yazabilirsiniz.
İşte birlikte göstermek için attım örnek bir toplu iş.
@echo off
setlocal EnableDelayedExpansion
set "xNext="
set "xComputer="
for /f %%A in ('net view /all') do (
set "xComputer=%%~A"
if "!xComputer:~0,2!"=="\\" for /f "tokens=2,* delims=. " %%X in ('nslookup %%A') do (
if "!xNext!"=="1" (
echo.!xComputer! = %%X.%%Y
set "xNext=0"
)
if "!xComputer:~2!"=="%%~X" set "xNext=1"
)
)
endlocal
pause
Kenara gelen arp -a, net view /allya da bir toplu komut dosyası yazma orada hiçbir yerli / dahili komut satırında (en azından değil Bildiğim kadarıyla) bunu yapmak için.
Yerel olmayan bir komut kullanmaya istekliysen, Nmap kullanmanızı öneririm . Kaçabilirsiniz nmap -sn 192.168.0.0/24sen daha güvenilir yüzden aradığınızı elde etmek (LAN için uygun biriyle alt ağ yerine) net view /allveya arp -aBence.
ipconfig /all (geriye doğru değil, eğik çizgi kullanın)
Başka biri tarafından belirtildiği gibi arp -a, ARP'nin tüm cihazları bildirmesi için önce bir yayın adresine ping attığınızdan emin olun. Örneğin,ping 192.168.0.255
Ağa bağlı tüm cihazların IP ve MAC adreslerine göre listesini alırsınız. NIC satıcısının kim olduğunu öğrenmek için https://aruljohn.com/mac.pl gibi bir web sitesinde MAC adreslerini arayabilirsiniz. Bu, cihazların çoğunun ne olduğunu daraltmanıza yardımcı olacaktır. yani bilgisayarlar, yazıcılar, TV, cep telefonu vb.
echo ls %USERDNSDOMAIN%|nslookup
Bu benim hızlı çözümüm. Her ip adresinde ne tür bir cihazın bağlı olduğunu gösterir:
netstat -r
tüm bilgisayar IP adreslerini göster (kullanılanlar)
Sanırım netstat -abu size aktif bir liste veriyor. İp adresini kullanarak programı bilmek istiyorsanız, o zaman kullanın netstat -b(yönetici olarak açın).
netstat -amevcut ağ bağlantılarının bir listesini çıkarır. Sol IP adresi sütunu yerel arayüzü içerir.