有没有什么能够用来发现网络内某个设备的软件?

2014-07-29 16:54:19 +08:00
 sandtears
比如我有一个树莓派,上面部署了一些服务,我希望能随时使用。
因为经常要在外上网,无法设置 static 的 IP 地址,所以只能设置成 DHCP
但是每次开机之后我就不知道树莓派的 IP 了,每次都插个显示器太不现实了。
所以想问一下有没有通过网络发现设备的软件?
4842 次点击
所在节点    问与答
20 条回复
pheyx
2014-07-29 16:59:12 +08:00
试试fing .可以跑在ios和android 下
izoabr
2014-07-29 17:01:20 +08:00
按说你开启netbios协议的话,直接ping主机名就能解析到IP,这是现成的。
如果说要更高级一点,那就在树莓派上写个小脚本,把自己的IP POST去互联网。给你发个邮件也行。
甚至可以更脱裤子一点,让它自己有新IP的时候去发个微薄,哈哈。
后面两个前提是要能访问互联网哦。
nijux
2014-07-29 17:05:49 +08:00
sandtears
2014-07-29 17:21:06 +08:00
@izoabr 我现在用的就是后面的方法,自动通过 API 改 dnspod 的记录,但是有些地方,比如我们学校,需要登录才能联网,就比较麻烦了。。。


@pheyx 看了一下, 这个不是我需要的,这个是发现 WiFi 信息的。


@nijux 多谢,这个看起来蛮靠谱,我去试试。
pmispig
2014-07-29 17:24:35 +08:00
为什么不用能用静态地址?难道你的pi上面用的ppp拨号直接获取公网IP?如果是这样,可以考虑让它自动发送一个包含IP地址的邮件给你你可以了

我家的pi连的路由器,我都是直接给它设置一个静态地址。
sandtears
2014-07-29 17:30:28 +08:00
@pmispig 我有时候需要带到不熟悉的网络环境中使用,比如酒店之类的,不知道网关设置什么的。而且有些地方比较蛋疼,需要登录才能上网,所以联网的方法也有局限性
jedyu
2014-07-29 17:37:49 +08:00
SSDP
knightluffy
2014-07-29 17:48:53 +08:00
@jedyu SSDP好像跨网段之后就没法获取到了。。
freefcw
2014-07-29 18:26:03 +08:00
arp如何
jasontse
2014-07-29 18:50:20 +08:00
arp -s
jasontse
2014-07-29 18:52:31 +08:00
手滑按错然后直接发出去了。。应该是
# arp -a
lujjjh
2014-07-29 20:20:02 +08:00
UPnP 协议貌似就是用来干这个的吧
sandtears
2014-07-29 20:51:48 +08:00
@freefcw
@jasontse

arp -a 获得的并不全,只有曾经发过 arp 请求的才能检查到
rrfeng
2014-07-29 21:21:41 +08:00
做个程序,自动广播 IP
dorentus
2014-07-29 23:08:14 +08:00
我用 Multicast DNS 来解决这个问题:
1) 在树莓派上按照并开启 avahi-daemon 服务(apt-get install avahi-daemon)
2) Mac 和 iOS 的话不用装东西
3) Windows 的话装 Bonjour for Windows(好久没装过了,似乎是这个 URL: http://support.apple.com/kb/DL999

然后设置好树莓派的 hostname(我一般是把它写在 /etc/hostname 里面,然后运行一下 hostname -F /etc/hostname),例如叫 pie,那么在其它机器上就可以用 pie.local 这个域名来访问树莓派了。

# 参考资料
- https://en.wikipedia.org/wiki/Multicast_DNS
- https://en.wikipedia.org/wiki/Avahi_(software)
- https://en.wikipedia.org/wiki/Bonjour_(software)
dorentus
2014-07-29 23:12:06 +08:00
@dorentus

上面的 Bonjour for Windows URL 里面是旧版的,新的在装了 iTunes for Windows 后自动可用。

http://superuser.com/a/491750/182908 这里有个方法可以从 iTunes for Windows 安装包里面提取最新的 Bonjour for Windows 安装程序,于是可以不装 iTunes 而单独装 Bonjour for Windows。
dorentus
2014-07-29 23:13:36 +08:00
@dorentus

在评论里,直接用 WinRAR 应该是可以把 iTunes.msi 解开然后找到 Bonjour for Windows 的安装程序。
dorentus
2014-07-29 23:15:22 +08:00
@dorentus

有苹果开发者账号的话,也可以在 https://developer.apple.com/downloads/index.action?q=Bonjour%20SDK%20for%20Windows 这里下载到 SDK,里面应该也是有安装包的。

另外这东西是开源的,在苹果的 Open Source 网站里面有源码……
tjmao
2014-07-29 23:18:29 +08:00
给你的派和电脑分别多配一个静态的IP地址,地址段自己挑。
zoombut
2014-07-30 09:03:21 +08:00
nmap -sP Ip段

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/125102

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX