我在嗅探 ESP8266 时遇到了问题。我使用 raspberry pi 3 作为 wifi 接入点(未使用 wpa),使用笔记本电脑作为服务器,并使用 esp 与服务器通信。
当我在 raspberry 上使用 tcpdump 时,
tcpdump -i <interface> host <device ip> -vv
输出仅通过 esp(arp 协议)的初始启动实现,仅此而已。但是,我需要 http 类型和内容/日期来实现我的目的。
你们有人有解决这个问题的办法吗?
编辑 好的,我找到了一个通过使用 iptables 的解决方案。我可以定义一个到特定端口的预路由,并在 tcpdump 的帮助下监听它。这真的很方便,我想我可以得到我需要的所有数据。
答案1
两个 WLAN 客户端之间的流量可能由驱动程序直接转发,在这种情况下永远不会到达接口,这就是您看不到它的原因。我不知道是否可以将 AP 点设置为此流量也可见的模式。
一种解决方案,两种用途二AP,一个用于 ESP8266,一个用于笔记本电脑/服务器,并在它们之间明确转发。
编辑
如果您不仅想使用 等进行捕获tcpdump
,wireshark
还想使用 检查和修改 HTTP 流量mitmproxy
,那么这取决于:
您能否通过配置或环境变量告诉所有相关的 ESP8266 应用程序使用 RaspPi 作为代理?如果是,一个 AP 就足够了。
您是否需要一个透明代理,即使您不能/无法配置显式代理设置,它也能正常工作?那么您需要两个 AP(或 WLAN + LAN,或 2x LAN)。没有办法解决这个问题。因为否则,ESP8966 和服务器之间的任何通信都不会离开接口,因此mitmproxy
看不到它。