J'ai essayé d'écrire un script qui reniflera les en-têtes HTTP. Jusqu'à présent, j'ai le socket lié au port 80 et les paquets semblent être reçus, mais je ne peux pas les obtenir en forme de chaîne. Tout ce qui sort est "E" en continu. J'ai changé les octets en hex plus tôt et il semble y avoir des données qui arrivent, mais le code actuel est incapable de changer les octets en une chaîne. Existe-t-il un autre moyen de décoder les octets qui donneront une chaîne correcte?C# Obtention de données par paquets
byte[] input = BitConverter.GetBytes(1);
byte[] buffer = new byte[4096];
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);
s.Bind(new IPEndPoint(IPAddress.Parse(strIP), 80));
s.IOControl(IOControlCode.ReceiveAll, input, null);
int bytes;
bytes = s.Receive(buffer);
while (bytes > 0)
{
log(System.Text.Encoding.ASCII.GetString(buffer, 0, bytes));
bytes = s.Receive(buffer);
}
'Comment' aurait été intéressant ... – C4u