我正在尝试masterQueue
为 Chromecast 制作一个。它将启用应用程序间排队。我对一些网络基础知识感到困惑。我使用的是较旧的cast sdk,因为它提供了Java API。
它可能非常模糊,可能不适合本网站,但如果您能为我指出正确的方向,我将不胜感激。
我目前所做的:
我用过这个代码
我认为我的 chromecast 在
10.0.0.x
port 上运行并打开8089
。
我可以做什么来听取所有向 . 提出的演员请求10.0.0.x:8089
。我想将请求存储在队列中并继续轮询和播放,直到队列为空。
我执行了以下命令以获得更多见解:
Aakashs-MacBook-Pro:~ aakashshah$ sudo lsof -n -P -i :8009
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Google 614 aakashshah 149u IPv4 0x3837229g56402e0d 0t0 TCP 10.0.0.xxx:64416->10.0.0.xx:8009 (ESTABLISHED)
Google 614 aakashshah 315u IPv4 0x3837224598nnfe0d 0t0 TCP 10.0.0.xxx:64411->10.0.0.x:8009 (ESTABLISHED)
java 84205 aakashshah 22u IPv6 0x3837229f49a79725 0t0 TCP 10.0.0.xxx:49562->10.0.0.x:8009 (ESTABLISHED)
java 84205 aakashshah 24u IPv6 0x3837229f49a7a2a5 0t0 TCP 10.0.0.xxx:49563->10.0.0.x:8009 (ESTABLISHED)
上面的结果10.0.0.xxx
是我的IP地址。我想持续监听这个端口并查看 chromecast 上发出了哪些请求。
我也想明白10.0.0.xxx:64411->10.0.0.x:8009 (ESTABLISHED)
特别是什么意思10.0.0.xxx:64411->10.0.0.x:8009
。 64411端口有什么作用?我猜测它是我的路由器上可用的免费端口。所以它用它来与 chromecast 对话。
我可以反向代理/端口转发/反向收听某些内容吗通过 8009 提出的请求超过其他一些自由港?
登陆此后我试图了解 mDNS页
答案1
1) 无需混淆10.0.0.x
地址:这些是私有 IP 范围地址,永远不会公开可见。
2) 你不能“监听对 10.0.0.x:8089 发出的所有请求”:Chromecast 将在内部存储这些请求,除非 Chromecast 有这方面的调试代码,否则无法让它吐出这些请求。但是你可以
2a) 用于wireshark
嗅探所有交换的网络流量;请求将成为其中的一部分
2b) 使用接受不同地址上的请求并转发它们的代理。然后就可以查询代理了。一个非常简单的代理可能可以作为第一个近似来实现socat
,但你不能查询socat
......
3)TCP 10.0.0.y:64411->10.0.0.x:8009 (ESTABLISHED)
表示拥有 IP 地址的主机已在主机上的端口到端口之间10.0.0.y
建立了 TCP 连接(一种通过字节流进行可靠的有状态通信的方法);其中之一是您的本地计算机。64411
8009
10.0.0.x
4)从您提出的问题来看,您可能需要一些时间才能编写代理队列。我建议用谷歌搜索网络教程,用套接字编写一些基本的 C 程序,玩弄wireshark
,玩弄socat
等等。这可能会花费你几周的时间。一旦您熟悉了基础知识,您就可以尝试自己编写代理。