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?
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?
Jawaban:
Anda bisa melakukan arp -a
perintah untuk menampilkan semua entri ARP di tabel tentang komputer di jaringan Anda.
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.
for /L %i in (0,1,255) do ping -n 1 192.168.1.%i -4 | findstr -m "bytes=32" >> ipaddress.txt
memiliki kelebihan, tetapi tidak mendasar untuk jawabannya, tidak konsisten dengan sisa jawaban yang digunakan Received = 1
daripada bytes=32
, dan belum tentu cara saya telah melakukannya. Saya menambahkan komentar ini jika ada yang menemukan saran berguna.
for /L %i in (1,1,254)
mungkin lebih tepat, karena xxxxxx.0
ini adalah alamat seluruh jaringan dan xxxxxx.255
merupakan alamat siaran.
Ada net view /all
perintah 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
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 /all
atau arp -a
menurut saya.
ipconfig /all
(gunakan garis miring, bukan mundur)
Seperti yang ditunjukkan oleh orang lain, Anda dapat menggunakan arp -a
namun 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.
echo ls %USERDNSDOMAIN%|nslookup
tampilkan semua alamat IP komputer (yang sedang digunakan)
Saya pikir Anda mungkin bermaksud netstat -a
ini memberi Anda daftar aktif. Jika Anda ingin mengetahui program menggunakan alamat ip kemudian gunakan netstat -b
(buka sebagai administrator).
netstat -a
dump daftar koneksi jaringan saat ini. Kolom alamat IP kiri berisi antarmuka lokal.