LAN上のすべてのコンピュータのIPアドレス(使用されているもの)を表示するのに役立つ単一行のコマンドとその引数があることを私は知っています。それは何ですか?
arp -a
コマンドを実行して、ネットワーク上のコンピュータに関するテーブル内のすべてのARPエントリを表示できます。
IPアドレスを持つものすべてがコンピュータであるとは限りません - これらの提案のどれもがすべてのアクティブなIPアドレスを返すことはありませんでした - 実際にはほとんど返されませんでした。私のホームネットワークには、有線と無線のデバイスと2つのルーター、携帯電話、テレビ、PVR、Apple AirMacがあり、おそらく私が忘れていたことがいくつかあります。私は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個のアドレスが結果として返されました。
同じLANに接続されているすべてのコンピュータ名を一覧表示するnet view /all
コマンドがあります。
それからあなたは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
、net view /all
、またはバッチスクリプトの作成以外に、これを行うためのネイティブ/組み込みのコマンドラインはありません(少なくとも私の知る限りではありません)。
ネイティブではないコマンドを使用したい場合は、 Nmap を使用することをお勧めします。あなたが探しているものを達成するためにnmap -sn 192.168.0.0/24
(サブネットをあなたのLANのための適切なものに置き換える)を実行することができます、私の意見ではnet view /all
またはarp -a
よりもっと確実に。
ipconfig /all
(逆方向ではなくスラッシュを使用)
echo ls %USERDNSDOMAIN%|nslookup
他の人が示しているように、arp -a
を使用することもできますが、ARPがすべてのデバイスを報告するように、最初にブロードキャストアドレスをpingするようにしてください。たとえば、ping 192.168.0.255
iPアドレスとMACアドレスによってネットワークに接続されているすべてのデバイスのリストが表示されます。 NICのベンダが誰であるかを調べるには、 https://aruljohn.com/mac.pl のようにWebサイトでMACアドレスを検索します。これは、ほとんどのデバイスが何であるかを絞り込むのに役立ちます。すなわち、コンピュータ、プリンタ、テレビ、携帯電話など。
すべてのコンピュータのIPアドレス(使用されているもの)を表示します。
私はあなたがnetstat -a
これがあなたにアクティブなリストを与えることを意味するかもしれないと思います。あなたがIPアドレスを使っているプログラムを知りたいのなら、netstat -b
(管理者として開いてください)を使ってください。
これが私の素早い解決策です。各IPアドレスに接続されているデバイスの種類がわかります。
netstat -r