Perintah Windows untuk menampilkan semua alamat IP

31

Saya tahu ada satu baris perintah dan argumennya yang dapat membantu menampilkan semua alamat IP komputer (yang sedang digunakan) pada LAN, dan komputer saya juga klien, sebagai salah satu yang ditampilkan, tetapi saya lupa. Apa itu?

Bé Vú Sữa 1
sumber
Saya tidak berpikir ini mungkin dengan cara yang begitu umum.
theglauber
Anda harus melakukan ping-scan subnet lokal dan kemudian menggunakan perintah arp -a yang tercantum di bawah ini.
cpt_fink
Lebih baik untuk memeriksa semua alamat IP menggunakan 'Alamat IP marah'.
vembutech

Jawaban:

28

Anda bisa melakukan arp -aperintah untuk menampilkan semua entri ARP di tabel tentang komputer di jaringan Anda.

Sumber

GigabitP
sumber
6
Ini menunjukkan setiap sistem komputer Anda sadari / berbicara dengan - namun, mungkin tidak lengkap - saya menjalankan percobaan cepat dengan arp -a dan itu tidak menunjukkan satu atau dua sistem saya sampai saya memutarnya.
Journeyman Geek
Ya, seperti tautan yang saya posting katakan, itu tidak akan menampilkan segalanya kecuali jika mereka menyimpannya di tabel sehingga mesin tidak akan ditampilkan tetapi itu memang daftar yang cukup bagus.
GigabitP
Selamat Datang di Stack Exchange, Gigabit Pony! Ketika sebuah tautan membentuk sebagian besar jawaban Anda, Anda harus selalu mengutip bagian-bagian penting kalau-kalau nanti mati. Lihat juga bagaimana menulis jawaban yang baik .
Blacklight Shining
21

Tidak semuanya dengan alamat IP adalah komputer - Saya tidak menemukan satu pun dari saran ini mengembalikan semua alamat IP aktif - pada kenyataannya sebagian besar mengembalikan sangat sedikit. Jaringan rumah saya memiliki kombinasi perangkat kabel dan nirkabel dan dua router, ponsel, TV, PVR, Apple AirPort dan mungkin beberapa hal yang saya lupa. Saya menggunakan yang berikut ini untuk memindai semua alamat pada subnet 192.168.1.xxx:

for /L %i in (0,1,255) do ping -n 1 -w 250 192.168.1.%i>>ipaddress.txt

File yang dihasilkan ipaddress.txt berisi hasil ping untuk semua alamat dan saya mencari yang dengan " Received = 1" - saat ini 16 alamat mengembalikan hasil - Saya hanya memiliki 4 komputer di rumah - dan tidak semuanya aktif.

Clifford
sumber
Suntingan yang disarankan (digulirkan) for /L %i in (0,1,255) do ping -n 1 192.168.1.%i -4 | findstr -m "bytes=32" >> ipaddress.txtmemiliki kelebihan, tetapi tidak mendasar untuk jawabannya, tidak konsisten dengan sisa jawaban yang digunakan Received = 1daripada bytes=32, dan belum tentu cara saya telah melakukannya. Saya menambahkan komentar ini jika ada yang menemukan saran berguna.
Clifford
1
for /L %i in (1,1,254)mungkin lebih tepat, karena xxxxxx.0ini adalah alamat seluruh jaringan dan xxxxxx.255merupakan alamat siaran.
Scott
13

Ada net view /allperintah yang akan mencantumkan semua nama komputer yang terhubung ke LAN yang sama.

Dari itu Anda dapat mengambil alamat IP individu menggunakan nslookup <computer name>perintah atau menulis skrip batch untuk melakukannya untuk Anda.

Ini adalah contoh kumpulan yang saya buat bersama untuk diilustrasikan.

@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
David Ruhmann
sumber
5

Selain arp -a, net view /all, atau menulis naskah batch tidak ada asli / built-in baris perintah untuk melakukan hal ini (setidaknya tidak yang saya tahu).

Jika Anda ingin menggunakan perintah non-asli, saya sarankan menggunakan Nmap . Anda dapat menjalankan nmap -sn 192.168.0.0/24(mengganti subnet dengan subnet yang sesuai untuk LAN Anda) untuk mencapai apa yang Anda cari, lebih andal daripada net view /allatau arp -amenurut saya.

Drew Chapin
sumber
1

ipconfig /all (gunakan garis miring, bukan mundur)

Unnikrishnan
sumber
20
ipconfig mencantumkan antarmuka PC itu sendiri dan bukan alamat IP yang digunakan pada LAN.
Christian
1

Seperti yang ditunjukkan oleh orang lain, Anda dapat menggunakan arp -anamun pastikan bahwa Anda melakukan ping ke alamat broadcast terlebih dahulu sehingga ARP melaporkan semua perangkat. Sebagai contoh,ping 192.168.0.255

Anda mendapatkan daftar semua perangkat yang terhubung ke jaringan dengan alamat IP dan MAC mereka. Anda dapat mencari alamat MAC di situs web seperti https://aruljohn.com/mac.pl untuk mencari tahu siapa vendor NIC itu. Ini akan membantu Anda mempersempit sebagian besar perangkat. yaitu komputer, printer, TV, ponsel, dll.

Sean
sumber
0
echo ls %USERDNSDOMAIN%|nslookup
Eric Douglas Miller
sumber
8
Selamat datang di SU. Bisakah Anda jelaskan apa yang dilakukan perintah?
Martin Prikryl
0

Ini solusi cepat saya. Ini memberi tahu Anda apa jenis perangkat yang terhubung di setiap alamat ip:

netstat -r 
DR_WHO
sumber
0

tampilkan semua alamat IP komputer (yang sedang digunakan)

Saya pikir Anda mungkin bermaksud netstat -aini memberi Anda daftar aktif. Jika Anda ingin mengetahui program menggunakan alamat ip kemudian gunakan netstat -b(buka sebagai administrator).

TarranJones
sumber
Secara teknis, netstat -adump daftar koneksi jaringan saat ini. Kolom alamat IP kiri berisi antarmuka lokal.
Ben N