Bootstrap

树莓派的IP地址查找

陈拓 [email protected] 2020/10/19-2020/10/21

1. 概述

在《电脑连接树莓派3B+》https://blog.csdn.net/chentuo2000/article/details/103332186

和《树莓派修改HostName》

https://zhuanlan.zhihu.com/p/266689387

两篇文章中我们介绍了电脑用SSH通过主机名Host Name连接树莓派的方法。

用IP地址连接树莓派更快一些,但局域网一般都使用动态IP地址,每次开机启动获取的IP地址不一样,下面分别在Windows系统下和在Linux系统下获取树莓派当前IP地址的方法。

2. Windows系统

  • 记录树莓派的MAC地址

第一次使用树莓派时记录下这个树莓派的MAC地址

ifconfig

树莓派的MAC地址是b8:27:eb:ae:9d:c3

  • 打开COM窗口

按“Win + R”快捷键,在打开的“运行”对话框中,输入“cmd”后按回车键。

  • 查本机IP

ipconfig /all

我的PC是通过WiFi接入局域网的,所以查看“无线局域网适配器 WLAN”。

  • 查本网段活跃的IP

知道了本机所在的网段,再将本网段所有IP地址轮询ping一遍。

for /L %i IN (1,1,254) DO ping -w 2 -n 1 192.168.1.%i

等待几分钟,命令处理完成后在cmd命令窗口输入arp -a

这就是当前本网段所有活跃的IP地址。

我的树莓派的MAC地址是b8:27:eb:ae:9d:c3,所对应的IP地址为:192.168.1.37

测试一下:

  • 用PuTTY或Windows 10自带的ssh客户端登录树莓派

我们用Windows自带的ssh登录:

成功!

3. Linux系统

以Ubuntu系统为例。

  1. 登录Linux系统

可以用主机名Host Name登录,也可以用IP地址登录。

我的主机名为xxxx,用户名是ct。用主机名登录:

ssh ct@xxxx

  • 查看系统版本

uname -a

  • 查本机IP

如果是用主机名登录的,不知道IP,可以用ifconfig命令查询:

  • 清除网络接口enp1s0的arp

sudo ip neigh flush  dev enp1s0

  • 查本网段活跃的IP

知道了本机所在的网段,再将本网段所有IP地址轮询ping一遍。和Windows的arp缓存只保存当前活跃的IP不同,Linux的arp缓存中也保存了不活跃的IP,这样arp表就太大,会丢失一些缓存值,所以我们分段轮询ping本网段的IP地址。

先ping 1到63:

for i in {1..63}; do ping -c1 -q -i0.3 -w2 -n 192.168.1.$i; done;

等待几分钟,命令处理完成后查看arp缓存表:

cat /proc/net/arp

可以看到已经有MAC地址b8:27:eb:ae:9d:c3对应的IP地址192.168.1.37。

  • 用Ubuntu自带的ssh客户端登录树莓派

OK!

;