【问题标题】:Receiving TCP data from WiFi Scales从 WiFi 电子秤接收 TCP 数据
【发布时间】:2012-07-15 08:35:36
【问题描述】:
我实际上是在尝试利用现有的 WiFi 规模并开发一个程序来处理接收到的数据。我正在查看的秤有现有的软件,理想情况下,在这个项目结束时,我会用我自己的软件替换他们的软件。我过去开发了一些基本的网络通信程序,但对于这个项目,我可能需要了解设备和 PC 是如何通信的。
我之前没有真正使用过 Telnet 或 PuTTy,但是否可以使用这些程序来监听连接并显示所有传入和传出数据?
这是我正在查看的比例 http://www.withings.com/en/bodyscale
我希望他们使用 HID-Point of Scale
【问题讨论】:
标签:
networking
tcp
listen
【解决方案1】:
PuTTY 是 Windows 的 SSH 客户端。您无法使用 PuTTY 监听流量。
Telnet 是一个 Telnet 客户端。您可以与客户端连接到 TCP 端口并与具有纯文本协议的服务进行通信。我想 telnet 在你的情况下也没有用。
在这种情况下,嗅探和流量分析是一个坏主意。但如果你愿意,你可以使用 tcpdump、tshark、wireshark 等来实现。
据我了解,bodyscale 使用一些基于 Web 的 API 将其数据直接重新传输到 Web 服务。我想您以后可以从服务中获取这些数据(在它们被重新传输之后)。
【解决方案2】:
查看了他们的用户指南以了解规模,您似乎无法设置规模与之通信的服务器,并且似乎没有消息规范/API 文档的迹象,其中详细说明了协议的协议规模会谈。这会让事情变得更复杂一些。
我首先设置 Wireshark 并嗅探电子秤执行的通信。然后你可以解码它使用的协议,这可能很简单。您可以编写一个理解该协议的服务器。最后一步是让天平与您的服务器而不是他们的服务器对话;这可能需要您设置自己的 dns 服务器并解析秤尝试连接的域名,以便它指向您运行服务器的机器。
另一种方法是使用 WinPcap(或类似软件)编写自定义数据包分析/捕获程序,然后仅嗅探秤与其服务器之间的通信,并编写您自己的数据收集器/处理器来处理嗅探数据。
他们可能会提供一个 API,您可以使用该 API 在您的电子秤上传数据后从他们的服务器/站点中提取数据,这可能是最好的解决方案。