V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
sandtears
V2EX  ›  问与答

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

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


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


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

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

    arp -a 获得的并不全,只有曾经发过 arp 请求的才能检查到
    rrfeng
        14
    rrfeng  
       2014-07-29 21:21:41 +08:00
    做个程序,自动广播 IP
    dorentus
        15
    dorentus  
       2014-07-29 23:08:14 +08:00   ❤️ 1
    我用 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
        16
    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
        17
    dorentus  
       2014-07-29 23:13:36 +08:00
    @dorentus

    在评论里,直接用 WinRAR 应该是可以把 iTunes.msi 解开然后找到 Bonjour for Windows 的安装程序。
    dorentus
        18
    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
        19
    tjmao  
       2014-07-29 23:18:29 +08:00
    给你的派和电脑分别多配一个静态的IP地址,地址段自己挑。
    zoombut
        20
    zoombut  
       2014-07-30 09:03:21 +08:00   ❤️ 1
    nmap -sP Ip段
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2937 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 14:14 · PVG 22:14 · LAX 06:14 · JFK 09:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.