树莓派无线上网时无屏幕下发现树莓派IP的方法
假设你是一个linuxer
,我们就不想假设你是windowser
了,因为windowser一般都会买一个屏幕的,因为会完全会不习惯命令行界面的操作,毕竟Windows是没有屏幕会死星系统
好,我们先假设了你是Linuxer,然后
第一种情况:
又没钱买树莓派的显示器,然后,只有家里接宽带留下了的一根网线和上网用的无线路由,怎么知道树莓派ip?
这时候你只要用网线将树莓派连到无线路由LAN借口,登录无线路由的用户管理界面,一般是
192.168.0.1
或者是
192.168.1.1
然后就可以看到一个不是你PC的IP,那就是你的树莓派的IP了
有的人要说, 用ifconfig, 这不是扯淡么? 你都登录不了, 在哪里执行ifconfig ? 我建议的方法:
1.从路由器上看(麻烦)
2.直接写个程序,循环遍历192.168.1.1—192.168.1.255,我就是这么搞的, 每次connect探测的超时时间是100ms,很快就找出树莓派ip地址了,如下:
搞定。
第二种情况
穷大学生,第一次想学习嵌入式,省吃俭用买了一块树莓派,然后就一跟网线,怎么知道树莓派的IP
TCP/IP协议里有一种为了使局域网内的IP地址映射到MAC地址的协议叫ARP
说道这里,懂门道的同学就知道怎么弄了,不懂的也没事,我们继续
ARP协议是为了局域网内的第一次通信服务的,各台主机都会轮询一遍IP地址,有这个IP地址的主机根据ARP协议要将自己的MAC地址发送给发起ARP轮询的主机
然后我们就利用这个
我这里是debian用户,其他red-hat系的同学自行装换一下命令
输入
sudo apt-get install arp-scan
然后装一个这种小软件
然后这里,注意一下
使用arp-scan要是在root模式下
所以
sudo arp-scan -interface eth0 --localnet
-interface
选项指明要使用的网口,我们这里是有线网口eth0,即以太网 Ethernet 的缩写
--localnet
是指明我们要在局域网的网段内使用ARP协议
IP地址不是分为ABCD四段嘛,我们只在局域网的网段内使用ARP,比如:
你的PC局域网IP地址是192.168.1.9,子网掩码是255.255.255.0
然后arp-scan
根据这个就只会在网段 192.168.1.0/24内遍历IP地址发送ARP包,也就是192.168.1.2-192.168.1.254
然后等一会,树莓派的IP就会出来了,然后使用这个IP就可以ssh了
ssh -l pi x.x.x.x
然后输入密码
raspberry
ok,登录树莓派成功
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对ZaLou.Cn的支持。如果你想了解更多相关内容请查看下面相关链接
- Mysql字符串截取总结:left()、right()、substring()、substring_index()
- c++程序的内存格局
- SpringMVC中利用@InitBinder来对页面数据进行解析绑定
- 门罗盘点:2017年那些AI击败人类的瞬间
- sizeof和strlen的区别
- mysql索引使用技巧及注意事项
- 条码支付新规,微信支付宝还好么?
- 获取对象属性类型、属性名称、属性值的研究:反射和JEXL解析引擎
- 不联网不插U盘也不一定安全 黑客能用声波攻击你的硬盘
- 解决xcode打开时loading假死的问题
- 深度学习之DNN与前向传播算法
- AI世代高速运算需求增 半导体新材料趁势崛起
- 数组中出现次数超过一半的数字
- 用C来实现内存池
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python 技术篇-莉莉机器人api调用方法,实例演示。免费的机器人
- Hugo Travis 完结!
- 【Python】秀儿!两行代码制作你的专属动态二维码
- Windows 技术篇-网卡物理(MAC)地址查看方法
- Go使用工厂方法实例结构体
- Java交互界面实现计算器开发设计【附函数源码】
- Python 技术篇-读取本地文件的字节数
- Golang Flag包的参数格式问题
- Python 技术篇-对音频、图片等文件进行base64编码和解码
- 图片:“给你五十行代码把我变成字符画!” 程序:“太多了,一半都用不完!”
- HTML布局标记和列表标记
- 使用frp搭建内网穿透
- CNS图表复现03—单细胞区分免疫细胞和肿瘤细胞
- C#记事本项目开发,一个可以实现批量操作的记事本!【附源码】
- Python 库引用问题:name 'json' is not defined,原因及解决办法