我有几个linux路由器设置可以嗅探附近的流量。他们打开套接字以便通过tcp连接应用程序,通过套接字数据以二进制流式传输。
我已经构建了一个简单的应用程序来检查数据是否正在接收,但它是否已经过时了。好像二进制文件没有被正确解码。有没有人有任何线索?
try
{
TcpClient ourMagicClient = new TcpClient();
ourMagicClient.Connect("192.168.0.101", Port);
NetworkStream ourStream = ourMagicClient.GetStream();
byte[] data = new byte[ourMagicClient.ReceiveBufferSize];
int offset = 0;
for (int i = 0; i < 20; i++)
{
int bytesRead = ourStream.Read(data, 0, System.Convert.ToInt32(ourMagicClient.ReceiveBufferSize));
output += Encoding.ASCII.GetString(data, 0, bytesRead);
Console.WriteLine(output);
//Console.WriteLine(encoding.);
Console.WriteLine("\n");
offset = bytesRead;
}
System.IO.File.WriteAllText(@"C:\Users\qweik_000\Desktop\WriteText.txt", output, Encoding.UTF8);
Console.WriteLine("Press enter to close...");
Console.ReadLine();
}
catch (Exception e)
{
Console.WriteLine("Error : " + e.Message);
Console.WriteLine("Error : " + e.StackTrace);
Console.ReadLine();
}
运行时我在控制台应用中看到的内容:
答案 0 :(得分:0)
您可以在有效的ASCII范围内(即0x20到0x7f)查找字节的字符串(一行中的某些字节)并提取并显示这个&#34;可读文本&#34;作为一个开始...