많은 TCP 패킷으로 분할 된 큰 HTTP 패킷이있는 경우 어떻게 단일 HTTP 패킷으로 다시 구성 할 수 있습니까? 기본적으로 패킷에서 HTTP 패킷이 시작/끝나는 시점을 알려줍니다. HTTP 헤더의 시작 또는 끝을 나타내는 TCP 헤더의 플래그/필드를 볼 수 없습니다.HTTP 패킷 재구성
편집 : 후속 회신. TCP가 스트림을 관리하는 경우 스트림 시작 및 종료 시점을 어떻게 알 수 있습니까? 그것은 소켓 열기 및 닫기에 의해 결정됩니까? 어떤 프로토콜은 어떤 레벨에서 HTTP 스트림/패킷이 언제 시작되고 끝나는지를 알 수 있어야합니다. 그것이 내가 알고 싶은 것입니다.
내가 처한 상황은 TCP 패킷을 읽는 C#에서 패킷 스니퍼를 사용하고 있으며 HTTP 요청/응답 /을 재구성 할 수 있기를 바랍니다. wireshark 및 다양한 다른 스니퍼가 관리하는 방식과 같은 인터페이스를 통해 진행됩니다. 또는 더 높은 수준의 HTTP 스트림을 활용할 수있는 C# 라이브러리가있어서 HTTP 스트림/패킷을 직접 재구성하지 않아도됩니까?
감사합니다.
을, 너무 길이를 해결하는 다른 방법이있다. 예 : http://www.httpwatch.com/httpgallery/chunked/ – mike
조금 늦을 수도 있지만'Content-Length' 헤더는 총 패킷 길이를 지정하지 않습니다. 내용의 크기를 지정하기 만하므로 머리글 뒤에 오는 본문을 지정합니다. 머리글과 본문은'\ r \ n \ r \ n'으로 구분됩니다. –