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 -a
tü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.txt
alınmış ) bir önemi vardır, ancak cevap için temel olan, Received = 1
yerine kullanılan yanıtın geri kalanıyla tutarlı değildir bytes=32
ve mutlaka benim yaptığım gibi değildir. Birisi öneriyi yararlı bulsa da bu yorumu ekliyorum.
for /L %i in (1,1,254)
xxxxxx.0
Tüm ağın xxxxxx.255
adresi ve yayın adresi olduğundan daha uygun olabilir .
Orada net view /all
aynı 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 /all
ya 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/24
sen daha güvenilir yüzden aradığınızı elde etmek (LAN için uygun biriyle alt ağ yerine) net view /all
veya arp -a
Bence.
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 -a
bu size aktif bir liste veriyor. İp adresini kullanarak programı bilmek istiyorsanız, o zaman kullanın netstat -b
(yönetici olarak açın).
netstat -a
mevcut ağ bağlantılarının bir listesini çıkarır. Sol IP adresi sütunu yerel arayüzü içerir.