題:
在本地網絡上查找Raspberry PI地址
J. Costa
2014-02-24 19:29:43 UTC
view on stackexchange narkive permalink

我需要在本地網絡上找到Raspberry PI IP地址,而無需將Raspberry連接到監視器。在Linux或Mac OS系統上該如何做?

可能的[SSH不知道IP地址而復製到樹莓派中] [http://raspberrypi.stackexchange.com/questions/12440/ssh-into-raspberry-pi-without-knowing-ip-address)
智能手機上的Lan掃描應用程序將顯示網絡上的所有設備。
十八 答案:
J. Costa
2014-02-24 19:29:43 UTC
view on stackexchange narkive permalink

所有樹莓派設備的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。* 為您的本地網絡掩碼。您將得到類似的答案:

  raspberrypi.localnetwork.lan(192.168.1.179)的Nmap掃描報告 

192.168.1.179是Raspberry Pi網絡上的IP地址。

如果您使用的是 Mac 系統,則可以使用 Homebrew安裝 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地址。
除非您嘗試將raspberrypi毫無頭緒地放置在使用DHCP分配IP的辦公室環境中,否則您將不會理解此答案的重要性。為此@ripat乾杯
因為nmap不會為我吐出主機名,所以該答案對我不起作用。但是,這確實鼓舞了我使用nmap搜索開放的ssh端口,並確實使我能夠找到pi:`sudo nmap -p 22 --open -sV 192.168.0.0 / 24` [根據此人的帖子](http: //thoughtsbyclayg.blogspot.com/2008/06/use-nmap-to-scan-for-ssh-servers-on.html)。
“ sudo nmap -sP 192.168.1.0/24”不夠(它讓我感到擔憂)嗎?
同樣在Mac OS X上,您可以使用Fink安裝nmap
一種改進,可以自動獲取默認IP和子網掩碼,並在顯示IP的同時顯示主機名和MAC:``sudo nmap -sP`ip -o -f inet addr show | grep \`ip route得到1 | awk'{print $ NF; exit}'\`| awk'{print $ 4}'`| awk'/^Nmap/{ip=gensub(/[^0-9\.]/,"","g“,$ NF); host = $(NF-1)} / B8:27:EB / { printf“%s \ t%s \ t%s \ n”,ip,$ 3,host}'''
嘗試了一下,但找不到我的銼刀4
附錄:對於RPi4 B,它們以dc:a6:32開頭
mrded
2015-08-19 13:45:27 UTC
view on stackexchange narkive permalink

如果您正在運行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鏈接 

每個網卡都有條目。 eth0 是有線互聯網, wlan0 是WiFi。

此解決方案比nmap解決方案快得多!
此解決方案對我有用,不像nmap解決方案(僅列出一部分)。
這只會顯示已進入arp表的主機,因此有時會錯過安靜的主機。第一次進行一次nmap掃描可能會有所幫助。
可能,但是對我而言,這從未失敗。另外,這是一個簡單的第一次嘗試。
謝謝你我稍加修改並使用`arp ​​-n | awk'/ b8:27:eb / {print $ 1}'現在。
如果尚未嘗試連接到設備,則對我不起作用
dfowler7437
2014-02-28 03:22:59 UTC
view on stackexchange narkive permalink

我使用mDNS / Bonjour為我的Pi賦予一個本地名稱,例如pi.local。我不需要知道它的IP地址,它可以用作快捷方式,以及何時需要嵌入鏈接...

如何以及為什麼為Pi分配本地名稱

太棒了!我曾經在本地弄亂`/ etc / hosts`來在我的桌面上獲得此功能,這是一個更好的解決方案!非常感謝您的指導!
mozcelikors
2018-02-18 17:33:25 UTC
view on stackexchange narkive permalink

如果要為其使用GUI應用程序,則可以為Debian / Ubuntu使用 Yakala 工具( https://github.com/mozcelikors/yakala) 。此工具不僅可以幫助您搜索可用的B型和C型網絡,還可以幫助您直接SSH進入網絡:

  sudo add-apt-repository ppa:mozcelikors / yakalasudo apt-獲取更新udo apt-get install yakala  

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

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

免責聲明:我是Yakala的創建者。任何建議/錯誤都非常重視。

在很久以前,1993年就放棄了有類網絡。
什麼是分類網絡?
jan
2014-07-24 23:48:26 UTC
view on stackexchange narkive permalink

默認情況下,樹莓派的名稱是raspberrypi。您可以“ ping raspberrypi”,而ICMP回顯答復將為您提供IP地址。它為我工作。確保DHCP服務器可訪問,因為樹莓派的NIC默認處於DHCP客戶端模式。否則,覆盆子將獲得APIPA地址。

FreshTendrils
2015-05-07 18:59:23 UTC
view on stackexchange narkive permalink

In linux and MAC, you can also type in "arp - a" in the terminal and you can get a list of connected devices, look for the one with B8 in it, example: 192.168.4.5 @ B8... will be the raspberry pi IP.

Tuxpilgrim
2018-07-13 21:22:39 UTC
view on stackexchange narkive permalink

我在Android智能手機上使用免費的 Fing應用。它掃描網絡並按類型顯示連接的設備,包括Raspberry Pi,以及掃描可用的端口。方便查看SSH,Web或VNC是否已啟用並正在運行。

FreshTendrils
2015-05-07 18:46:07 UTC
view on stackexchange narkive permalink

如果運行MacOS,請使用 PiFinder,它是一個可告訴您網絡上Raspberry Pi的IP的應用程序。

FLBKernel
2018-01-09 16:45:24 UTC
view on stackexchange narkive permalink

或者您可以通過瀏覽器訪問路由器並找到您的android設備-幾乎每個路由器GUI都有一項服務,您可以在其中檢查當前連接到網絡的所有設備。

Wolf
2014-02-27 21:32:52 UTC
view on stackexchange narkive permalink

將以下內容複製到您的終端機/控制台/外殼中:

  for i in $(jot-1254);做ping -t 1 192.168.1。$ i && arp -a |切-f 2,4 -d“” | tr [:lower:] [:upper:] | grep B8:27:EB;完成 

請為您的個人網絡調整 192.168.1。

輸出看起來像這樣:

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

192.168.1.109將是您的Raspberry Pi的IP ...:)

linuxgnuru
2016-08-16 23:11:21 UTC
view on stackexchange narkive permalink

使用全新安裝的NOOBS或Raspbian時,默認主機名是“ raspberrypi”,在某些網絡配置中(例如,如果正在使用和配置mDNS),則可以使用“ raspberrypi.local”。另一種選擇是運行 arp -a 並查找raspberrypi

注意:這不適用於每個實例。

這個答案似乎混淆了幾件事:不同的IP版本,DNS,也許還有mDNS。通常是否可以使用.local並不取決於IPv6,也不取決於是否存在路由器。如果提供了mDNS支持,則pi-name.local可以解析為IPv6,否。一些家用路由器還使用.local作為其本地DNS域,這又獨立於IPv6並取決於路由器型號。某些家用路由器使用不同的域,例如pi-name.fritz.box。
darsie
2017-10-29 19:16:25 UTC
view on stackexchange narkive permalink

將其放在您的Web服務器上的pi.php中:

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

您可能必須在具有Web服務器寫入權限的Web服務器上創建文件pi。

在/ etc / rc中

Put

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

通過瀏覽 http:// yourwebserver / pi

來獲取pi的IP。
NomadMaker
2018-07-13 22:27:30 UTC
view on stackexchange narkive permalink

我的路由器為新發現的系統分配了一個以192.168.1.2開頭的ip地址。一天,我瀏覽了家裡的每個系統,並為它們保留了地址。

這樣,當我創建一個新系統時,其ip地址很可能是192.169.1.18。

使用串行控制台的另一種方法。您可以使用串行終端程序來登錄樹莓派。我建議使用速度(波特率)為115,200的8N1(8位,無奇偶校驗位,1個停止位)設置。您需要一個USB到串行(3V3)連接器。

Andy Anderson
2018-07-13 22:49:43 UTC
view on stackexchange narkive permalink

在Android上為“ Fing”或“ Net Analyzer”。顯示整個網絡。

Kar.ma
2020-04-29 18:44:48 UTC
view on stackexchange narkive permalink

如果您在Windows上,建議您嘗試使用此腳本。它主要基於“ arp -a”命令,但是它可以節省一些額外的挖掘工作,並且當Raspberry不在Arp表中時可以為您提供幫助

創建具有以下內容的文本文件,並將其重命名為 find_raspberry_pi.bat

  @echo off ::此腳本從以下位置運行Windows(10)機器上,在本地網絡上找到Raspberry Pi。set raspIp = set myip = set subnet = ::為/ f“ tokens = 1-2 delims =:” %% a在('ipconfig ^ |找到“ IPv4”'),請為本地PC設置myip = %% bset myip =%myip:〜1%echo IP:%myip%::為/ l %% a中的/ l %% a獲取子網集子網=%myip%setlocal enabledelayedexpansion 1,31)如果不是“!subnet:〜-1!” ==“。 set subnet =!subnet:〜0,-1!set subnet =%subnet:〜0,-1%setlocal disableelayedexpansion echo子網:%subnet%echo。:top ::遍歷arp表項並查找Raspberry Pi的MAC地址/ f“ tokens = 1”('arp -a ^ | findstr b8-27-eb')中的%% f如果(%raspIp%“ ==”“則做(設置raspIp = %% f)(回顯發現網絡。 .. ::將(1,1,254)中的/ L %% N從1到254的ping子網中的所有IP都啟動/ b ping -n 1 -w 200%subnet%。%% N >nul超時1 >nul goto:top )else(echo IP為%raspIp%的找到的Raspberry PI)echo.pause  

免責聲明

  1. 我不是原始腳本的作者,我只是對其進行了一些修改,使其可以與Raspberry Pi一起使用。不幸的是,我找不到原始的貢獻者。
  2. 它不是防彈的,如果開始掃描的子網不正確,它將無法正常工作。
  3. ol>

    仍然,我使用了很多次,這是一個簡單的解決方案

Scott Prive
2020-06-09 16:50:56 UTC
view on stackexchange narkive permalink

在2020年,已接受的答案不再起作用,因為Raspberry Pi附帶了不同範圍的MAC地址。我可以只添加“新” MAC作為註釋,但是每個模型的字符串可能會一次又一次地更改。

  $ sudo nmap -sP 192.168.150.0/24 | grep'Raspberry Pi Trading'-B2Nmap掃描報告pi4-01.lan(192.168.150.186)主機已啟動(延遲為0.037秒).MAC地址:DC:A6:32:1B:35:6A(Raspberry Pi Trading) 

上面的主要區別:我們不假設一個MAC模式,我們只將grep用作(摘要),因為此標籤由 nmap 本身提供。由於 nmap 會不斷更新,因此它包含Raspberry Pi MAC地址的內部表(或使用其他條件進行檢測),我們可以假定它將繼續起作用。

注意::如果您的掃描未識別出您知道的所有網絡上的Pi,請重複掃描-最多進行10次。具有網絡 Power Management:on 的Pi可能並不總是響應掃描。

如果您要在局域網上掃描多個Pi,則電源管理可能對您來說是個問題,因為重複掃描可能會檢測到一個 Pi,而不會檢測到另一個 。在這種情況下,重複掃描以查找差異。 (要確認Pi是否啟用了電源管理,請SSH到Pi並運行: / sbin / iwconfig wlan0 | grep Management

javirs
2014-02-24 19:42:38 UTC
view on stackexchange narkive permalink

我認為您無法連接到PI,否則您將知道其IP。

如果轉到路由器頁面(通常在瀏覽器中為192.168.1.1之類的內容),則應該有一個部分中已連接的設備。您可以嘗試插入和拔下PI(並且一台設備應該出現在列表中/從列表中消失)

Seamus
2020-08-28 01:07:45 UTC
view on stackexchange narkive permalink

請首先嘗試:

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

兩個十六進製字符串( b8:27:eb | dc:dc:a6:此命令中的32 )反映了“基金會”用於生產所有RPi設備的兩個 OUI值-截至撰寫本文時,通過RPi ver 4B。如果您的RPi不在您的 arp緩存 中,此命令將不會產生任何有用的信息。如果是這樣,請在您喜歡的編輯器中創建以下文件,並將其保存/寫入為 pingpong.sh

 #!/ bin / sh:$ {1?“用法:要掃描的$ 0 ip子網。例如'192.168.1。'”} subnet = $ 1 for`seq 0 1 255`中的地址; do(ping -c 3 -t 5 $ subnet $ addr > / dev / null)&donearp -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),位於en0的b8:27:eb:1:2:3 ifscope [ethernet]上的dc:a6:32:2:3:4上位於dc:a6:32:2:3:4的ifscope [ethernet] raspberrypi4b.local(192.168.1.184) 

在這種情況下,主機名由mDNS。如果您沒有/不使用mDNS / avahi / etc,則主機名將替換為字符:



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...