陈拓 [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系统为例。
- 登录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!