C#解码二进制网络套接字框架

问题描述 投票:0回答:1

实际上我正在尝试分析 firefox (websocket wss) 和网站之间的通信,以便通过我的 PHP 脚本模拟客户端。首先,我试图通过套接字检查器读取所有套接字,但它是 TLS 加密的(否则就太容易了哈哈)。

使用 MITM 代理,我现在可以解密所有流量,包括网络套接字 (wss),但不幸的是它似乎是二进制数据,我无法解码它。

/ 编辑:需要明确的是,由于 MITM 代理,TLS 在 att 上不是问题,主要问题是网络套接字框架是用二进制编码的,我正在尝试将其翻译成字符串(/人类可读文本)来了解和阅读我的浏览器和服务器之间的对话

通过使用 C#,我尝试解码字符串中的二进制文件,但它似乎根本不起作用。

String sourceHex = "000000000000000000746a2a35e11296a3da439c0a31337fc6";
        
string[] bytes = sourceHex.Select((x, i) => new { 
       x = x, index = i 
}).GroupBy(x => x.index / 2).Select(x => x.First().x.ToString() + x.Last().x.ToString()).ToArray(); 

byte[] results = bytes.Select(x => byte.Parse(x, System.Globalization.NumberStyles.HexNumber)).ToArray(); 
        
results = results.Select(x => (x < 0x20 || x >= 0x80) ? (byte)46 : (byte)x).ToArray();

string message = Encoding.UTF8.GetString(results);

File.WriteAllText(@"string.txt", message);

输出:

有人知道如何解码(/解密)firefox 和网站之间的帧吗?如果您在 github 或其他网站上找到了方法的开始,请不要犹豫,因为我没有成功搜索它。

我尝试了 wireshark 但没有成功,FiddlerClassic 和 C# 也没有成功,我不得不承认我被阻止了。

感谢阅读,祝你度过愉快的一周 恭敬地

c# sockets tcp binary frame
1个回答
-2
投票

你设法解决了这个问题吗? 我有同样的问题,不知道将其编码为可读文本

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.