如何偵聽在開放埠上發出的請求
我正在嘗試
masterQueue
為 Chromecast 製作一個。它將啟用應用程序間排隊。我被一些網路基礎知識所困。我使用的是較舊的 cast sdk,因為它提供了 Java API。它可能非常模糊,可能不適合這個網站,但如果你能指出我正確的方向,我將不勝感激。
到目前為止我做了什麼:
- 我用過這段程式碼
- 我認為我的 chrome cast 執行
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
無需混淆
10.0.0.x
地址:這些是私有 IP 範圍地址,永遠不會公開可見。您不能“監聽對 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)根據您提出的問題,您可能需要一些時間才能編寫代理隊列。我建議Google搜尋網路教程,用套接字編寫一些基本的 C 程序,玩弄
wireshark
,玩弄socat
等等。這可能需要你幾個星期。一旦您對基礎知識更加熟悉,您可以嘗試自己編寫代理。