Raspberryをモニターに接続せずに、ローカルネットワークでRaspberry PIIPアドレスを検索する必要があります。 LinuxまたはMacOSシステムでそれを行うにはどうすればよいですか?

コメント

回答

すべてのラズベリーデバイスのMACアドレスは B8:27:EB で始まります(RPi4 Bの場合、dc:a6:32、必要に応じて置き換えます。

したがって、* nix システムでは、これを実現できます。次のコマンドを実行します。

nmap -sP 192.168.1.0/24 | awk "/^Nmap/{ip=$NF}/B8:27:EB/{print ip}" 

ここで、192.168.1.*はローカルネットワークマスクになります。次のような回答が得られます。

Nmap scan report for raspberrypi.localnetwork.lan (192.168.1.179) 

192.168.1.179はネットワーク上のRaspberryPiIPアドレスです。

Mac システムでは、自作を使用してインストールできます nmap

brew install nmap 

Windows Wireshark を使用し、次の表示フィルターを使用できます:

eth.addr[0:3] == B8:27:EB 

コメント

  • またはパイプが少ない場合:nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
  • @ripatに感謝します、それはもっとたくさんです簡潔-更新されました!少し詳しく説明しますが、管理者として実行する必要があります。そうしないと、nmapはMACアドレスを表示しません。
  • オフィス環境でラズベリーパイを頭のない場所で見つけようとするまで、この回答の重要性を理解することはできません。 IP ‘は、DHCPを使用してディッシュアウトされます。この@ripatに乾杯
  • nmapが’吐き出さなかったため、この回答は’うまくいきませんでした私のホスト名。ただし、nmapを使用して開いているsshポートを検索するように促されたため、piを見つけることができました:sudo nmap -p 22 --open -sV 192.168.0.0/24 guy ‘の投稿
  • isn ‘ t ” sudo nmap -sP 192.168.1.0/24 “十分ですか(私にとっては心配でした)?

回答

MacOSまたはLinuxを実行している場合は、次の方法を試してください。

$ arp -na | grep -i b8:27:eb 

Windowsでは、次のことができます。使用:

arp -a | findstr b8-27-eb 

RPi 4Bでは、比較のために別の文字列を使用する必要があります(dc:a6:32:be:95)。 RPiで確認してください

ip -br link 

各ネットワークカードのエントリがあります。eth0はケーブルインターネットです。 wlan0はWiFiです。

コメント

  • このソリューションはnmapソリューションよりもはるかに高速です!
  • このソリューションは、thとは異なり、私にとってはうまくいきましたリストの一部のみを提供するnmapソリューション。
  • これにより、arpテーブルに追加されたホストのみが表示されるため、静かなホストを見逃すことがあります。最初にnmapスキャンを実行すると役立つ場合があります。
  • そうかもしれませんが、私にとってはこれが失敗することはありませんでした。さらに、’最初の試みは簡単です。
  • ありがとうございます。少し変更して、今はarp -n | awk '/b8:27:eb/ {print $1}'を使用しています。

回答

mDNS / Bonjourを使用して、Piにpi.localのようなローカル名を付けています。 IPアドレスを知る必要はありません。これはショートカットで機能し、リンクを埋め込む必要がある場合は…

割り当てる方法と理由Piのローカル名

コメント

  • すごい!以前は/etc/hostsローカルでこの機能をデスクトップに表示するには、これははるかに優れたソリューションです!ポインタをありがとうございます!

回答

GUIアプリケーションを使用する場合は、Yakalaツール( https://github.com/mozcelikors/yakala )Debian / Ubuntuの場合。このツールは、使用可能なタイプBおよびタイプCネットワークを検索するだけでなく、ネットワークに直接SSHで接続するのにも役立ちます。

sudo add-apt-repository ppa:mozcelikors/yakala sudo apt-get update sudo apt-get install yakala 

または

git clone https://github.com/mozcelikors/yakala cd yakala && sudo ./install.sh 

https://raw.githubusercontent.com/mozcelikors/yakala/master/docs/img/peekx2.gif

免責事項:私はYakalaの作成者です。提案やバグはすべて真剣に受け止められます。

コメント

  • クラスフルネットワークは、非常に昔の1993年に廃止されました。
  • クラスフルネットワーキングとは何ですか?

回答

デフォルトでは、ラズベリーの名前はraspberrypiです。「pingraspberrypi」を実行するだけで、ICMPエコー応答によってIPアドレスが提供されます。それは私のために働いた。ラズベリーのNICはデフォルトでDHCPクライアントモードであるため、DHCPサーバーに到達できることを確認してください。そうでない場合、ラズベリーはAPIPAアドレスを取得します。

回答

LinuxおよびMACでは、ターミナルに「arp –a」と入力して、接続されているデバイスのリストを取得し、B8が含まれているデバイスを探します。例:192.168.4.5 @ B8 …はラズベリーパイIPになります。

回答

無料の Fing アプリ。ネットワークをスキャンし、接続されているデバイスをRaspberry Piなどのタイプ別に表示し、使用可能なポートをスキャンします。SSH、Web、またはVNCが有効になっているかどうかを確認するのに便利です。実行中です。

回答

または、ブラウザからルーターにアクセスしてAndroidデバイスを見つけることもできます。ほとんどすべてのルーターGUIには現在ネットワークに接続されているすべてのデバイスを確認できるサービス。

回答

MacOSを実行している場合は、 PiFinder を使用します。これは、ネットワーク上のRaspberryPiのIPを通知するアプリケーションです。

回答

以下をターミナル/コンソール/シェルにコピーします:

for i in $(jot - 1 254); do ping -t 1 192.168.1.$i && arp -a | cut -f 2,4 -d " " | tr [:lower:] [:upper:] | grep B8:27:EB; done 

192.168.1。を個々のネットワークに適合させてください。

出力は次のようになります。

(192.168.1.109)B8:27:EE:DD:CC:A

192.168.1.109がRaspberryPiのIPになります…:)

回答

これをWebサーバーのpi.phpに入れます:

<?php $fp = fopen("pi", "w"); fwrite($fp, $_REQUEST["ip"],1000); fclose($fp); ?> 

WebサーバーにWebの書き込み権限を持つファイルpiを作成する必要がある場合がありますサーバー。

パイの/etc/rc.localに

curl http://yourwebserver/pi.php -d ip=`hostname -I` 

を配置します。

IPを取得します。 http://yourwebserver/pi

回答

NOOBSまたはRaspbianの新規インストールを使用する場合、デフォルトのホスト名は「raspberrypi」であり、一部のネットワークではオークの構成(つまりmDNSが使用され、構成されている場合)「raspberrypi.local」を使用できます。もう1つのオプションは、arp -aを実行してraspberrypiを探すことです

注:これはすべてのインスタンスで機能するとは限りません。

コメント

  • その答えはいくつかのことを混同しているようです:異なるIPバージョン、DNS、そしておそらくmDNS。.localを使用できるかどうかは通常ありません’ tはIPv6に依存し、ルーターが存在することにも依存しません。mDNSサポートが利用可能な場合、pi-name.localはIPv6であるかどうかを解決します。一部のホームルーターは.localをローカルDNSドメインも、IPv6に依存せず、ルーターモデルによって異なります。一部のホームルーターは、pi-name.fritz.boxなどの異なるドメインを使用します。

回答

ルーターは、新しく検出されたシステムに192.168.1.2から始まるIPアドレスを順番に割り当てます。ある日、自宅のすべてのシステムを調べて、それらのアドレスを予約しました。

そうすれば、新しいシステムを作成するときに、そのIPアドレスが192になる可能性があります。 .169.1.18。

シリアルコンソールを使用する別の方法。ラズベリーパイにログインするには、シリアルターミナルプログラムを使用できます。 115,200の速度(ボーレート)で8N1(8ビット、パリティビットなし、1ストップビット)設定を使用することをお勧めします。 「USB-シリアル(3V3)コネクタが必要です。

回答

Androidの場合は「Fing」または「NetAnalyzer」 。ネットワーク全体を表示します。

回答

Windowsを使用している場合は、このスクリプトを試してみることをお勧めします。ほとんどの場合、 「arp-a」コマンドに基づいていますが、余分な掘り下げを省き、RaspberryがまだArpテーブルにない場合に役立ちます。

次の内容のテキストファイルを作成し、名前を次のように変更します。 find_raspberry_pi.bat

@echo off :: This script, run from a Windows (10) machine, finds a Raspberry Pi on local network set raspIp= set myip= set subnet= :: Get IP for local PC for /f "tokens=1-2 delims=:" %%a in ("ipconfig^|find "IPv4"") do set myip=%%b set myip=%myip:~1% echo IP for local PC: %myip% :: Get subnet set subnet=%myip% setlocal enabledelayedexpansion for /l %%a in (1,1,31) do if NOT "!subnet:~-1!"=="." set subnet=!subnet:~0,-1! set subnet=%subnet:~0,-1% setlocal disabledelayedexpansion echo Subnet: %subnet% echo. :top :: Loop through arp table entries and look for Raspberry Pi"s MAC address for /f "tokens=1" %%f in ("arp -a ^| findstr b8-27-eb") do (set raspIp=%%f) if "%raspIp%"=="" ( echo Discovering network... :: Ping all IPs in subnet from 1 to 254 for /L %%N in (1,1,254) do start /b ping -n 1 -w 200 %subnet%.%%N >nul timeout 1 >nul goto :top ) else ( echo Found Raspberry PI with IP: %raspIp% ) echo. pause 

免責事項

  1. 私は元のスクリプトの作成者ではありません。RaspberryPiで動作するように少し調整しました。残念ながら、元の寄稿者が見つかりません。
  2. 防弾ではありません。スキャンを開始するサブネットが正しくない場合は機能しません。

それでも、何度も使用しましたが、それは「簡単な解決策

回答

2020年には、Raspberry Piに異なる範囲のMACアドレスが付属しているため、受け入れられた回答は機能しなくなりました。 「新しい」MACをコメントとして追加することもできますが、文字列はモデルごとに何度も変更される可能性があります。これは、より将来性のあるものです。

$ sudo nmap -sP 192.168.150.0/24 |grep "Raspberry Pi Trading" -B2 Nmap scan report for pi4-01.lan (192.168.150.186) Host is up (0.037s latency). MAC Address: DC:A6:32:1B:35:6A (Raspberry Pi Trading) 

上記の主な違い:MACパターンを想定せず、このラベルは

自体。nmapは継続的に更新されるため、Raspberry Pi MACアドレスの内部テーブルが含まれ(または他の基準を使用して検出)、次のように想定できます。

警告:スキャンで、使用していることがわかっているすべてのPiが識別されない場合ネットワークに接続してから、スキャンを最大10回繰り返します。ネットワークPower Management:onを持つPiは、スキャンに常に応答するとは限りません。

電源管理はLAN上で複数のPiをスキャンしている場合は、繰り返しスキャンで1つのPiは検出されるが、別のPiは検出されない可能性があるため、問題が発生します。その場合は、スキャンを繰り返して違いを探します。 。(Piで電源管理が有効になっているかどうかを確認するには、Piにsshして実行します:/sbin/iwconfig wlan0|grep Management

Answer er

PIに接続できないと思います。そうしないと、IPがわかります。

ルーターページに移動した場合(通常は何かブラウザの192.168.1.1のように)そこには、すでに接続されているデバイスのセクションがあるはずです。 PIのプラグを抜き差しすることができます(リストから1つのデバイスが表示/非表示になります)

回答

これを試してください最初:

arp -a | grep -E --ignore-case "b8:27:eb|dc:a6:32" 

このコマンドの2つの16進文字列(b8:27:eb|dc:a6:32)は、2つの OUI 値は、” Foundation “がすべてのRPiデバイスの生産に使用します-RPiを介してこの記事の執筆時点でver4B。 RPiが arpキャッシュ このコマンドは、有用なものを何も生成しません。その場合は、お気に入りのエディターで次のファイルを作成し、pingpong.shとして保存/書き込みます。

#!/bin/sh : ${1?"Usage: $0 ip subnet to scan. eg "192.168.1.""} subnet=$1 for addr in `seq 0 1 255 `; do ( ping -c 3 -t 5 $subnet$addr > /dev/null ) & done arp -a | grep -E --ignore-case "b8:27:eb|dc:a6:32" 

実行可能にして実行します(ここでネットワークアドレスを使用します。必ずしも 192.168.1。):

$ chmod 755 pingpong.sh $ ./pingpong.sh 192.168.1. 

結果は次のように表示される場合があります:

raspberrypi3b.local (192.168.1.131) at b8:27:eb:1:2:3 on en0 ifscope [ethernet] raspberrypi4b.local (192.168.1.184) at dc:a6:32:2:3:4 on en0 ifscope [ethernet] 

この場合、ホスト名はmDNSの厚意により表示されます。mDNS/ avahi / etcを使用していない/使用していない場合、ホスト名は次の文字に置き換えられます:?

回答

ラズビアンはmDNSと呼ばれるもので、ホスト名raspberrypi.localでラズベリーパイにアクセスできます。

つまり、 「IPアドレスを検索する必要はありません。次のように接続してください:

ssh [email protected] 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です