ฉันต้องการค้นหาที่อยู่ IP Raspberry PI บนเครือข่ายท้องถิ่นโดยไม่ต้องเชื่อมต่อ Raspberry กับจอภาพ ฉันจะทำมันบนระบบ Linux หรือ Mac OS ได้อย่างไร
ฉันต้องการค้นหาที่อยู่ IP Raspberry PI บนเครือข่ายท้องถิ่นโดยไม่ต้องเชื่อมต่อ Raspberry กับจอภาพ ฉันจะทำมันบนระบบ Linux หรือ Mac OS ได้อย่างไร
คำตอบ:
ราสเบอร์รี่อุปกรณ์ทั้งหมดที่อยู่ MAC เริ่มต้นด้วยB8: 27: EB
ดังนั้นบนระบบ* nixสิ่งนี้สามารถทำได้โดยการรันคำสั่งต่อไปนี้:
sudo 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 เป็นที่อยู่ IP Raspberry Pi ในเครือข่ายของคุณ
หากคุณใช้ระบบ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}'
sudo nmap -p 22 --open -sV 192.168.0.0/24
ต่อการโพสต์ของผู้ชายคนนี้
หากคุณใช้ MacOS หรือ Linux ลองสิ่งนี้:
$ arp -na | grep -i b8:27:eb
บน windows คุณสามารถใช้:
arp -a | findstr b8-27-eb
arp -n | awk '/b8:27:eb/ {print $1}'
ตอนนี้
ฉันใช้ mDNS / Bonjour เพื่อให้ Pi ชื่อท้องถิ่นของฉันเช่น pi.local ฉันไม่จำเป็นต้องรู้ว่ามันคือที่อยู่ IP และมันใช้งานได้กับทางลัดและเมื่อคุณต้องฝังลิงก์ ...
/etc/hosts
ท้องถิ่นเพื่อรับฟังก์ชั่นนี้บนเดสก์ท็อปของฉันนี่เป็นทางออกที่ดีกว่ามาก! ขอบคุณมากสำหรับตัวชี้!
หากคุณต้องการใช้แอปพลิเคชัน GUI คุณสามารถใช้Yakala
เครื่องมือ ( https://github.com/mozcelikors/yakala ) สำหรับ Debian / Ubuntu เครื่องมือนี้ช่วยคุณไม่เพียง แต่ค้นหาเครือข่าย Type B และ Type 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
ข้อจำกัดความรับผิดชอบ:ฉันเป็นผู้สร้างของ Yakala ข้อเสนอแนะ / ข้อบกพร่องใด ๆ ที่จะดำเนินการอย่างจริงจังมาก
โดยค่าเริ่มต้นชื่อของราสเบอร์รี่คือ raspberrypi คุณสามารถเพียง 'ping raspberrypi' และ ICMP echo reply จะให้ที่อยู่ IP แก่คุณ มันใช้งานได้สำหรับฉัน ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ DHCP สามารถเข้าถึงได้เนื่องจาก NIC ของราสเบอร์รี่เป็นค่าเริ่มต้นในโหมดไคลเอนต์ DHCP มิฉะนั้นราสเบอร์รี่จะได้รับที่อยู่ APIPA
ใน linux และ MAC คุณยังสามารถพิมพ์ "arp - a" ในเทอร์มินัลและคุณสามารถรับรายการอุปกรณ์ที่เชื่อมต่อค้นหาอุปกรณ์ที่มี B8 ในนั้นตัวอย่างเช่น 192.168.4.5 @ B8 ... จะเป็น IP ราสเบอร์รี่
หรือคุณสามารถเข้าถึงเราเตอร์ของคุณผ่านเบราว์เซอร์และค้นหาอุปกรณ์ android ของคุณ - เกือบทุก GUI ของเราเตอร์มีบริการที่คุณสามารถตรวจสอบอุปกรณ์ทั้งหมดที่เชื่อมต่อกับเครือข่ายของคุณ
หากคุณใช้ MacOS ให้ใช้PiFinderเป็นแอปพลิเคชั่นที่จะบอกคุณถึง IP ของ Raspberry Pi บนเครือข่ายของคุณ
ฉันใช้แอพFingฟรีในสมาร์ทโฟน Android ของฉัน มันสแกนเครือข่ายและแสดงอุปกรณ์ที่เชื่อมต่อตามประเภทรวมถึง Raspberry Pi รวมถึงการสแกนพอร์ตที่มี สะดวกในการดูว่าเปิดใช้งาน SSH, เว็บหรือ VNC แล้วหรือยัง
คัดลอกสิ่งต่อไปนี้ลงใน Terminal / Console / Shell:
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 จะเป็น IP ของ Raspberry Pi ของคุณ… :)
ใส่สิ่งนี้ใน pi.php บนเว็บเซิร์ฟเวอร์ของคุณ:
<?php
$fp = fopen('pi', 'w');
fwrite($fp, $_REQUEST['ip'],1000);
fclose($fp);
?>
คุณอาจต้องสร้างไฟล์ pi บนเว็บเซิร์ฟเวอร์ของคุณด้วยสิทธิ์การเขียนสำหรับเว็บเซิร์ฟเวอร์ของคุณ
ใส่
curl http://yourwebserver/pi.php -d ip=`hostname -I`
ใน /etc/rc.local บน pi ของคุณ
รับ IP ของ pi ของคุณโดยไปที่http: // yourwebserver / pi
เมื่อใช้การติดตั้งใหม่ของ NOOBS หรือ Raspbian ชื่อโฮสต์เริ่มต้นคือ "raspberrypi" และในการกำหนดค่าเครือข่ายบางอย่าง (เช่นถ้า mDNS ใช้งานอยู่และกำหนดค่า) คุณสามารถใช้ "raspberrypi.local" อีกตัวเลือกหนึ่งคือเรียกใช้arp -a
และค้นหา raspberrypi
หมายเหตุ: วิธีนี้ใช้ไม่ได้กับทุกอินสแตนซ์
.local
สามารถใช้งานได้หรือไม่นั้นขึ้นอยู่กับ IPv6 และไม่ได้มีเราเตอร์อยู่ด้วย เมื่อรองรับ mDNS แล้ว pi-name.local จะแก้ไข IPv6 หรือไม่ โฮมเราเตอร์บางตัวยังใช้. local เป็นโดเมน DNS ภายในเครื่องอีกครั้งสิ่งนี้ไม่ขึ้นอยู่กับ IPv6 และขึ้นอยู่กับรุ่นของเราเตอร์ โฮมเราเตอร์บางตัวใช้โดเมนที่ต่างกันเช่น pi-name.fritz.box
เราเตอร์ของฉันกำหนดระบบที่อยู่ IP ที่ค้นพบใหม่เริ่มต้นที่ 192.168.1.2 ตามลำดับ ฉันผ่านทุกระบบในบ้านของฉันในวันหนึ่งและที่อยู่ที่สงวนไว้สำหรับพวกเขา
ด้วยวิธีนี้เมื่อฉันสร้างระบบใหม่โอกาสที่ไอพีแอดเดรสของมันจะเป็น 192.169.1.18
อีกวิธีในการใช้ซีเรียลคอนโซล คุณสามารถใช้โปรแกรมเทอร์มินัลอนุกรมเพื่อเข้าสู่ระบบ raspberry pi ของคุณ ฉันขอแนะนำให้ใช้การตั้งค่า 8N1 (8-bit, parity bit, 1 stop bit) ด้วยความเร็ว (baud rate) 115,200 คุณต้องใช้ตัวเชื่อมต่อ USB เป็นอนุกรม (3V3)
ฉันคิดว่าคุณไม่สามารถเชื่อมต่อกับคุณ PI มิฉะนั้นคุณจะรู้ว่า IP ของมัน
หากคุณไปที่หน้าเราเตอร์ของคุณ (โดยปกติแล้วจะเป็น 192.168.1.1 ในเบราว์เซอร์ของคุณ) คุณควรมีส่วนที่มีอุปกรณ์ที่เชื่อมต่ออยู่แล้ว คุณสามารถลองเสียบและถอดปลั๊ก PI ได้ (และอุปกรณ์หนึ่งอันควรปรากฏขึ้น / หายไปจากรายการ)
'Fing' หรือ 'Net Analyzer' บน Android แสดงเครือข่ายทั้งหมดของคุณ