LAN上のすべてのコンピューターのIPアドレス(使用されているもの)を表示するのに役立つコマンドとその引数の1行があることを知っています。それは何ですか?
LAN上のすべてのコンピューターのIPアドレス(使用されているもの)を表示するのに役立つコマンドとその引数の1行があることを知っています。それは何ですか?
回答:
このarp -a
コマンドを実行して、ネットワーク上のコンピューターに関するテーブル内のすべてのARPエントリを表示できます。
IPアドレスを持つすべてがコンピューターであるとは限りません-これらの提案のどれもがすべてのアクティブなIPアドレスを返さないことに気付きました-実際、ほとんどはほとんど返されませんでした。私のホームネットワークには、有線と無線のデバイスと2つのルーター、携帯電話、テレビ、PVR、Apple AirPortの組み合わせがあり、おそらく忘れてしまったものがいくつかあります。次を使用して、192.168.1.xxxサブネット上のすべてのアドレスをスキャンしました。
for /L %i in (0,1,255) do ping -n 1 -w 250 192.168.1.%i>>ipaddress.txt
結果のファイルipaddress.txtにはすべてのアドレスのpingの結果が含まれており、「Received = 1
」が付いているものを探しました-現在16個のアドレスが結果を返しました-私は家に4台のコンピューターしかありませんが、すべてがオンではありませんでした。
for /L %i in (0,1,255) do ping -n 1 192.168.1.%i -4 | findstr -m "bytes=32" >> ipaddress.txt
はメリットがありますが、答えの基本ではなく、のReceived = 1
代わりに使用した残りの答えとは一致せbytes=32
ず、必ずしも私がした方法ではありません。提案が役立つと思う人がいれば、このコメントを追加します。
for /L %i in (1,1,254)
xxxxxx.0
は、ネットワーク全体のアドレスでxxxxxx.255
あり、ブロードキャストアドレスであるため、より適切な場合があります。
net view /all
同じLANに接続されているすべてのコンピューター名をリストするコマンドがあります。
それから、nslookup <computer name>
コマンドを使用して個々のIPアドレスを取得するか、バッチスクリプトを作成して実行できます。
これは、説明のためにまとめたサンプルバッチです。
@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
arp -a
ただし、ARPがすべてのデバイスを報告するように、他の誰かが示したように、ブロードキャストアドレスを最初にpingするようにしてください。例えば、ping 192.168.0.255
IPアドレスとMACアドレスによってネットワークに接続されているすべてのデバイスのリストを取得します。https://aruljohn.com/mac.plなどのWebサイトでMACアドレスを検索して、NICのベンダーを確認できます。これにより、ほとんどのデバイスを絞り込むことができます。すなわち、コンピューター、プリンター、テレビ、携帯電話など。