macOS で、ローカル ネットワーク上の Windows マシンの IP アドレスを取得するにはどうすればよいですか?

macOS で、ローカル ネットワーク上の Windows マシンの IP アドレスを取得するにはどうすればよいですか?

Finder の「共有」セクションまたは「移動 > サーバーに接続…」でネットワーク上の Windows PC に接続してファイル共有を行うことはできますが、その IP アドレスはどうすればわかりますか?

答え1

smbutilあなたが求めているのは、コマンドラインユーティリティです。

$ smbutil

usage: smbutil [-hv] subcommand [args]
where subcommands are:
 help       display help on specified subcommand
 lookup     resolve NetBIOS name to IP address
 status     resolve IP address or DNS name to NetBIOS names
 view       list resources on specified host
 dfs        list DFS referrals
 identity   identity of the user as known by the specified host
 statshares list the attributes of mounted share(s)

smbutil lookup <name>ターミナル内でマシンの IP アドレスを検索できます:

$ smbutil lookup Example-Name
Got response from 192.168.1.110
IP address of Example-Name: 192.168.56.1
IP address of Example-Name: 192.168.1.110

または、次のようにしてマシンの名前を検索しますsmbutil status <IP>

$ smbutil status 192.168.1.110
Using IP address of 192.168.1.110: 192.168.1.110
Workgroup: WORKGROUP
Server: EXAMPLE-NAME

(クレジット:11rコームズこのことを教えてくれてありがとう。

答え2

smbutil が動作しない場合は (動作しないこともありますし、その理由がわかるほど SMB に精通していないため)、代わりに arp が役に立つかもしれません。

たとえば、[コンテンツは関連行のみに切り詰められています]
ol-server は、現在すでに接続している Windows マシンです。ドライブがマウントされており、RDC セッションが開いています。

TetsMac:~ glee$ smbutil lookup ol-server
smbutil: unable to resolve ol-server: No route to host
TetsMac:~ glee$ arp -a
ol-server (192.168.0.3) at 0:21:91:e7:9c:a3 on en1 ifscope [ethernet]

答え3

それができることはわかっていますping <pc-name>。他の解決策としては、wiresharkフィルターをインストールしsmb || smb2て Windows PC に接続することです。

関連情報