HTTP 헤더를 스니핑하는 스크립트를 작성하려고했습니다. 지금까지 포트 80에 연결된 소켓을 가지고 있고 패킷이 수신 된 것으로 보이지만 문자열 형식으로 가져올 수는 없습니다. 모든 출력은 지속적으로 "E"입니다. 이전에 바이트를 16 진수로 변경했는데 일부 데이터가 들어오는 것처럼 보였지만 현재 코드는 바이트를 문자열로 변경할 수 없습니다. 적절한 문자열을 제공하는 바이트를 디코딩하는 다른 방법이 있습니까?C# 패킷 데이터 받기
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);
}
'어떻게'재미 있었 을까 ... – C4u